커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

기간내 검색이 안되네요

value1 = highest(m,200); mm = highest(m[10],200); if value1 == m and m>mm then find(1); 위 식에서 상장한지 200일이 넘지 않으면 검색이 안되요 상장일자 상관없이 검색이 되면 좋겠어요
프로필 이미지
아무다
2024-09-10
1272
글번호 183344
종목검색
답변완료

검색식 부탁 드려요

1. 6개조건을 모두 만족하는 , 처음나오는 "첫봉"만 검색하고자 합니다. 종목 검색식 부탁드립니다. (연속해서 나오는것 말고, 오직 처음 만족하는 첫봉만 검색) 2. 6개중 5개조건을 만족하는 , 처음나오는 "첫봉"만 검색하고자 합니다. 종목 검색식 부탁드립니다. (연속해서 나오는것 말고, 오직 처음 만족하는 첫봉만 검색) M= Macd(12,26); Ms=eavg(M,9); M>Ms 때 S=StochasticsSlow(12,5); Ss=eavg(S,3); S>Ss 때 CC=CCi(9); Cs=eavg(CC,12); CC>Cs 때 M10=ma(C,10); C>M10 때 R=Rsi(14); Rs=eavg(R,9); R>Rs 때 Dp =DiPlus(14); Dm=DiMinus(14); Dp>Dm 때
프로필 이미지
일지매7
2024-09-10
865
글번호 183343
종목검색

뎅이요 님에 의해서 삭제되었습니다.

프로필 이미지
뎅이요
2024-09-10
0
글번호 183335
시스템
답변완료

부탁드립니다

1.과거 10개봉이내 거래량이 가장 많으면서 종가가 양봉이면 빨강색으로, 과거 10개봉이내 거래량이 가장 많으면서 종가가 음봉이면 파란색으로 구현해 주세요 2. 매 시간 거래량이 양봉으로 가장 많이 갱신되면 해당 봉에 빨강색으로, 매 시간 거래량이 음봉으로 가장 많이 갱신되면 해당 봉에 파란색으로 구현해 주세요 3. 매일 장이 시작한 후 거래량이 가장 많이 갱신될 때마다 해당 봉이 양봉이면 빨강색으로, 음봉이면 파란색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2024-09-11
611
글번호 183333
강조

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

프로필 이미지
회원
2024-09-11
30
글번호 183319
지표

살빼고싶다 님에 의해서 삭제되었습니다.

프로필 이미지
살빼고싶다
2024-09-10
36
글번호 183317
검색
답변완료

수정 부탁드립니다.

input : pPriceVal(NumericSimple), pPeriod(NumericSimple); var : v0(0), v1(0), v2(0), v3(0), v4(0), v5(0), v6(0), ii(0), vResult(0); v0 = 0; v1 = 0; v2 = 0; v3 = 0; v4 = 0; v5 = 0; v6 = pPeriod; vResult = 0; For ii = 0 To (v6 - 1) step 1 Begin v1 = pPriceVal[ii] - pPriceVal[ii + 1]; If v1 < 0 Then Begin v0 = - v1; v1 = 0; End Else If v1 >= 0 Then Begin v0 = 0; End; v2 = v2 + v1; v3 = v3 + v0; End; v4 = v2 / v6; v5 = v3 / v6; If (v4 + v5) != 0 Then vResult = 100 * v4 / (v4 + v5); Else vResult = 0; RSIOrig = vResult;
프로필 이미지
lacl
2024-09-10
700
글번호 183316
사용자 함수
답변완료

함수요청

안녕하세요? 아래 전략에 대해 스크립트 작성 부탁드립니다. 국내선물 일봉상 현주가가(일봉상 종가 위치), 동행스팬의 양구름대 위에 있으면서 선행스팬이 양에서 음으로 교차완성하면 익봉시가에 매도진입 동행스팬의 음구름대 아래에 있으면서 선행스팬이 음에서 양으로 교차완성하면 익봉시가에 매수진입 진입 후 9번째 봉에 청산 여기서 편의상 구분을 짓기 위해 선행스팬의 개념은 통상적인 의미이며 동행스팬 현주가가 위치한 날짜의 선행스팬입니다. 동행스팬 1은 26일 전의 주가의 (기준선+전환선)/2이고 동행스팬 2는 26일 전의 주가의 (당시 최근 52일간의 캔들 최고가 + 당시 최근 52일 간의 캔들 최저가)/2입니다.
프로필 이미지
흰둥이아빠
2024-09-10
640
글번호 183315
시스템
답변완료

문의드립니다

