커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

검색식 부탁 드립니다

input : n(Numeric); np = DayClose(n); 사용자함수에 있는수식 입니다 5일전고점라인 max(npredayhigh(5),npredayhigh(4),npredayhigh(3),npredayhigh(2),npredayhigh()) 분봉에서 5일전고라인 돌파 검색식 부탁드립니다 그리고 함수 수식도 부탁드립니다 파워종목 조건에 필요한 최소기간도 알려 주세요
프로필 이미지
구경꾼그림자
2024-04-19
1056
글번호 178715
종목검색
답변완료

수식 수정요청

아래 수식은 20봉전, 10봉전, 5봉전 대비 1봉전가격이 떨어진 조건(30,20,10%)에서 5이평돌파하는 종목을 검색코자 한 수식입니다. 사용해보니 20,10,5봉에 딱 맞는 것만 대상이 되어 문제가 좀 있었읍니다. 그래서 다른 모든 조건은 그대로 두고 - 20봉전 대신 11봉전~20봉전 사이에 있는 최고가에서 1봉전이 -30%, - 10 " 6봉전~10봉전 " "" " -20% - 5 " 2봉전~5봉전 " " -10% 세가지만을 반영한 수식 수정이 가능할까요? 사이에 있는 최고가라서 안될 거 같기도 합니다만, =============================================================================== var1 = ma(v,5); Var2 = ma(C,1); var3 = ma(C,5); if var1[1] >= 50000 and CrossUp(var2,Var3) and CountIf(Var3 < Var3[1],3)[1] == 3 and (C >= O*1.03 or C >= C[1]*1.03) and (C[1] <= C[20]*0.70 or C[1] <= C[10]*0.80 or C[1] <= C[5]*0.90) Then Find(1);
프로필 이미지
ksks
2024-04-18
933
글번호 178714
종목검색
답변완료

수식변환요청

수고 많으십니다 다음식을 예스 검색식으로 부탁드립니다 AA=Crossup(CCI(Period*5),Level); CC=CountSince(crossdown(CCI(Period*5), Level), CCI(Period*5)<Level); AA && CC>span //period(48),Level(100),Span(20) 감사합니다
프로필 이미지
김승빈
2024-04-18
990
글번호 178713
검색
답변완료

타주기 지표 표시 문제

안녕하세요! 첨부된 그림 파일은 1분봉에 60분봉 지표를 나타낸 것입니다. 문제는 가운데 보시면 수평선으로 일직선으로 나오는게 있는데, 실제 60분봉 지표의 흐름과는 다른 것 같습니다. 문제를 해결할 방법이 없을까요? 볼린저 밴드와 유사한 지표입니다.
프로필 이미지
끼야98
2024-04-18
1121
글번호 178707
지표
답변완료

문의 드립니다.

20 120이평선 역배열 상태에서 주가가 20이평을 아래서 위로 돌파시 매수 진입 청산은 정역배열 상관없이 20이평 아래로 이탈 시 매도 청산 완료 20 120이평선 정배열 상태에서 주가가 20이평을 위에서 아래로 돌파시 매도 진입 청산은 정역배열 상관없이 20이평 위에서 아래로 돌파 시 매수 청산 완료 부탁드립니다.
프로필 이미지
선물대장
2024-04-18
989
글번호 178706
시스템
답변완료

Re : 수식 문의 드립니다.

