커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

종목 검색식

안녕하세요. 조건식을 구하고 있는데요. 금액은 1000원이상이고, 거래량은 9만이상이면서, 주봉상 5일선이 턴하면서, 일봉상 9일선 또는 20일선이 턴하는 종목을 찾는 식. 감사합니다.
프로필 이미지
들장미
2012-02-02
505
글번호 47308
검색
답변완료

data문의

DATA관련 문의 입니다.. 보통 1분봉이나 5분봉으로 보면.. 15시 5분봉은 없는데요.. 4분시작 5분끝이니 없는게 정상이라고 생각됩니다.. 그런데 2008년 10월 15일에는 15시 5분에 봉이 있습니다.. 그날 거래가 이상한것인지 아니면 data가 잘못된것인지요?
프로필 이미지
회원
2012-02-02
468
글번호 47307
시스템
답변완료

수정부탁드립니다------------

var:TEMA71(0),TEMA81(0),Ep(0),T1(0),T2(0),T3(0),TEMA82(0); Input:이평(4),시작봉(3),허용치(10),변동폭(13),length1(200),높이조절(0.2); input : N(10); Input:추2(1),추4(1.01),추10(0.8),추20(0.5),추26(0.23),추30(0.2),추35(0.2),추45(0.2),추55(0.2),추65(0.2),추75(0.2),추90(0.2); Var:단기봉기간(5),장기봉기간(7); Var:당일손익(200000); var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0); #당일누적손익계산 시작 XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 PLR = 0; count = 0; for var1 = 1 to 20{ if sdate == EntryDate(var1) Then{ count = count+1; PLR = PLR+PositionProfit(var1); } } if MarketPosition() == 0 Then{ OpenPL = 0; dayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)); dayPL = PLR+OpenPL; } //당일누적손익계산 끝 //최고저테마값 시작********************************************* if dayindex+1 < 단기봉기간 Then{ var71 = DayHigh; var72 = DayLow; } Else{ var71 = highest(H,단기봉기간); var72 = Lowest(L,단기봉기간); } value71 = (var71 - var72)/2+var72; if dayindex+1 < 장기봉기간 Then{ var81 = DayHigh; var82 = DayLow; } Else{ var81 = highest(H,장기봉기간); var82 = Lowest(L,장기봉기간); } value81 = (var81 - var82)/2+var82; TEMA71 = (3 * Ema(value71,LENGTH1)) - (3 * Ema(Ema(value71,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(value71,LENGTH1),LENGTH1),LENGTH1)); Ep = 2/(LENGTH1+1); if dayindex == 0 Then T1 = value81; Else T1 = value81*EP + T1[1] * (1-EP); if dayindex <= 1 Then T2 = T1; Else T2 = T1*EP + T2[1] * (1-EP); if dayindex <= 2 Then T3 = T2; Else T3 = T2*EP + T3[1] * (1-EP); TEMA82 = (3 * T1) - (3 * T2) + (T3); //최고저테마값 끝********************************************* if date != date[1] Then Condition1 = false; //진입라인설정시작--------------------------------------------------- if DayIndex+1== 시작봉+1 Then{ if C > dayopen Then var65 = o-PriceScale*허용치; if C < dayopen Then var65 = o+PriceScale*허용치; } if dayindex+1 == 시작봉+1 Then var66 = O; if highest(H,N)-lowest(L,N) <= C*(n*35/100/100) Then{ Condition1 = true; var1 = highest(H,N); var2 = lowest(L,N); } if Condition1 == False Then{ value1 = max(var65,var66); value2 = min(var65,var66); } if Condition1 == true Then{ value1 = var1; value2 = var2; } //진입라인설정시작--------------------------------------------------- value3 = ma(c,이평); //value3 = TEMA82; value6 = (당일손익/BigPointValue); //---------진입식-------------------------------- if dayindex+1 >= 시작봉+1 and dayPL < value6 and stime < 150000 and count<1 Then{ if c <= value1 and value3[1] < value3-0.02 Then buy("초b",AtStop,Value1-0.01); if c >= value2 and value3[1] > value3+0.02 Then sell("초s",AtStop,Value2+0.01); } if dayindex+1 >= 시작봉+1 and dayPL < value6 and stime < 150000 and count<1 Then{ if c <= value1 and value3[1] < value3 Then buy("초b1",AtStop,Value1); if c >= value2 and value3[1] > value3 Then sell("초s1",AtStop,Value2); } if dayindex+1 >= 시작봉+1 and dayPL < value6 and count>0 and stime < 150000 Then{ if c <= value1 and value3[1] < value3+0.000 Then buy("매수",AtStop,Value1); if c >= value2 and value3[1] > value3-0.000 Then sell("매도",AtStop,Value2); } //---------진입식끝-------------------------------- SetStopLoss(PriceScale*10,PointStop); if MarketPosition == 1 Then{ value4 = highest(H,BarsSinceEntry); if value4 >= EntryPrice+PriceScale*2 and value4 < EntryPrice+PriceScale*5 Then exitlong("b추2",AtStop,value4-(value4-EntryPrice)*추2); if value4 >= EntryPrice+PriceScale*4 and value4 < EntryPrice+PriceScale*10 Then exitlong("b추4",AtStop,value4-(value4-EntryPrice)*추4); if value4 >= EntryPrice+PriceScale*10 and value4 < EntryPrice+PriceScale*20 Then exitlong("b추10",AtStop,value4-(value4-EntryPrice)*추10); if value4 >= EntryPrice+PriceScale*20 and value4 < EntryPrice+PriceScale*26 Then exitlong("b추20",AtStop,value4-(value4-EntryPrice)*추20); if value4 >= EntryPrice+PriceScale*26 and value4 < EntryPrice+PriceScale*31 Then exitlong("b추26",AtStop,value4-(value4-EntryPrice)*추26); if value4 >= EntryPrice+PriceScale*30 and value4 < EntryPrice+PriceScale*36 Then exitlong("b추30",AtStop,value4-(value4-EntryPrice)*추30); if value4 >= EntryPrice+PriceScale*35 and value4 < EntryPrice+PriceScale*46 Then exitlong("b추35",AtStop,value4-(value4-EntryPrice)*추35); if value4 >= EntryPrice+PriceScale*45 and value4 < EntryPrice+PriceScale*56 Then exitlong("b추45",AtStop,value4-(value4-EntryPrice)*추45); if value4 >= EntryPrice+PriceScale*55 and value4 < EntryPrice+PriceScale*66 Then exitlong("b추55",AtStop,value4-(value4-EntryPrice)*추55); if value4 >= EntryPrice+PriceScale*65 and value4 < EntryPrice+PriceScale*76 Then exitlong("b추65",AtStop,value4-(value4-EntryPrice)*추65); if value4 >= EntryPrice+PriceScale*75 and value4 < EntryPrice+PriceScale*91 Then exitlong("b추75",AtStop,value4-(value4-EntryPrice)*추75); if value4 >= EntryPrice+PriceScale*90 Then exitlong("b추90",AtStop,value4-(value4-EntryPrice)*추90); } if MarketPosition == -1 Then{ value5 = Lowest(L,BarsSinceEntry); if value5 <= EntryPrice-PriceScale*2 and value5 > EntryPrice-PriceScale*5 Then ExitShort("s추2",AtStop,value5+(entryprice-value5)*추2); if value5 <= EntryPrice-PriceScale*4 and value5 > EntryPrice-PriceScale*10 Then ExitShort("s추4",AtStop,value5+(entryprice-value5)*추4); if value5 <= EntryPrice-PriceScale*10 and value5 > EntryPrice-PriceScale*20 Then ExitShort("s추10",AtStop,value5+(entryprice-value5)*추10); if value5 <= EntryPrice-PriceScale*20 and value5 > EntryPrice-PriceScale*27 Then ExitShort("s추20",AtStop,value5+(entryprice-value5)*추20); if value5 <= EntryPrice-PriceScale*26 and value5 > EntryPrice-PriceScale*31 Then ExitShort("s추26",AtStop,value5+(entryprice-value5)*추26); if value5 <= EntryPrice-PriceScale*30 and value5 > EntryPrice-PriceScale*36 Then ExitShort("s추30",AtStop,value5+(entryprice-value5)*추30); if value5 <= EntryPrice-PriceScale*35 and value5 > EntryPrice-PriceScale*46 Then ExitShort("s추35",AtStop,value5+(entryprice-value5)*추35); if value5 <= EntryPrice-PriceScale*45 and value5 > EntryPrice-PriceScale*56 Then ExitShort("s추45",AtStop,value5+(entryprice-value5)*추45); if value5 <= EntryPrice-PriceScale*55 and value5 > EntryPrice-PriceScale*66 Then ExitShort("s추55",AtStop,value5+(entryprice-value5)*추55); if value5 <= EntryPrice-PriceScale*65 and value5 > EntryPrice-PriceScale*76 Then ExitShort("s추65",AtStop,value5+(entryprice-value5)*추65); if value5 <= EntryPrice-PriceScale*75 and value5 > EntryPrice-PriceScale*91 Then ExitShort("s추75",AtStop,value5+(entryprice-value5)*추75); if value5 <= EntryPrice-PriceScale*90 Then ExitShort("s추90",AtStop,value5+(entryprice-value5)*추90); } if MarketPosition == 1 Then{ ExitLong("bxx",AtStop,EntryPrice+(-(value6)-(PLR))); } if MarketPosition == -1 Then{ ExitShort("sxx",AtStop,EntryPrice+((value6)+(PLR))); } //시간청산------------------------------------------------------------ var91 = int(date/100)-int(date/10000)*100; //월 var92 = date - int(date/100)*100; //일 var93 = DayOfWeek(date); //요일 if var91%3 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then { SetStopEndofday(144800); } else { SetStopEndofday(150100); } ------------------------------------------------------------- 수고하십니다 2가지부탁드립니다 1)장중진입라인 생성시까지 진입금지 2)아래 지표식의 높이조절대로 위시스템식에 적용해주세요 ---------------높이조절 지표식--------------------- Input:단기봉기간(5),장기봉기간(7),높이조절(0.2); var:TEMA71(0),TEMA81(0),Ep(0),T1(0),T2(0),T3(0),TEMA82(0); Input:시작봉(3),허용치(10),변동폭(13),length1(200); input : N(10); //최고저테마값 시작********************************************* if dayindex+1 < 단기봉기간 Then{ var71 = DayHigh; var72 = DayLow; } Else{ var71 = highest(H,단기봉기간); var72 = Lowest(L,단기봉기간); } value71 = (var71 - var72)/2+var72; if dayindex+1 < 장기봉기간 Then{ var81 = DayHigh; var82 = DayLow; } Else{ var81 = highest(H,장기봉기간); var82 = Lowest(L,장기봉기간); } value81 = (var81 - var82)/2+var82; TEMA71 = (3 * Ema(value71,LENGTH1)) - (3 * Ema(Ema(value71,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(value71,LENGTH1),LENGTH1),LENGTH1)); Ep = 2/(LENGTH1+1); if dayindex == 0 Then T1 = value81; Else T1 = value81*EP + T1[1] * (1-EP); if dayindex <= 1 Then T2 = T1; Else T2 = T1*EP + T2[1] * (1-EP); if dayindex <= 2 Then T3 = T2; Else T3 = T2*EP + T3[1] * (1-EP); TEMA82 = (3 * T1) - (3 * T2) + (T3); plot3(TEMA82); //최고저테마값 끝********************************************* if date != date[1] Then Condition1 = false; //아침진입라인 끝 //장중진입라인 시작 if highest(H,N)-lowest(L,N) <= C*(변동폭/10000) Then{ Condition1 = true; var1 = highest(H,N); var2 = lowest(L,N); } //--------높이조절------------ if Condition1 == true Then{ if TEMA82 > TEMA82[1] Then{ plot1(var1-높이조절); plot2(var2-높이조절); } Else{ plot1(var1+높이조절); plot2(var2+높이조절); } }
프로필 이미지
leekss1
2012-02-03
479
글번호 47306
시스템
답변완료

