커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

아래 27466 답변좀 부탁합니다

..
프로필 이미지
상승가도
2012-12-12
279
글번호 57240
지표
답변완료

수식좀 만들어 주세요

if stime>090500 and crossup(c,var2) and c>o and stime < 143000 Then{ buy("b1"); } SetStopLoss(5,PercentStop); SetStopTrailing(10,3,PercentStop,1); 옵션거래용. 수수료 포함하여 수익이 발생하면 더이상 거래금지하는 수식 부탁합니다. 감사합니다..
프로필 이미지
bigdeal
2012-12-12
339
글번호 57237
시스템
답변완료

현재봉만의 거래량이 직전5일거래량을 돌파하는 종목검색식

몇분봉에 관계없이 당일 누적거래량이 아닌 현재봉만의 거래량이 직전(당일제외)5일거래량 평균을 골든크로스 할때의 종목검색식을 작성하려 합니다. 아래와 같이 작성했는데 현재봉만의 거래량을 5일평균거래량을 돌파하는게 아니라 당일 누적 거래량이 5일평균값을 돌파하네요. 적절한 수식수정을 부탁드리겠습니다. Value1=v; Value2 = (DayVolume(1)+DayVolume(2)+DayVolume(3)+DayVolume(4)+DayVolume(5))/5; find(crossup(value1,Value2));
프로필 이미지
회원
2012-12-12
545
글번호 57232
검색
답변완료

주식(현물) 호가올림 또는 내림

지표 또는 검색 수식작성시 주식(현물)에서 결과값(예를 들어 5일평균값이 1232.58)이 호가가 아닐경우 -호가올림(예 1235) -호가내림(예 1230)을 할 수 있는 수식을 부탁드립니다. 아래는 이트레이드 또는 키움용 수식의 예 입니다. (정확한 수식이 아닐수도 있습니다.) 호가올림 변수=(계산식); a=if(변수 < 1000, 변수, if(변수 < 5000&&변수%10 > 5, 변수 - (변수%10-5), if(변수 < 5000&&변수%10 < 5, 변수 - (변수%10), if(변수 < 10000,변수 - (변수%10), if(변수 < 5000&&변수%100 > 50, 변수 - (변수%100-50), if(변수 < 5000&&변수%100 < 50, 변수 - (변수%100), if(변수 <100000, 변수 - (변수%100), if(변수 <500000, 변수 - (변수%1000),변수)))))))) floor(a) 호가내림 변수 = Ceil(계산식); a= if(변수 < 1000, 변수, if(변수 < 5000 && 변수%10 > 5, 10-(변수%10)+변수, if(변수 < 5000 && 변수%10 >= 1 && 변수%10 < 5, 5-(변수%10)+변수, if(변수 < 10000 && 변수%10 >0, 변수 + (10 - (변수%10)), if(변수 < 50000 && 변수%100 >50, 100-(변수%100)+변수, if(변수 < 50000 && 변수%100 >= 1 && 변수%100 < 50, 50-(변수%100)+변수, if(변수 <100000 && 변수%100 > 0, 변수 + (100-(변수%100)), if(변수 <500000 && 변수%1000 > 500, 1000-(변수%1000)+변수, if(변수 <500000 && 변수%1000 >= 1 && 변수%1000 < 500, 500-(변수%1000)+변수, if(변수%1000 > 1, 1000-(변수%1000)+변수, 변수)))))))))) a
프로필 이미지
쥬
2012-12-12
537
글번호 57231
지표
답변완료

시스템식 문의드립니다.

