커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

주노짜양 님에 의해서 삭제되었습니다.

프로필 이미지
주노짜양
2022-02-09
0
글번호 156159
검색
답변완료

문의

추가내용 b1 진입이 stoploss로 청산된 경우 b2가 진입한다 input : perk2(1.2),skew2(0.3),pcr2(107.5),weight2(17); if Tcond[1] == true and CrossDown(k,hh*(1-perk2/100)) and q > skew2 and z < pcr2 and t > weight2 Then Buy("b2"); 위 내용을 아래 수식에 추가하여 주십시요. ************************************************************************ input : StartTime(090000),EndTime(123000); input : perk1(1.2),skew1(0.3),pcr1(107.5),weight1(17); input : ls(0.26),tr(1.20),mi(2.00),bg(120); var : Tcond(false,Data1); var : sum1(0,Data1),sum2(0,Data1),sum3(0,Data1); var : a(0,Data1),b(0,Data1),k(0,Data1),j(0,Data1),q(0,Data1),t(0,Data1),x(0,Data1),y(0,Data1),z(0,Data1),hh(0,Data1),ll(0,Data1); var : a1(0,Data1),a2(0,Data1),a3(0,Data1),a4(0,Data1),a5(0,Data1),a6(0,Data1),a7(0,Data1); sum1 = data2(c) + data3(c); sum2 = data4(c) + data5(c); sum3 = data6(c) + data7(c); k = data3(c) + data5(c) + data7(c); j = (data2(c) + data3(c) + data4(c) + data5(c)+ data6(c) + data7(c))*1000; if Data1(Bdate != bdate[1]) Then { hh = k; ll = k; } Else { if k > hh Then hh = k; if k < ll Then ll = k; } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; a=sum1-sum3; b=sum1-sum2; q=a-b; a1 = 0; a2 = 0; a3 = 0; a4 = 0; a5 = 0; a6 = 0; a7 = 0; } if Tcond == true Then { a1 = a1 + Data1(OI); a2 = a2 + Data2(OI); a3 = a3 + Data3(OI); a4 = a4 + Data4(OI); a5 = a5 + Data5(OI); a6 = a6 + Data6(OI); a7 = a7 + Data7(OI); t = a1/j; x = a3+a5+a7; y = a2+a4+a6; z = x/y*100; if Data1(sdate) == Data1(sDate) and Data1(sdate) == Data2(sDate) and Data1(sdate) == Data3(sDate) and Data1(sdate) == Data4(sDate) and Data1(sdate) == Data5(sDate) and Data1(sdate) == Data6(sDate) and Data1(sdate) == Data7(sDate) Then { t = a1/j; x = a3+a5+a7; y = a2+a4+a6; } Else { t = 0; x = 0; y = 0; z = 0; } if Tcond[1] == true and CrossDown(k,hh*(1-perk1/100)) and q > skew1 and z < pcr1 and t > weight1 Then Buy("b1"); } SetStopLoss(ls,PercentStop); SetStopTrailing(tr,0,PercentStop,1); SetStopInactivity(mi,bg,PercentStop);
프로필 이미지
목마와숙녀
2022-02-09
1284
글번호 156158
시스템
답변완료

지표 문의드립니다

안녕하세요 지표 관련하여 몇가지 질문 드립니다 1. totaltrades totaltrades는 시스템 시작 시점부터 청산이 발생할때마다 +1씩 되는건가요? 시스템 시작시 0 매수(매도)진입시엔 변화 없음 매수(매도)청산시 방향성 관계없이 +1 ex) 시작 (0) => buy (0) => exitlong(1) => sell (1) => exitshort (2) / () 안은 totaltrades 값 이게 맞는지 확인 부탁드립니다 2. marketposition marketposition(1), (2), (3)이 어떤 기준으로 카운팅 되는건지 정확히 알고싶습니다 시작 => buy => exitlong => sell => exitshort인 상황이면 marketposition의 순번이 시작(4) => buy(3) => exitlong(2) => sell(1) => exitshort(0) 로 부여되어 / ()안은 marketposition 순번 marketposition(0) = 0 marketposition(1) = -1 marketposition(2) = 0 marketposition(3) = 1 marketposition(4) = 0 이렇게 되는건지 아니면 다른 방식으로 부여되는지 확인 부탁드립니다 감사합니다
프로필 이미지
jshwang2
2022-02-09
1215
글번호 156155
지표
답변완료