문의드립니다

var : HO(0), LO(0), WO(0), W(0) ; if date <> date[1] Then { HO = H; LO = L; WO = H-L; } if WO >= 1.0 Then W = WO/2; Else W = WO; Plot1(HO); Plot2(LO); Plot3((HO+LO)/2); 1분봉에 5분봉의 위의지표값을 나타내려고 합니다
프로필 이미지
꿈따라
2012-02-02
465
글번호 47305
지표
답변완료

barssinceexit 함수에 대해서 질문

청산된 봉에서 진입신호가 나와서 원하던 지정가에서 못 들어가는 경우를 개선해보고자 찾아보다가 혹시 barssinceexit 함수를 써보면 어떨까 해서 그러는데요. 원래는 진입문의 주문방식이 atstop 방식인것을 바로전 청산봉과 그전 봉 완성에서 진입조건이 성립해서 다음봉에서 지정가에 다다르면 진입하게 되어있는지라 청산된 봉과 진입봉이 같고 x틱 이상 차이나면 atstop에 의한 진입을 보류하고 atlimit으로 진입주문을 하게 하려 합니다. 혹시 저 함수 사용해서 가능한가 해서 질문드려봅니다. 항상 친절한 답변 감사드립니다. 좋은 하루 되시고 수고하세요.^^
프로필 이미지
개냥이
2012-02-02
556
글번호 47304
시스템
답변완료

