커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
7689
글번호 230811
지표
답변완료

수식부탁드립니다.

data2에 개인옵션전체매수금액을 추가한후 장시작후 개인옵션전체매수금액 0이상이면 선물매도 개인옵션전체매수금액 0이하면 선물매수 장중 매도중인데 0이하가 되면 리버스 선물 매수 장중 매수중인데 0이상이 되면 리버스 선물 매도 장종료청산 이상입니다.
프로필 이미지
음냐음냐
2011-12-12
396
글번호 45702
시스템
답변완료

문의 드립니다.

마틴게일 방식으로 계약수 변경방법을 쓰는데 시스템 모니터 예비신호에서 AtMarket이나 OnClose 주문으로는 계약수가 몇계약이 진입하는지 표기가 안되는 것 같습니다. 자동주문이 아니고 수동주문을 넣으려 하닌까 문제가 되는데 계약수가 변경될때 시스템 모니터에 진입계약수를 표기하거나 알수 있는 방법이 없는지요?
프로필 이미지
무명
2011-12-12
374
글번호 45688
시스템
답변완료

안녕하세요 문의드립니다.

안녕하세요 문의드립니다. 제가 금일 질문드릴것은 2가지 입니다. 첫째로, 매수식과 매도식의 손절매과 최대수익대비 하락, 목표수익을 따로 지정할수 있나요? 지정할수있다면 시스템식으로 부탁드리겠습니다. 둘째로, 기존매수식은 현재 제가 -4P로 자동손절을 해놨는데, [매수식]에서 최대손실 -5 PT에서 자동스탑로스가 될수있도록 따로 또 알려주시면 감사합니다.
프로필 이미지
해피포인트
2011-12-12
384
글번호 45687
시스템
답변완료

문의드립니다

Input:상승률(0.12),하락률(0.12); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동;#Plot1(이중파동,"Zigzag",blue); var3 = -1; } Else{ var1 = 이중파동;#Plot1(이중파동,"Zigzag",red); var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = H; 기준고Bar = 10; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = L; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 0.1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else {var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 2; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > H Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else {var2 = 저[1];#plot1(저[1],"Zigzag",blue); var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < L Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = L; 기준저Bar = 0; 기준고 = H; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = H; 기준고Bar = 0; 기준저 = L; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1];#Plot1(고[1],"Zigzag",RED); var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1];#Plot1(저[1],"Zigzag",blue); var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot1(var2+(var1-var2)*0.1000); plot2(var2+(var1-var2)*0.2000); plot3(var2+(var1-var2)*0.3000); plot4(var2+(var1-var2)*0.4000); } if var3 == 1 Then{ plot1(var1-(var1-var2)*0.1000); plot2(var1-(var1-var2)*0.2000); plot3(var1-(var1-var2)*0.3000); plot4(var1-(var1-var2)*0.4000); } 위 식에서 현재값이 plot1을 넘었을 때 plot2의 선이 보이게 하고 현재값이 plot2을 넘었을 때 plot3의 선이 보이게 하고 plot4 항상 보이게 하는 수식을 문의드립니다 감사합니다
프로필 이미지
cjfdk
2011-12-12
439
글번호 45686
지표
답변완료

계산이 이상합니다

시스템트레이딩을 공부하고있는데 제가 계산한결과가 프로그램(우리선물_예스글로벌)으로 계산한결과와 불일치를 보여 어느 부분에서 오류가 발생하였는지 알고싶습니다.32회의 거래에서 실제 이익이 발생한거래는 단 두건 그것도 63틱과 13틱이렇게 나머지는 대부분 진입가격에 손절처리되거나 약간의 손실로 청산되는거래...그런데 프로그램은 수익거래가 19회나 발생하였다고 보여주고 수익률도 615%라는데 실제로 수수료와 손절을 계산하면 수익이 아니라 손실이 발생하였는데 프로그램은 수익이라고 알려줍니다.
프로필 이미지
windofch
2011-12-11
431
글번호 45685
시스템
답변완료

문의드립니다.