수식

안녕하세요 선물호가잔량숫자을 다른지표처럼 그려지게할수있는지요 틱차트사용합니다 감사합니다
프로필 이미지
질갱이
2022-02-09
1023
글번호 156152
지표
답변완료

문의드립니다

고생하십니다 input : period(20) , midperiod(20),d1(2); var : price(0); price = (C+H+L)/3; var1 = Ema(price,Period)+D1*std(price,Period); 주가가 5봉이네 볼린저밴드하단터치하고 위에식 돌파식은 어떻게 해야하는건지 알고싶습니다
프로필 이미지
비스코
2022-02-09
1118
글번호 156151
검색
답변완료

수식 수정부탁드립니다.

안녕하십니까 수식 수정 부탁드립니다. 아래는 작성하여 주신 수식 입니다. input : 금액(10000000),ntime(100000); var : 상한가(0), UpLimit(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0); input : P(20),진입횟수(3),BBP(20),dv(2); input : 진입시작1(91500),진입종료1(110000); input : 진입시작2(130000),진입종료2(153000); var : mav(0),entry(0),volma(0),Tcond(False),BBup(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; mav = ma(C,P); volma = ma(V,P); BBup = BollBandUp(BBP,dv); Tcond = (sTime >= 진입시작1 and sTime < 진입종료1) or (sTime >= 진입시작2 and sTime < 진입종료2); #오전 09:30~11:00, 오후 1:00~15:30분 사이만 매수 if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; up7 = int(UpLimit/1+0.00001)*1; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 Then { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } if MarketPosition == 0 and Tcond == true and entry < 진입횟수 and #당일진입은 3회까지 C > DayOpen and #일봉양봉 (mav > mav[1] and (TotalTrades == 0 or (TotalTrades > 0 and CountIf(mav<mav[1],BarsSinceExit(1)) >= 1))) and V >= volma[1]*1.50 Then #20거래량 평균 50%이상 거래량 발생 Buy("b"); if MarketPosition == 1 Then #if CrossDown(C,BBup) Then #볼밴상단 하향돌파 #ExitLong("bx2"); ExitLong("bx",AtLimit,상한가); SetStopLoss(3,PercentStop); SetStopEndofday(151500); 현재 매수 조건은 1. 일봉양봉 2. 20일 이평상승 3. 거래량 20거래량 평균 50% 이상 발생 시 매수 입니다. 수정 부탁 드릴 조건은 위 1~3번 조건이 발생 한 후 종가가 20일 이평을 하향 하였을때 매수로 변경 부탁드립니다,(3분 5분봉에 적용할예정입니다.) 첨부 이미지 보시면 현재는 1번에서 주문이 나가는데 2번에서 주문이 나갈수 있게 변경하고 싶습니다. 항상 건강하십시오. 감사합니다.
프로필 이미지
대한이
2022-02-09
1143
글번호 156150
시스템
답변완료

재문의드립니다

75860번 전일고가저가를 추가하였는데 고가저가크로스될때도 수평선이 나오게 부탁드립니다~~항상감사합니다
프로필 이미지
장군
2022-02-09
1226
글번호 156146
지표
답변완료

문의드립니다

수고하십니다 볼린저밴드하단선을 저가가 5봉이내 터치하고 20일선을 돌파하는 식을 알고싶습니다
프로필 이미지
비스코
2022-02-09
1147
글번호 156145
검색
답변완료

지표수식의뢰

1.기준봉 : N봉중 신고가(종가 20%이상) 2.당일 주가가 기준봉의 중심값(30%)을 돌파하는 종목의 - 검색수식 - 신호수식 - 지표수식 부탁드립니다. 수고하세요
프로필 이미지
심홍
2022-02-09
1192
글번호 156137
지표