커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 검증 바랍니다

알려주신 수식으로 작성하고, Var만 숫자를 바꿔서 적용하고 60-240 Cross에서 20선이 변곡시 진입해서, 60선이 5파 변곡에서 청산을 5선이 5파변곡에서 청산으로 수정을 했습니다. 1. 신호가 중간중간 나타나기 않네요..검증 부탁합니다 2. 매수 사인을 추가로 하고 싶으면 청산에 넣었던것처럼 중괄로로 하고 똑같이 묶어주면 되는걸까요? var : Period1(3),Period2(10),Period3(30),Period4(120),U(0),K(0),W(0),N(0),X(0),Y(0),Z(0); var26 = ema(Ema(Ema(c,period1),period1),period1); //5선 var27 = ema(Ema(Ema(c,period2),period2),period2); //20선 Var28 = ema(Ema(Ema(c,period3),period3),period3); //60선 Var29 = ema(Ema(Ema(c,period4),period4),period4); //240선 if CrossUp(Var26,Var27) Then U = 1; //5-20 cross if CrossDown(Var26,Var27) Then U = -1; if CrossUp(Var27,Var28) Then K = 1; //20-60 cross if CrossDown(Var27,Var28) Then K = -1; if CrossUp(Var28,Var29) Then W = 1; //60-240 cross if CrossDown(Var28,Var29) Then W = -1; if CrossUp(Var26,Var28) Then N = 1; //5-60 cross if CrossDown(Var26,Var28) Then N = -1; if Var26 > var26[1] Then X = 1; if Var26 < var26[1] Then X = -1; if Var27 > var27[1] Then // U : 5-20 Cross X : 5선 Y = 1; // K : 20-60 Cross Y : 20선 if Var27 < var27[1] Then // W : 60-240 cross Z : 60선 Y = -1; // N : 5-60 cross if Var28 > var28[1] Then Z = 1; if Var28 < var28[1] Then Z = -1; If MarketPosition <= 0 and W == 1 and C > O and Y == 1 and Y != Y[1] Then Buy("콜"); if MarketPosition == 1 Then { if U == 1 and CountIf(U == -1,BarsSinceEntry) == 0 and X == -1 and X != X[1] and CountIf(X == -1 and X != X[1],BarsSinceEntry) == 3 Then ExitLong("콜청산"); if Y == -1 and C < O and (C+O) <= var27 Then ExitLong("콜정산"); } if MarketPosition >= 0 and W == -1 and C < O and Y == -1 and Y != Y[1] Then Sell("풋"); if MarketPosition == -1 Then { if U == -1 and CountIf(U == 1,BarsSinceEntry) == 0 and X == 1 and X != X[1] and CountIf(X == 1 and X != X[1],BarsSinceEntry) == 3 Then ExitShort("풋청산"); if Y == 1 and C > O and (C+O)/2 >= Var27 Then ExitShort("풋정산"); } SetStopEndofday(153000); 안녕하세요 예스스탁입니다. var : X(0),Y(0),Z(0); var1 = ma(C,20); var2 = ma(C,60); Var3 = ma(C,240); if CrossUp(Var2,Var3) Then X = 1; if CrossDown(Var2,Var3) Then X = -1; if Var1 > var1[1] Then Y = 1; if Var1 < var1[1] Then Y = -1; if Var2 > var2[1] Then Z = 1; if Var2 < var2[1] Then Z = -1; if MarketPosition <= 0 and X == 1 and C > O and Y == 1 and Y != Y[1] Then Buy(); if MarketPosition == 1 Then { if X == 1 and CountIf(X== -1,BarsSinceEntry) == 0 and Z == -1 and Z != Z[1] and CountIf(Z == -1 and Z != Z[1],BarsSinceEntry) == 3 Then ExitLong(); if var1 < Var2 and Y == -1 and Y != Y[1] Then ExitLong(); } if MarketPosition >= 0 and X == -1 and C < O and Y == -1 and Y != Y[1] Then Sell(); if MarketPosition == -1 Then { if X == -1 and CountIf(X== 1,BarsSinceEntry) == 0 and Z == 1 and Z != Z[1] and CountIf(Z == 1 and Z != Z[1],BarsSinceEntry) == 3 Then ExitShort(); if var1 > Var2 and Y == 1 and Y != Y[1] Then ExitShort(); } SetStopEndofday(153000); 즐거운 하루되세요 > 중추신경 님이 쓴 글입니다. > 제목 : 시스템식 문의 > 매수조건 : 장시작이후, 장마감이전 60선과 240선이 정배열이 된 직후로부터 20선의 기울기가 음에서 양으로 바뀌는 양봉에서 진입 (60과 240이 정배열이 됐더라도 20선이 변곡없이 그대로 양으로 상승이라면 진입하지 않고, 기다렸다가 반드시 기울기가 음에서 양으로 바뀌면 진입) 매수청산 : 장마감 or 60과 240선이 정배열된 이후 60선이 5파에서 기울기가 음으로 바뀌는 음봉 (즉, 정배열이후 60선의 기울기가 음으로 바뀌는 3번째 지점) or 60선 아래에서 20선이 기울기가 양에서 음으로 바뀌는 음봉에서 (반드시, 60선 아래에서 20선이 60선과 Cross가 난이후 20선이 양에서 음으로 바뀌는 음봉에서) 매도 조건이 매수와 반대입니다. 중요포인트는 60과 240이 Cross난 이후, 20선의 기울이가 변곡이 나오는구간입니다 그리고 파동을 count 할수 있을지가 의문이네요.. 매수시점이 다시보면 20선이 240선을 Crossup해서 꺽이고 난뒤 240선 위에서 다시 변곡이 나오는 3파동째가 진입구간입니다 항상 감사드립니다
프로필 이미지
중추신경
2021-04-15
1003
글번호 148059
시스템
답변완료