이전에 수정 잘해주셔서 감사합니다~! 여러 거래 중에 총 손실제한을 40틱으로 제한을 두고 싶은데 부탁드립니다. /////////////////////////////////////////// 안녕하세요 예스스탁입니다. 진입횟수 초기화가 빠져있었습니다. 지정한 시작시간에 초기화되게 수정했습니다. Input : APeriod( 5 ), BPeriod( 20 ), CPeriod( 120 ); input : StartTime(90000),EndTime(120000),당일진입횟수(2),당일수익틱수(100); Vars : v5( 0 ), v20( 0 ), v120( 0 ), T(0),entry(0), Tcond(false),Xcond(False),N1(0),당일수익(0),daypl(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } 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; Xcond = false; N1 = NetProfit; entry = 0; IF Endtime <= starttime Then { SetStopEndofday(0); } } 당일수익 = PriceScale*당일수익틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true ) then Xcond = true; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; v5 = wma(C, APeriod); v20 = wma(C, BPeriod); v120 = wma(C, CPeriod); if CrossUp(v20,v120) then T = 1; if CrossDown(v20,v120) then T = -1; If T == 1 and CrossUp(v5, v20) and Xcond == False Then { T = 2; if entry < 당일진입횟수 Then Buy("매수"); } If T == -1 and CrossDown(v5, v20) and Xcond == False Then { T = -2; if entry < 당일진입횟수 Then Sell("매도"); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요 > 무청 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 사진 보시면 이 차트의 첫부분만 매매가 이뤄지고 다음날 9시에 진입된게 보여하는데 안떠있습니다. 어떻게 해야하나요? ////////////////////////////////////////////////////////// 안녕하세요 예스스탁입니다. 기존식에 2번 내용만 추가해 드립니다. . Input : APeriod( 5 ), BPeriod( 20 ), CPeriod( 120 ); input : StartTime(90000),EndTime(120000),당일진입횟수(2),당일수익틱수(100); Vars : v5( 0 ), v20( 0 ), v120( 0 ), T(0),entry(0), Tcond(false),Xcond(False),N1(0),당일수익(0),daypl(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } 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; Xcond = false; N1 = NetProfit; IF Endtime <= starttime Then { SetStopEndofday(0); } } 당일수익 = PriceScale*당일수익틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true ) then Xcond = true; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; v5 = wma(C, APeriod); v20 = wma(C, BPeriod); v120 = wma(C, CPeriod); if CrossUp(v20,v120) then T = 1; if CrossDown(v20,v120) then T = -1; If T == 1 and CrossUp(v5, v20) and Xcond == False Then { T = 2; if entry < 당일진입횟수 Then Buy("매수"); } If T == -1 and CrossDown(v5, v20) and Xcond == False Then { T = -2; if entry < 당일진입횟수 Then Sell("매도"); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요 > 무청 님이 쓴 글입니다. > 제목 : Re : Re : 수식 문의 드립니다. > 수식 세워주셨는데 구동이 안됩니다. 1번 질문 무시하고 2번만 해서 수식 세워주실 수 있으실까요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 드립니다. > 안녕하세요 예스스탁입니다. 1 현재 진입은 지정시간에 지정한 횟수만큼 발생을 합니다. 다만 2번째 진입 후 반대조건이 나오면 청산을 할수 없어 진입횟수 충족후에 반대조건 나오면 청산하게 추가하고 EndTime에 포지션이 있으면 청산되게 수정해 드립니다. 2 Input : APeriod( 5 ), BPeriod( 20 ), CPeriod( 120 ); input : StartTime(90000),EndTime(120000),당일진입횟수(2),당일수익틱수(100); Vars : v5( 0 ), v20( 0 ), v120( 0 ), T(0),entry(0), Tcond(false),Xcond(False),N1(0),당일수익(0),daypl(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } 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; Xcond = false; N1 = NetProfit; IF Endtime <= starttime Then { SetStopEndofday(0); } } 당일수익 = PriceScale*당일수익틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true ) then Xcond = true; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; v5 = wma(C, APeriod); v20 = wma(C, BPeriod); v120 = wma(C, CPeriod); if CrossUp(v20,v120) then T = 1; if CrossDown(v20,v120) then T = -1; If T == 1 and CrossUp(v5, v20) and Tcond == true and Xcond == False Then { T = 2; if entry < 당일진입횟수 Then Buy("매수"); Else ExitShort("sx"); } If T == -1 and CrossDown(v5, v20) and Tcond == true and Xcond == False Then { T = -2; if entry < 당일진입횟수 Then Sell("매도"); Else ExitLong("bx"); } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then { ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 즐거운 하루되세요 > 무청 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 1. 일전에 이렇게 하단 수식 문의 했었는데 당일진입횟수가 2번인데 왜 1번만 진입하는지 궁금합니다. (항셍에서) 2. 당일 최종 목표틱수가 100틱이게 수식을 넣을 수 있을까요? 예를들어 총 100틱 수익인데 1차 -20틱 2차 120틱 해서 총 100틱 수익이 날 수 있도록이요.. 감사합니다. Input : APeriod( 5 ), BPeriod( 20 ), CPeriod( 120 ); input : StartTime(90000),EndTime(120000),당일진입횟수(2); Vars : v5( 0 ), v20( 0 ), v120( 0 ), T(0),entry(0), Tcond(false); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == 0 and TotalTrades > TotalTrades[1]) Then entry = entry+1; v5 = wma(C, APeriod); v20 = wma(C, BPeriod); v120 = wma(C, CPeriod); if CrossUp(v20,v120) then T = 1; if CrossDown(v20,v120) then T = -1; If T == 1 and CrossUp(v5, v20) Then { T = 2; if entry < 당일진입횟수 Then Buy("매수"); } If T == -1 and CrossDown(v5, v20) Then { T = -2; if entry < 당일진입횟수 Then Sell("매도"); }
프로필 이미지
무청
2024-04-18
938
글번호 178705
시스템
답변완료