문의요~~

수고하십니다. 첨부한 챠트처럼 일봉 챠트에서 당월 종가를 당월중에는 수평선 선긋기가 불가능하면 당월마감한 다음에 해당월 종가를 직접 입력해서라도 당월종가를 당월챠트에 수평선긋기 하는 공식좀 꼭 부탁드립니다. 수작업으로 매월 입력하더라도 1,2,3,4,5~12월~~ 연속해서 가능한 공식 부탁드립니다.
프로필 이미지
공기단축
2012-02-06
533
글번호 47303
지표
답변완료

가중이평크로스수식부탁드립니다

가중이평 5분선이 20분선을 돌파시 매수 이탈시 매도 수식 부탁드립니다. 수고하세요^^감사합니다.
프로필 이미지
림경이랑
2012-02-02
494
글번호 47302
시스템
답변완료

수정해주세요--------------

Input:단기봉기간(5),장기봉기간(7),높이조절(0.2); var:TEMA71(0),TEMA81(0),Ep(0),T1(0),T2(0),T3(0),TEMA82(0); Input:시작봉(3),허용치(10),변동폭(13),length1(200); input : N(10); //최고저테마값 시작********************************************* if dayindex+1 < 단기봉기간 Then{ var71 = DayHigh; var72 = DayLow; } Else{ var71 = highest(H,단기봉기간); var72 = Lowest(L,단기봉기간); } value71 = (var71 - var72)/2+var72; if dayindex+1 < 장기봉기간 Then{ var81 = DayHigh; var82 = DayLow; } Else{ var81 = highest(H,장기봉기간); var82 = Lowest(L,장기봉기간); } value81 = (var81 - var82)/2+var82; TEMA71 = (3 * Ema(value71,LENGTH1)) - (3 * Ema(Ema(value71,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(value71,LENGTH1),LENGTH1),LENGTH1)); Ep = 2/(LENGTH1+1); if dayindex == 0 Then T1 = value81; Else T1 = value81*EP + T1[1] * (1-EP); if dayindex <= 1 Then T2 = T1; Else T2 = T1*EP + T2[1] * (1-EP); if dayindex <= 2 Then T3 = T2; Else T3 = T2*EP + T3[1] * (1-EP); TEMA82 = (3 * T1) - (3 * T2) + (T3); plot3(TEMA82); //최고저테마값 끝********************************************* if date != date[1] Then Condition1 = false; //아침진입라인 끝 //장중진입라인 시작 if highest(H,N)-lowest(L,N) <= C*(변동폭/10000) Then{ Condition1 = true; var1 = highest(H,N); var2 = lowest(L,N); } /*//--------높이조절------------ if Condition1 == true Then{ if TEMA82[1] < TEMA82 then { var1= var1-높이조절; var2= var2-높이조절; } } if Condition1 == true Then{ if TEMA82[1] > TEMA82 then { var1= var1+높이조절; var2= var2+높이조절; } } */ //--------높이조절------------ if Condition1 == true Then{ plot1(var1); plot2(var2); } //장중진입라인 &#44561; 위식에서 높이조절을 하려하는데 즉, TEMA82 가 상승중이면 var1,var2 를 0.2pt 내려서 지표를그리고 TEMA82 가 하락중이면 var1,var2 를 0.2pt 올려서 지표를 그려주세요 제가했는데 잘안되네요
프로필 이미지
leekss1
2012-02-02
487
글번호 47298
지표
답변완료

검색식

안녕하세요. 주봉이 상승이면서, 일봉상 5일선 근처에 있는 종목을 검색식을 알고 싶습니다. 감사합니다. 새해 복많이 받으세요.
프로필 이미지
들장미
2012-02-02
444
글번호 47295
검색