input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26); Input : 수량1(1),수량2(2),당일수익틱수1(100),당일손실틱수1(200); Input : 당일수익틱수2(200),당일손실틱수2(300); Var : N1(0),dayPl(0),당일수익1(0),당일손실1(0),당일수익2(0),당일손실2(0),vol(0); var : Xcond(false); var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0); var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0); var : senkouA(0); var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0); var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0); ATR1 = ATR(tenkan_len)*tenkan_mult; up1 = (h+L)/2 + ATR1; dn1 = (h+L)/2 - ATR1; upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1); lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1); os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1])); spt1 = iff(os1 == 1 , lower1 , upper1); max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1)); min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1)); tenkan = avg(max1,min1); ATR2 = ATR(kijun_len)*kijun_mult; up2 = (h+L)/2 + ATR2; dn2 = (h+L)/2 - ATR2; upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2); lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2); os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1])); spt2 = iff(os2 == 1 , lower2 , upper2); max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2)); min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2)); kijun = avg(max2,min2); senkouA = avg(kijun,tenkan); ATR3 = ATR(spanB_len)*spanB_mult; up3 = (h+L)/2 + ATR3; dn3 = (h+L)/2 - ATR3; upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3); lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3); os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1])); spt3 = iff(os3 == 1 , lower3 , upper3); max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3)); min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3)); senkouB = avg(max3,min3); tenkan_css = Red; kijun_css = Blue; cloud_a = teal; cloud_b = red; chikou_css = Green; 당일수익1 = PriceScale*당일수익틱수1; 당일손실1 = PriceScale*당일손실틱수1; 당일수익2 = PriceScale*당일수익틱수2; 당일손실2 = PriceScale*당일손실틱수2; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; vol = 수량1; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익1 or daypl >= 당일수익2 Then Xcond = true; if IsExitName("dbp1",1) == true or IsExitName("dsp1",1) == true or IsExitName("dbp2",1) == true or IsExitName("dsp2",1) == true Then Xcond = true; if vol == 수량1 and daypl <= -당일손실1 Then { vol = 수량2; } if vol == 수량2 and daypl <= -당일손실2 Then { Xcond = true; } if vol == 수량1 and (IsExitName("dbl1",1) == true or IsExitName("dsl1",1) == true) then { vol = 수량2; } if vol == 수량2 and (IsExitName("dbl2",1) == true or IsExitName("dsl2",1) == true) then { Xcond = true; } } if Xcond == false Then { if CrossUp(tenkan,kijun) Then { Buy("b",OnClose,Def,vol); } if CrossDown(tenkan,kijun) Then { sell("s",OnClose,Def,vol); } } if MarketPosition == 1 then { if vol == 수량1 Then { ExitLong("dbp1",atlimit,EntryPrice+((당일수익1-daypl)/CurrentContracts)); ExitLong("dbl1",AtStop,EntryPrice-((당일손실1+daypl)/CurrentContracts)); } if vol == 수량2 Then { ExitLong("dbp2",atlimit,EntryPrice+((당일수익2-daypl)/CurrentContracts)); ExitLong("dbl2",AtStop,EntryPrice-((당일손실2+daypl)/CurrentContracts)); } } if MarketPosition == -1 then { if vol == 수량1 Then { ExitShort("dsp1",atlimit,EntryPrice-((당일수익1-daypl)/CurrentContracts)); ExitShort("dsl1",AtStop,EntryPrice+((당일손실1+daypl)/CurrentContracts)); } if vol == 수량2 Then { ExitShort("dsp2",atlimit,EntryPrice-((당일수익2-daypl)/CurrentContracts)); ExitShort("dsl2",AtStop,EntryPrice+((당일손실2+daypl)/CurrentContracts)); } } 수고 많으십니다 도움주신 수식 감사드립니다 위 수식이 제가 설명이 부족해 의도한데로 돼지않아 송구하지만 한번 더 도움 부탁드립니다 처음 수식은 1계약 진입하여 100틱 익절이나 손실이면 당일 매매 종료 였으나 100틱이 익절이면 당일 매매를 종료하고 만약 100틱이 소실이 난다면 그 시간부터 다시 2차를 적용하여 2계약으로 손실 200틱 이면 당일 2차매매 종료 익절 300틱 이면 당일 2차매매 종료 이렇게 부탁드립니다 현재 수식은 손절이 1차 2차 합처서 100틱면 당일 종료로 나와서 수정 요청드립니다 감사드립니다
프로필 이미지
cjfdk
2024-09-10
883
글번호 183314
시스템