시가의 위치에따라(케이스1~6) 매수조건이 달라지며 매도와 손절조건은 동일합니다. 하나의 시스템파일에서 시가의 위치에따라서 매수가 이뤄지도록 부탁드려요.. 주석으로 수식 설명 부탁드립나다. ===== 케이스1 ===================== 일봉에서의 시가가 20 이평보다 높을경우(>) 분봉에서 macd가 0선이하 또는 볼린져밴드 하단선 아래잇을때 매수1] 분봉에서 현재봉의 종가가 일봉의 20이평과의 이격이 0.5%이내이면서 일봉의 20이평을 터치한경우 또는 분봉의 현재가가 일봉의 20이평보다 낮을&#46468; 매수2] 분봉에서 현재봉의 종가가 일봉의 21이평과의 이격이 0.5%이내이면서 일봉의 21이평을 터치한경우 또는 분봉의 현재가가 일봉의 21이평보다 낮을&#46468; 매수3] 분봉에서 현재봉의 종가가 일봉의 22이평과의 이격이 0.5%이내이면서 일봉의 22이평을 터치한경우 또는 분봉의 현재가가 일봉의 22이평보다 낮을&#46468; 매수4] 분봉에서 현재봉의 종가가 일봉의 24이평과의 이격이 0.5%이내이면서 일봉의 24이평을 터치한경우 또는 분봉의 현재가가 일봉의 24이평보다 낮을&#46468; 매수5] 분봉에서 현재봉의 종가가 일봉의 26이평과의 이격이 0.5%이내이면서 일봉의 26이평을 터치한경우 또는 분봉의 현재가가 일봉의 26이평보다 낮을&#46468; 매수6] 분봉에서 현재봉의 종가가 일봉의 27이평과의 이격이 0.5%이내이면서 일봉의 27이평을 터치한경우 또는 분봉의 현재가가 일봉의 27이평보다 낮을&#46468; 주의) *매수는 매도 이전에 최대 4번만 매수 하게 해주세요. *1차매수한 후 당일 1차매수와 동일조건이 다시 발생하더라도 매수금지 2차매수 조건(매수한곳 아래 위치한 일봉이평선 매수조건)이 발생했을때 2차매수가 되도록해주세요.(2~6차매수도 마찬가지입니다.) *급락이나,이평혼조로(역배열) 1.2차 /2.3차/1.2.3/ 2.3.4차 등.... 매수조건이 한봉에 겹치는경우는 한봉에 겹친 이평 중 가장 낮게 위치한 일봉 이평조건에서 한번만 매수되어야하고 다음 매수는 이전매수된 일봉이평보다 아래위치한 일봉이평선의 매수조건을 만족하였을때 매수해야합니다. *만약 1차(또는 2차까지)매수후 다음날로 넘어가는경우 다음날 매수 조건(당일 시가의위치)에따라 매수가 되수가 되야함 매도] 1.매수가보다 3%이상상승시 macd가 0선이하이면 2.매수후 수익이 5%이상이면서 macd가 0선을 상향 돌파하는경우 3.매수후 수익이 3%미만이면서 macd가 0선을 하향돌파할&#46468; 주의) *매도한 그날은 매수조건에 맞아도 매수하지 않게 부탁합니다. 손절] 1.매수한 평단가보다 +2%이상 수익후 -5%이상 수익 전환시 2.매수평단가보다 10%하락시 ===== 케이스2 ===================== 일봉에서의 시가가 20일선 아래(<=) 21일선위에(>) 위치한경우 분봉에서 macd가 0선이하 또는 볼린져밴드 하단선 아래잇을때 매수1] 분봉에서 현재봉의 종가가 일봉의 21이평과의 이격이 0.5%이내이면서 일봉의 21이평을 터치한경우 또는 분봉의 현재가가 일봉의 21이평보다 낮을&#46468; 매수2] 분봉에서 현재봉의 종가가 일봉의 22이평과의 이격이 0.5%이내이면서 일봉의 22이평을 터치한경우 또는 분봉의 현재가가 일봉의 22이평보다 낮을&#46468; 매수3] 분봉에서 현재봉의 종가가 일봉의 24이평과의 이격이 0.5%이내이면서 일봉의 24이평을 터치한경우 또는 분봉의 현재가가 일봉의 24이평보다 낮을&#46468; 매수4] 분봉에서 현재봉의 종가가 일봉의 26이평과의 이격이 0.5%이내이면서 일봉의 26이평을 터치한경우 또는 분봉의 현재가가 일봉의 26이평보다 낮을&#46468; 매수5] 분봉에서 현재봉의 종가가 일봉의 27이평과의 이격이 0.5%이내이면서 일봉의 27이평을 터치한경우 또는 분봉의 현재가가 일봉의 27이평보다 낮을&#46468; 매도], 손절],주의) 동일 ===== 케이스3 ===================== 일봉에서의 시가가 21일선 아래(<=) 22일선위에(>) 위치한경우 분봉에서 macd가 0선이하 또는 볼린져밴드 하단선 아래잇을때 매수1] 분봉에서 현재봉의 종가가 일봉의 22이평과의 이격이 0.5%이내이면서 일봉의 22이평을 터치한경우 또는 분봉의 현재가가 일봉의 22이평보다 낮을&#46468; 매수2] 분봉에서 현재봉의 종가가 일봉의 24이평과의 이격이 0.5%이내이면서 일봉의 24이평을 터치한경우 또는 분봉의 현재가가 일봉의 24이평보다 낮을&#46468; 매수3] 분봉에서 현재봉의 종가가 일봉의 26이평과의 이격이 0.5%이내이면서 일봉의 26이평을 터치한경우 또는 분봉의 현재가가 일봉의 26이평보다 낮을&#46468; 매수4] 분봉에서 현재봉의 종가가 일봉의 27이평과의 이격이 0.5%이내이면서 일봉의 27이평을 터치한경우 또는 분봉의 현재가가 일봉의 27이평보다 낮을&#46468; 매도], 손절],주의) 동일 ===== 케이스4 ===================== 일봉에서의 시가가 22일선 아래(<=) 24일선위에(>) 위치한경우 분봉에서 macd가 0선이하 또는 볼린져밴드 하단선 아래잇을때 매수1] 분봉에서 현재봉의 종가가 일봉의 24이평과의 이격이 0.5%이내이면서 일봉의 24이평을 터치한경우 또는 분봉의 현재가가 일봉의 24이평보다 낮을&#46468; 매수2] 분봉에서 현재봉의 종가가 일봉의 26이평과의 이격이 0.5%이내이면서 일봉의 26이평을 터치한경우 또는 분봉의 현재가가 일봉의 26이평보다 낮을&#46468; 매수3] 분봉에서 현재봉의 종가가 일봉의 27이평과의 이격이 0.5%이내이면서 일봉의 27이평을 터치한경우 또는 분봉의 현재가가 일봉의 27이평보다 낮을&#46468; 매도], 손절],주의) 동일 ===== 케이스5 ===================== 일봉에서의 시가가 24일선 아래(<=) 26일선위에(>) 위치한경우 분봉에서 macd가 0선이하 또는 볼린져밴드 하단선 아래잇을때 매수1] 분봉에서 현재봉의 종가가 일봉의 26이평과의 이격이 0.5%이내이면서 일봉의 26이평을 터치한경우 또는 분봉의 현재가가 일봉의 26이평보다 낮을&#46468; 매수2] 분봉에서 현재봉의 종가가 일봉의 27이평과의 이격이 0.5%이내이면서 일봉의 27이평을 터치한경우 또는 분봉의 현재가가 일봉의 27이평보다 낮을&#46468; 매도], 손절],주의) 동일 ===== 케이스6 ===================== 일봉에서의 시가가 26일선 아래(<=) 위치한경우 분봉에서 macd가 0선이하 또는 볼린져밴드 하단선 아래잇을때 매수1] 분봉에서 현재봉의 종가가 일봉의 27이평과의 이격이 0.5%이내이면서 일봉의 27이평을 터치한경우 또는 분봉의 현재가가 일봉의 27이평보다 낮을&#46468; 매도], 손절],주의) 동일
프로필 이미지
쭈니오빠
2011-12-12
473
글번호 45684
시스템
답변완료