수식어 부탁드립니다

input : P1(5),P2(20); input : sto1(12),sto2(26),sto3(5); Input : trixp(12), sigPeriod(9); INPUTS: LENGTH(5); input : short(12),long(26),sig(9); var : mav1(0),mav2(0),stok(0),stod(0); var : trixv(0),trixs(0),TEMA(0),macdo(0); mav1 = ma(C,P1); mav2 = ma(C,P2); stok = StochasticsK(sto1,sto2); stod = StochasticsD(sto1,sto2,sto3); trixv = trix(trixp); trixs = ema(trixv,sigPeriod); TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) + (Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH)); macdo = macd_osc(short,long,sig); var1 = 0; var2 = 0; if stok > stod Then var1 = var1+1; if trixv > trixs Then var1 = var1+1; if c > tema Then var1 = var1+1; if macdo > 0 Then var1 = var1+1; if stok < stod Then var2 = var2+1; if trixv < trixs Then var2 = var2+1; if c < tema Then var2 = var2+1; if macdo < 0 Then var2 = var2+1; if crossup(mav1,mav2) and var1 >= 3 Then buy(); if CrossDown(mav1,mav2) and var2 >= 3 Then sell(); ------------------- 07 : 00~익일 05 : 50 매매시간의 수식어 추가 부탁드립니다
프로필 이미지
푸른
2021-04-15
882
글번호 148054
시스템
답변완료

검색식 부탁 드립니다.

수고 많으십니다! 1봉전~5봉전 까지 상한가 나온종목 중에서 5일 이평선을 이탈 하는 종목을 검색 하고 싶습니다. 검색식 부탁 드립니다. 꾸~~벅!
프로필 이미지
소어드
2021-04-15
915
글번호 148053
검색
답변완료

부탁드립니다

#,안녕하세요. 국선에서 전일의 변동폭을 당일에 시가기준으로 스윙하이로우로 출력부탁드립니다. "언제나 많은 도움에 항상 감사드립니"
프로필 이미지
크라켄
2021-04-15
892
글번호 148052
지표
답변완료

문의

음봉의 거래량이 앞봉의 거래량보다 많어면 그음봉의 캔들위에 검은점이 나오게 부탁드립니다.
프로필 이미지
레전드
2021-04-15
852
글번호 148049
지표
답변완료

문의 드립니다