매수는 진입한 봉의 반미만으로 떨어지면 손절, 매도는 진입한 봉의 반초과되면 손절할려고 합니다. exitshort와 exitlong 그리고 atlimit, atstop을 도움말에서 보고 했는데 뭔가 이상하게 되어서요... - AtLimit : 매수 포지션 주문(Buy, ExitShort)인 경우에는 지정한 신호가격 이하의 시세발생 시 매도 포지션 주문(Sell, ExitLong)인 경우에는 지정한 신호가격 이상의 시세발생 시 주문이 발생. - AtStop : 매수 포지션 주문(Buy, ExitShort)인 경우에는 지정한 신호가격 이상의 시세발생 시 매도 포지션 주문(Sell, ExitLong)인 경우에는 지정한 신호가격 이하의 시세발생 시 주문이 발생. 위와 같이 도움말에 적혀 있는데, exilong 도움말에 보면 '매수청산'이라고 나와 있습니다. 그런데 위의 도움말엔 매도포지션시에 지정한 가격이하 때 청산이라고 나와 있어서 도저히 이해가 안됩니다. 위에서 말씀드린 조건에 해당하는 시스템식 먼저 부탁드리고, 설명도 곁들여 주시면 감사하겠습니다.
프로필 이미지
꾸주니
2012-12-12
390
글번호 57229
시스템
답변완료

시스템식 문의 드립니다.

전일 고점 돌파시 매수 전일 저점 돌파시 매도 수식좀 부탁드릴께요.
프로필 이미지
회원
2012-12-12
345
글번호 57227
시스템
답변완료

문의드립니다.

IF DAYLOW[0] > DAYLOW[1] Then Buy("B",AtStop,DATA3(H[0] + PriceScale) ); ExitLong("S",AtStop,Data3(L[0] - PriceScale) ); 시스템식 연습삼아 간단히 작성해보았는데요.무엇이 잘못 됐는지 모르겠네요..ㅠ.ㅠ 매수할 당일 당시간의 저가가 전일의 저가 보다 높으며 참조데이타 3번을 60분봉으로 잡고 전봉의 고가 한틱 상승시 매수 전봉의 저가 한틱 하락시 매도식을 작성해 보았는데요. 두가지 문제점이 생깁니다. 1.60분봉의 마지막봉인 7번째봉의 종가봉 고가나 저가 한틱 돌파시 매수 및 매도 발생 7번째봉인 종가의 고가와 저가를 돌파를 다음날 시초가 첫봉이 돌파시 매수 및 매도가 발생합니다. 변수를 저장하는데 7번째봉인 종가 때문에 원하지 않는 저장이 발생하기도 하고요. 모든 수식에서 종가봉을 생략하고 싶은데 어떤식으로 작성 해야 하나요? 2.매수할 당일 당시의 저가가 전일보다 전일높고 전의 60분봉 고가 돌파시 매수, 저가 돌파시 매도하고 싶은데 매수할 당일 당시의 저가가 전일보다 높고 전봉의 고가 돌파를 했는데 매수신호가 발생하지 않거나 매수할 당일당시의 저가가 전일의 저가보다 낮은데도 매수신호가 발생하는 경우도 있더라구요. 시뮬레이터에서 ... 무엇이 잘못됐는지 답변 부탁드려요. 수고하세요^^
프로필 이미지
아싸가오리
2012-12-12
351
글번호 57226
시스템
답변완료

렌코 챠트로