수고하십니다.

crossup(h,bbandsup(period,d1)) and max(avg(c,short),avg(c,mid),avg(c,long)) < min(avg(c,short),avg(c,mid),avg(c,long)) *(1+percent/100)&& c>highest(h(1),5)&& c(1)<=highest(h(2),5) 변수 short 5 mid 20 long 60 period 20 percent 5 d1 2 하나 더 부탁합니다. max(BBandsUp(20,2))<min(BBandsdown(20,2))*1.01 or max(BBandsUp(20,2))<min(BBandsdown(20,2))*1.02 && c>BBandsc(20,2) && crossup(c,BBandsup(20,2)) && v>v(1)*2 && c>predayclose() && dayopen()<c && C*1.04 >= dayhigh() && h(1)<BBandsup(20,2) and time >= 090300 and time <= 152000 미리 감사드립니다~~
프로필 이미지
나석
2024-04-18
944
글번호 178704
종목검색
답변완료

문의드립니다.

늘 고맙습니다. 새벽에 드린 질문에 대한 답변 잘 보았습니다. 모르는게 너무 많네요. 하나 더 문의드립니다. # 현재봉에서는 봉마감이 되기전까지는 미리 지정해놓은 가격에 대한 반응만 하게 되는거죠? 진입시 정해놓은 가격에서 강제청산이든, L+ (H-L)*(1/3) 이런 자리에서 진입이든지요. # 그렇다면 "20 이평선을 돌파하면 매수한다." 현재봉 기준으로 하면 가능하지 않지만 직전봉 기준으로 20 이평선을 미리 저장해두고 봉마감전이라도 현재봉 가격이 20이평선을 돌 파한다면 바로 진입을 할 수 있을까요? # 조건만족봉 기준으로 var1에 20이평을 저장해두고 그 저장값을 돌파시 매수진입 if 조건 then { var1=20이평 } buy("b",atstop,var1);
프로필 이미지
산골소년
2024-04-18
659
글번호 178703
시스템
답변완료

검색식 부탁 드립니다

rsi(7) rsi(14) rsi(7) 기준선 30이하인종목 에 오늘저가 최저가인 종목 검색식 부탁드립니다 ORrsi(14)기준선 30이하인종목 에 오늘저가 최저가인 종목 검색식 부탁드립니다
프로필 이미지
구경꾼그림자
2024-04-18
686
글번호 178697
종목검색