안녕하세요 아래 사항에 대해 두가지 문의 드립니다 1 아래 문법이 적용되는지 2 지표 작성후 f4늘 눌러 문법검증하고 f5를 누르면 지표속성창이 나타난다고 하는데 어떻게 f5를 누르면 지표속성창이 나타나는지 부탁 드립니다 감사합니다. Inputs: FastMovAvg1(12), SlowMovAvg1(26), MACDMovAvg1(9); Var : MACDV1(0,data1) , MACDS1(0,data1); MACDV1 = (ema((c),FastMovAvg1))-(ema(((c)),SlowMovAvg1)); MACDS1 = (ema(MACDv1,MACDMovAvg1)); var1 = MACDV1; var2 = MACDS1; if (var1 > var2) Then var3 = 1; if (var1 < var2) Then var3 = -1; if var3 == 1 then { plot1(9999999999,"라인1"); plot2(0,"라인"); } if var3 == -1 Then { plot1(0,"라인1"); plot2(9999999999,"라인");
프로필 이미지
dkfvkrh7
2021-04-15
999
글번호 148041
지표
답변완료

수식어 부탁드립니다

var : entry(0); input : StartTime(070000),EndTime(055000),xtime(055500); var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0); var : Tcond(false); if sDate != sDate[1] then SetStopEndofday(xtime); 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; SetStopEndofday(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; if MarketPosition <= 0 and entry < 1 Then buy("b",atlimit,dayhigh-PriceScale*120); if MarketPosition == 1 Then exitlong("bx",atlimit,lowest(L,BarsSinceEntry)+PriceScale*60); if MarketPosition >= 0 and entry < 1 Then sell("s",atlimit,daylow+PriceScale*3500); if MarketPosition == -1 Then ExitShort("sx",atlimit,Highest(H,BarsSinceEntry)-PriceScale*120); if sdate != sdate[1] Then SetStopEndofday(55000); if bdate != bdate[1] Then SetStopEndofday(0); --------------------------- 기존의 하늘색 buy(-120) 청산( +60)에서 청산싯점인 (+60)은 최저점에서 (+60)으로 신호가 나옵니다 . 노란색 buy(=120)이후 바로 (+60) 청산이 되는 buy, sell수식어로 부탁드립니다.
프로필 이미지
푸른
2021-04-15
990
글번호 148040
시스템
답변완료

수식 수정 요청부탁드립니다.

안녕하세요. 어제 작성해주신 수식으로 시뮬레이션을 해봤는데 약간 제 생각과 다르게 되는것 같아서 수정 좀 부탁드립니다. 제가 원하는 것은 0.77260에 1계약 매수 들어가면 피라미딩식으로 0.77270에 매수가 되고, 또 0.77280에 매수가 되고 그 다음에 흐름이 바뀌어 0.77270이 되었을 때는 직전에 매수했던 1계약이 매수 청산 된 후에 다시 0.77280이 되면 다시 매수가 진행되는 시스템을 원하거든요. 근데 아래 식으로는 거래내역을 보니 좀 다르게 진행이 되는것 같더라구요. 요약하자면 추세를 따라가면서 1계약씩 늘려가다가 되돌림이 되면 1계약씩 줄여나가고, 최초 매수했던 수량까지 다 손절이 되면, 그 다음부터는 매도로 신규진입되면서 1계약씩 피라미딩 진행되는것을 원합니다. 장대양봉이나, 장대음봉이 나왔을 경우 수익을 극대화하고자 하는 방법을 원하거든요. 보시고, 수정 좀 부탁드립니다. =============================================================== input : 최초진입(1); var : LP(0); if sDate != sDate[1] Then SetStopEndofday(55500); if Bdate != Bdate[1] Then { SetStopEndofday(0); LP = 0; if 최초진입 == 1 Then Buy("b1",AtMarket,DEF,1); if 최초진입 == -1 Then Sell("s1",AtMarket,DEF,1); } Else { if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then LP = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then LP = LatestExitPrice(0); Buy("bb",AtStop,LP+0.001,1); ExitLong("bx",AtStop,LP-0.001,"",1,1); } if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] Then LP = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then LP = LatestExitPrice(0); Sell("ss",AtStop,LP-0.001,1); ExitShort("sx",AtStop,LP+0.001,"",1,1); } if MarketPosition == 0 and LP > 0 Then { Buy("b",AtStop,ExitPrice(1)+0.001,1); Sell("s",AtStop,ExitPrice(1)-0.001,1); } } 즐거운 하루되세요 > 바다가좋아 님이 쓴 글입니다. > 제목 : 수식 추가 수정 요청부탁드립니다. > 안녕하세요. 어제 전량 청산 조건으로 수식 작성 부탁드렸는데 하나씩 청산하는 전략으로도 시뮬레이션을 해보고 싶어서요. < 요청 사항 > 1. 피라미딩으로 수량 증가하면서 늘려가다가 그 반대방향으로 진행시에는 그 방향으로 하나씩 청산(손절) 되면서, 다 청산 되면 신규 매수 or 매도 진입이 되는 방식으로 만들었으면 합니다. 흐름을 따라가면서 계약수를 하나씩 증가시키거나, 감소시키고자 합니다. 2. 매매종목 : 해외선물(Australian Dollar) (5분봉 기준) 3. 매매 예시 1) 최초 시장가 1계약 매수 or 매도 2) 매수 or 매도와 동시에 손절(+- 0.001pt)만 설정 3) 최초 매수 or 매도한 가격 기준으로 수익 진행시 +0.001포인트마다 1계약씩 추가 매수 or 매도 ex) AUD 기준 0.76545 1계약 매수 -> 0.76645 추가 1계약 매수 -> 0.76745 추가 1계약 매수 -> 0.76845 추가 1계약 매수 -> 이후 가격이 0.76745로 되돌림 되었을 때는 먼저 0.76845에서 매수했던 1계약만 매수 청산(손절) -> 0.76745 에서 1계약 매수청산(손절) -> 0.76645 1계약 매수 청산(손절) -> 0.76545 1계약 매수청산(손절) -> 이후 가격이 0.76445까지 내려가면 0.76445 1계약 매도 진입 -> 0.76345 1계약 매도 -> 0.76245 추가 1계약 매도 -> (반복) 4) 각 추가매수 or 추가매도한 계약별로 진입할 때마다 손절(-0.001포인트) 설정 5) 청산은 장 종료시에 시장가로 일괄 청산 설정(익일 05:55분) 6) 아~ 그리고 처음에 매수로 진행하지 않고, 시장 상태에 따라 제가 매수 or 매도를 한 후에 위의 방법대로 설정되어 시스템이 움직일 수 있도록 만들었으면 합니다. 항상 감사드립니다. 그럼 수고하세요.
프로필 이미지
바다가좋아
2021-04-15
934
글번호 148039
시스템
답변완료