원하는 식은 두번째 상승에서 사고 세번째 하락벽돌에서 판다 입니다 if 방향==상승 and 렌코[2] >= 저[0] then Buy(); if 방향==하락 and 렌코[3] <= 고[0] then Sell(); input: renko(1.45) if value2[1] +renko<=c and Value2[1]+renko2> C then value1=1; value2= h; if value2[1] + renko2<=c then value1=2; value2 = h; if value2[1]-renko >=c and value2[1]-renko2 < c then value1=-1; value2 = 1; if value2[1]-renko2 >=c then value1 =-2; value2= 1 ; if value1[1]>0 and value1<0 then sell MarketPosition; if value1[1]<0 and value1>0 then buy MarketPosition; end; 구동이 않되네요 그리고 맞는 식인지도 궁금하네요 앞에 다른 전문가가올려놓은 식이 더 믿음이 가는데 이역시 구동이 않되네요 수정 해줄 수 있나요 6 : input:단위호가(5),단기(5),중기(20); 7 : var:j(0),벽돌크기(0),벽돌개수(0),방향(0),단기이평(0),중기이평(0),단기가중이평(0),중기가중이평(0), 8 : 상승(1),하락(-1),Sum(0),CSum(0); 9 : array:고[10](0),저[10](0),렌코[500](0); 10 : 11 : if index == 0 then 12 : { 13 : 벽돌크기 = PriceScale * 0.05; 14 : 고[0] = C; 15 : 저[0] = C; 16 : 렌코[0] = C; 17 : } 18 : 19 : #==========================================# 20 : # 렌코 계산 21 : #==========================================# 22 : if 방향 == 0 then 23 : { 24 : if 저[0] - 벽돌크기 >= C then 25 : { 26 : 벽돌개수 = int((저[0]-C)/벽돌크기);로 27 : 저[0] = 저[0] - 벽돌크기 * 벽돌개수; 28 : 방향 = 하락; 29 : 30 : for j = 499 downto 벽돌개수 31 : { 32 : 렌코[j] = 렌코[j-벽돌개수]; 33 : } 34 : for j = 벽돌개수 - 1 downto 0 35 : { 36 : 렌코[j] = 렌코[j+1] - 벽돌크기; 37 : } 38 : } 39 : else if 고[0] + 벽돌크기 <= C then 40 : { 41 : 벽돌개수 = int((C-고[0])/벽돌크기); 42 : 고[0] = 고[0] + 벽돌크기 * 벽돌개수; 43 : 방향 = 상승; 44 : 45 : for j = 499 downto 벽돌개수 46 : { 47 : 렌코[j] = 렌코[j-벽돌개수]; 48 : } 49 : for j = 벽돌개수 - 1 downto 0 50 : { 51 : 렌코[j] = 렌코[j+1] + 벽돌크기; 52 : } 53 : } 54 : } 55 : else if 방향 == 하락 then 56 : { 57 : if 저[0] - 벽돌크기 >= C then 58 : { 59 : 벽돌개수 = int((저[0]-C)/벽돌크기); 60 : 저[0] = 저[0] - 벽돌크기 * 벽돌개수; 61 : 62 : for j = 499 downto 벽돌개수 63 : { 64 : 렌코[j] = 렌코[j-벽돌개수]; 65 : } 66 : for j = 벽돌개수 - 1 downto 0 67 : { 68 : 렌코[j] = 렌코[j+1] - 벽돌크기; 69 : } 70 : } 71 : if 저[0] + 2*벽돌크기 <= C then 72 : { 73 : for j = 8 downto 0 74 : { 75 : 고[j+1] = 고[j]; 76 : } 77 : 방향 = 상승; 78 : 벽돌개수 = int((C-저[0])/벽돌크기); 79 : 고[0] = 저[0] + 벽돌크기 * 벽돌개수; 80 : 81 : for j = 499 downto (벽돌개수-1) 82 : { 83 : 렌코[j] = 렌코[j-(벽돌개수-1)]; 84 : } 85 : 렌코[벽돌개수-2] = 렌코[벽돌개수-1] + 2*벽돌크기; 86 : if 벽돌개수 > 2 then 87 : { 88 : for j = 벽돌개수 - 3 downto 0 89 : { 90 : 렌코[j] = 렌코[j+1] + 벽돌크기; 91 : } 92 : } 93 : } 94 : } 95 : else if 방향 == 상승 then 96 : { 97 : if 고[0] + 벽돌크기 <= C then 98 : { 99 : 벽돌개수 = int((C-고[0])/벽돌크기); 100 : 고[0] = 고[0] + 벽돌크기 * 벽돌개수; 101 : 102 : for j = 499 downto 벽돌개수 103 : { 104 : 렌코[j] = 렌코[j-벽돌개수]; 105 : } 106 : for j = 벽돌개수 - 1 downto 0 107 : { 108 : 렌코[j] = 렌코[j+1] + 벽돌크기; 109 : } 110 : } 111 : if 고[0] - 2*벽돌크기 >= C then 112 : { 113 : for j = 8 downto 0 114 : { 115 : 저[j+1] = 저[j]; 116 : } 117 : 방향 = 하락; 118 : 벽돌개수 = int((고[0]-C)/벽돌크기); 119 : 저[0] = 고[0] - 벽돌크기 * 벽돌개수; 120 : 121 : for j = 499 downto (벽돌개수-1) 122 : { 123 : 렌코[j] = 렌코[j-(벽돌개수-1)]; 124 : } 125 : 렌코[벽돌개수-2] = 렌코[벽돌개수-1] - 2*벽돌크기; 126 : if 벽돌개수 > 2 then 127 : { 128 : for j = 벽돌개수 - 3 downto 0 129 : { 130 : 렌코[j] = 렌코[j+1] - 벽돌크기; 131 : } 132 : } 133 : } 134 : } 135 : 136 : #==========================================# 137 : # 렌코 (가중)이평계산 138 : #==========================================# 139 : Sum = 0; 140 : for j = 0 to (단기-1) 141 : { 142 : Sum = Sum + 렌코[j]; 143 : } 144 : 단기이평 = Sum / 단기; 145 : 146 : Sum = 0; 147 : for j = 0 to (중기-1) 148 : { 149 : Sum = Sum + 렌코[j]; 150 : } 151 : 중기이평 = Sum / 중기; 152 : 153 : Sum = 0; 154 : CSum = 0; 155 : for j = 0 to (단기-1) 156 : { 157 : Sum = Sum + 렌코[j] * (단기 - j); 158 : CSum = CSum + (단기 - j); 159 : } 160 : 단기가중이평 = Sum / CSum; 161 : 162 : Sum = 0; 163 : CSum = 0; 164 : for j = 0 to (중기-1) 165 : { 166 : Sum = Sum + 렌코[j] * (중기 - j); 167 : CSum = CSum + (중기 - j); 168 : } 169 : 중기가중이평 = Sum / CSum; 170 : 171 : #==========================================# 172 : # 지표식 출력 173 : #==========================================# 174 : if 방향[1]==하락 and 방향==상승 then 175 : plot1(저[0],"렌코차트",Blue); //선그래프 176 : if 방향[1]==상승 and 방향==하락 then 177 : plot1(고[0],"렌코차트",RED); //선그래프 178 : 179 : plot2(렌코[0],"렌코값",iff(방향==상승,RED,BLUE)); //선그래프 180 : 181 : plot3(단기가중이평); //선그래프 182 : plot4(중기가중이평); //선그래프 여기 Q&A 게시판에도 렌코차트 관련 질문이 다수 보이던데 그중 11740번 질문에 매매 아이디어가 있어 인용합니다. 3. 렌코차트에서 두번째 붉은벽돌이 출현하면 매수하고, 세번째 파란벽돌이 나타나면 매도하라는 시스템식을 부탁드립니다. 예전 수식으로는 이게 불가능했습니다만 위 수식을 이용하면 이런 매매 로직도 가능합니다. 두번째 붉을벽돌의 출현은 현재 추세가 상승중이고 두번째 이전의 값이 전저점(바닥)을 의미합니다. 단, 봉차트에서 구현하는 거라 상승폭이 크게 되면 전저점 값과 일치하지 않을 수 있습니다. 그래서 아래와 같이 등호가 아닌 부등호로 표현이 됩니다. if 방향==상승 and 렌코[2] >= 저[0] then Buy(); if 방향==하락 and 렌코[3] <= 고[0] then Sell();
프로필 이미지
구다이전설
2012-12-11
722
글번호 57225
시스템
답변완료

분봉에서 일봉의 고저차이 표현하기

분봉에서 일봉 봉의 크기(고가-저가)의 N일평균값을 표현하고 싶습니다. 전일까지 N일간의 선물일봉크기(고가-저가)평균을 당일에 표현하고 싶습니다. 제가 만든식은 머가 잘못인지.. 선차트에서 5분봉에서 5개의 봉이 만들어질 때까지 사선으로 나오네요. 제가 짠 수식은 Input : Period(5); Value1=HighD(1); Value2=LowD(1); Value3=Value1-Value2; Value4=Ma(Value3,period); Plot1(Value4,"진폭평균"); 지도편달 부탁드립니다.^^
프로필 이미지
오리만두
2012-12-11
410
글번호 57224
지표