선물 지수 라인 지표식

항상 신속하고 친절하게 답변 주셔서 감사합니다. 오늘 요청 드리는 지표식은 선물지수가 예를들면 123.45 라고 하면 이를 ABC.DE 라고 할때 앞쪽의 A(1)와 B(2)를 무시하고 즉 백단위와 십단위를 무시하고 C.DE 가 5.55 인 선 C.DE 가 8.88 인 선 C.DE 가 1.15 인 선 등의 선지표를 구하고 싶습니다. 부탁드립니다.
프로필 이미지
오배케이
2011-12-11
396
글번호 45683
지표

루루 님에 의해서 삭제되었습니다.

프로필 이미지
루루
2011-12-11
17
글번호 45682
지표
답변완료

수정요~~

수고하십니다.. ########################### input : p(20); var : sum(0),mav(0),cnt(0); sum = 0; for cnt = 0 to P-1{ sum = sum+max(abs(dayhigh(cnt+1)-DayLow(cnt+1)),abs(DayClose(cnt+2)-DayHigh(cnt+1)),abs(DayClose(cnt+2)-DayLow(cnt+1))); } mav = sum/P; ##if CurrentDate == sdate then{ ##plot1(DayClose(1) - mav); ##plot2(DayClose(1) + mav); plot3(DayHigh-mav); plot4(DayLow+mav); ##} #################################### 위식을 월봉에 적용시켜 수정 부탁드립니다... 1. 전월 고가와 저가, 2개월전 월종가와 전월 고가, 2개월전 종가와 전월저가 세가지중 가장 큰값의 20개월 평균값 2. 이 평균값을 일봉 챠트에서 당월 고가에서 아래로 평균값만큼 이격시켜서 라인으로 표시하고 당월 저가에서 위로 평균값 만큼 이격시켜서 라인으로 표시하기.. 3. 분봉 표시가 가능한가요.. 고가 저가가 바뀌면 지수가 변할때마다 움직여야하는데~~ 부탁드립니다
프로필 이미지
공기단축
2011-12-11
346
글번호 45681
지표