늘 감사합니다

5계약 진입 1 . 이평선 5 10 20 30 40 2 . 주가가 이평선 30 40 돌파 이탈 한 마지막 자리 고점 저점 기억 매번기억하고 이전 기억값은 삭재 3 . 이평선 20 선 과 주가 (현재가격) 이격도 관계 hts 처음 접속하고 시스템 적용하면 직전 2번 조건 기억하기 (2번 조건을 기억할수 없다면 변수에 손으로 적어준다 ) 손절1 20틱 5계약 손절2 5 이평선이 20 이평선 이탈시 5계약 (매도금지) 현 조건에서 5 이평선이 20 이평선을 돌파하면 -- 추가 매수3 청산3 20 이평선과 주가 이격이 100 이상이면 1계약 청산4 20 이평선과 주가 이격이 90 이상나왔고 10 이평선이 양에서 음으로 변하면 1계약 현 포지션에서 청산 3 4 나올때 마다 차트에 표시 예)- 한번 청산 나오면 "청산1" 두번째 청산 나오면 "청산2" 세번재 청산 나오면 "청산3"매수 -- 5 이평선이 30 40 이평선을 돌파하면 -- 매수1 매수1 진입해서 손절이 나오면 마지막 (기억한 가격) 가격을 돌파하면(즉 매수1 에 고정) -- 매수2 네번째 청산 나오면 "청산4" 다섯번째 청산 나오면 "완청" 이런 형식으로요 Condition11 = true; T3 = Text_New(sdate,stime,H," 청산1"); Text_SetColor(T3, 255); Text_SetStyle(T3,2,1); 매도 -- 5 이평선이 30 40 이평선을 이탈하면 -- 매도1 매도1 진입해서 손절이 나오면 마지막 (기억한 가격) 가격을 돌파하면(즉 매도1 에 저정) -- 매도2 손절1 20틱 손절2 5 이평선이 20 이평선 돌파시 5계약 (매수금지) 현 조건에서 5 이평선이 20 이평선을 이탈하면 -- 추가 매도3 청산3 20 이평선과 주가 이격이 100 이상이면 1계약 청산4 20 이평선과 주가 이격이 90 이상나왔고 10 이평선이 음에서 양으로 변하면 1계약 현 포지션에서 청산 3 4 나올때 마다 차트에 표시 예)- 한번 청산 나오면 "청산1" 두번째 청산 나오면 "청산2" 세번재 청산 나오면 "청산3" 네번째 청산 나오면 "청산4" 다섯번째 청산 나오면 "완청" 이런 형식으로요 Condition11 = true; T3 = Text_New(sdate,stime,H," 청산1"); Text_SetColor(T3, 255); Text_SetStyle(T3,2,1);
프로필 이미지
kjdkdh
2021-04-15
1063
글번호 148038
시스템