커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식

안녕하세요. 하기 요청드린 연속 양봉음봉 수식은 오류가 있습니다. 확인 후 다시 부탁드립니다. 감사합니다. 안녕하세요 예스스탁입니다. 1 input : N(3); var : ii(0); if bdate != Bdate[1] Then ii = 0; ii = ii+1; if ii == 3 and CountIf(C>O,N) == N Then { var1 = O[n-1]; Var2 = H[n-1]; Var3 = L[n-1]; } if ii > 3 and C[n] <= O[n] and CountIf(C>O,N) == N Then { var1 = O[n-1]; Var2 = H[n-1]; Var3 = L[n-1]; } if ii == 3 and CountIf(C<O,N) == N Then { var4 = O[n-1]; Var5 = H[n-1]; Var6 = L[n-1]; } if ii > 3 and C[n] >= O[n] and CountIf(C<O,N) == N and Bdate == Bdate[N] Then { var4 = O[n-1]; Var5 = H[n-1]; Var6 = L[n-1]; } Plot1(var1); Plot2(var2); Plot3(var3); Plot4(var4); Plot5(var5); Plot6(var6); 2 var : nday(0),week(0); nday = date - int(date/100)*100; Week = DayOfWeek(date); #만기일이면 if nday >= 8 and nday <= 14 and week == 4 then { SetStopEndofday(151500); } Else #만기일이 아니면 { SetStopEndofday(153000); } 즐거운 하루되세요 > 한국사람73 님이 쓴 글입니다. > 제목 : 수식 > 안녕하세요. #지표 당일 시가봉부터 연속3 양봉/연속3음봉에 해당하는 시작봉 시가,고가,저가를 수평으로 부탁드립니다. #시스템 당일매매에 귀사에서 제공하는 3시30분 청산을 하고 있습니다만, 옵션 만기일에는 3시15분 청산하고 싶습니다. 상기 2가지 수식 부탁드립니다. 감사합니다
프로필 이미지
한국사람73
2020-12-18
992
글번호 144792
지표
답변완료

당일 시가 수평선으로 표시

당일 시가를 수평선으로 보여지는 수식 부탁 합니다
프로필 이미지
우주77
2020-12-18
770
글번호 144789
지표
답변완료

이평선 크로스

안녕하세요. 5 이평선이 20 이평선을 골든 크로스할때 1) 크로스가 확정된 봉의 저점선을 긋고자 합니다. 2) 선은 확정된 봉을 포함해서 15번째 봉까지만 긋고 싶습니다. 3) 봉의 갯수를 임의로 조정하고 싶습니다. 4) 데드 크로스(고점선)인 경우도 같이 부탁드립니다. 감사합니다.
프로필 이미지
스로우
2020-12-18
940
글번호 144784
지표
답변완료

행복; 지표식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 지표식 관련입니다 < 질문 > - 대상; 해외파생상품(예, Crude Oil, British Pound, E-mini S&P500 등) - 주기; 90분봉 - 'eFriend Global Yestrader' 를 사용하고 있는데 날자가 한국시간으로 되어있습니다 봉을 나타내는 시각도 봉 시작이 아니고 봉 마지막 시각입니다 또한 하루가 끝나는 마지막 봉의 시각이 Time == 071000 이고 날자가 바뀌어 새로 시작되는 첫 봉의 시각이 Time == 93000 입니다 1. 국내주식의 경우 날자가 바뀌는 것을 표시할 때는 sDate != sDate[1] 로 하는데 해외파생상품은 날자가 바뀌는(Time == 071000 에서 Time == 93000 로 바뀌는) 것을 어떻게 표시하는지요? 2. 국내주식의 경우 당일의 마지막 봉을 표시할 때는 if NextBarSdate > sDate Then 마지막봉시작시각 = sTime; 으로 하는데 해외파생상품은 하루의 마지막 봉(Time == 071000)의 시작시각을 어떻게 표시하는지요? 3. 국내주식의 경우 당일의 첫 봉을 표시할 때는 if sDate > sDate[1] Then 첫봉시작시각 = sTime; 으로 하는데 해외파생상품은 하루의 첫 봉(Time == 93000)의 시작시각을 어떻게 표시하는지요? 4. 국내주식과 관련하여 수식을 작성한 것이 있습니다 날자와 시각을 sDate 와 sTime 으로 작성이 되어있습니다 그러나 'eFriend Global Yestrader' 차트에는 Date 와 Time 으로 되어있습니다 이미 작성된 수식의 sDate 와 sTime 은 그래로 두고 200볼트 전기를 120볼트 전기로 바꾸는 변압기처럼 앞부분에 약간의 수식을 추가하여 해결하고자 합니다 즉, Date 와 Time 을 sDate 와 sTime 으로 변환하는 수식을 추가하고자 합니다 (사례) If Date == 20201217 and Time == 003000 Then Plot1(DayHigh(1)); 은 if sDate == 20201216 and sTime == 230000 Then Plot1(DayHigh(1)); 과 같은 봉을 나타내고 있습니다 (구체적인 사례;'eFriend Global Yestrader') Input : 시작일자(20201217), 시작시각(003000), 주기(90); Var : 일자(0), 시각(0); --------< 변압기 시작 >------------------------------- If Date == sDate Then 일자 = 시작일자; Else 일자 = JulianToDate( (DateToJulian(시작일자)-1) ); If TimeToMinutes( 시작시각 ) >= 주기 Then 시각 = TimeToMinutes( 시작시각 ) - 주기; Else 시각 = TimeToMinutes( 240000 ) + TimeToMinutes( 시작시각 ) - 주기; --------< 변압기 끝 >------------------------------- If sDate == 일자 and sTime == 시각 Then Plot1(DayHigh(1)); 나름대로 변압기를 작성해보았는데 개운하지 않습니다 어떻게 해야 하는지요? 수고하십시요^^
프로필 이미지
행복한가방
2020-12-18
1071
글번호 144783
지표
답변완료

수식에서 마지막봉 대비 현재봉 위치 확인 방법

안녕하세요 수식에서 현재 확인하고 있는 봉이 마지막 봉 대비 몇번째인지 확인하고자 하는데요 이런 수식은 어떻게 만들어야 될까요? Index는 처음봉부터의 위치라 제일 마지막봉에서 5번째 이런식은 어떻식으로 체크해야 할지 잘 모르겠네요. 도움 부탁드립니다. 여기서 마지막봉은 가장 최신의 봉을 의미합니다.. if(지금 계산하고 있는 봉이 마지막봉에서 5번째 떨어져있는 봉이면) { } 일봉 기준으로는 요런식으로 해보려했는데, 공휴일끼고 있으니 날짜나 시간개념으로 하면 너무 복잡할것 같아 순수하게 봉 단위로 계산하려고 합니다 if((CurrentDate-5) == sDate) Then
프로필 이미지
edan
2020-12-18
828
글번호 144782
검색
답변완료

지표 문의입니다.

분봉기준입니다. 당일고가가 전일종가대비 15% 이상이고 분봉 저가가 20이평선을 첫이탈 위 조건을 만족하고 저가가 직전 10봉 최저가보다 낮을때만 저가선을 긋는 지표식 부탁드립니다. 당일 첫봉부터 조건에 만족하는 시점까지는 전일 종가입니다. 감사합니다.
프로필 이미지
부양가족
2020-12-17
793
글번호 144781
지표
답변완료

OnUp-dateMarket 이벤트 관련 문의

안녕하세요, 예스스팟에서 지정하여 종목객체를 생성한 경우 OnUp-dateMarket 이벤트를 수신하는 것은 확인하였는데요, 동적으로 종목객체를 생성한 경우에는 이벤트 수신이 안되는것 같습니다. 방법이 있을까요? 045100 종목번호로 ReqMarketData를 호출하면, Main_OnRcvMarketData 는 넘어오는데, Main_OnUp-dateMarket는 들어오지 않네요. 종목객체를 코드가 아닌 스크립트 객체에서 생성하여 지정한것만 들어옵니다. var List = []; var ListCnt; function Main_OnStart() { Main.MessageList("Spot Start"); Main.ReqMarketData("045100",0); } function Main_OnUp-dateMarket(sItemCode,Up-dateID) { Main.MessageLog("Main_OnUp-dateMarket sItemCode = "+sItemCode); Main.MessageLog("Main_OnUp-dateMarket Up-dateID = "+Up-dateID); } function Main_OnRcvMarketData(MarketData) { Main.MessageLog("생성종목 ="+MarketData.code); }
프로필 이미지
edan
2020-12-17
745
글번호 144780
지표
답변완료

청산신호가 안먹힙니다.

괄호가 있어서 그런지 청산신호가 안먹힙니다. 추적청산, 샹들리에, 요요청산등 아무것도 안먹힙니다. 도와주세요.. 감사합니다. INPUTS: LENGTH1(5); VARS: TEMA(0); Var : Pivot(0),R1(0),R2(0),S1(0),S2(0); Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3; R1 = 2*Pivot-DayLow(1); R2 = Pivot+DayHigh(1)-DayLow(1); S1 = 2*Pivot-DayHigh(1); S2 = Pivot-DayHigh(1)+DayLow(1); TEMA = (3 * Ema(c,LENGTH1)) - (3 * Ema(Ema(c,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(c,LENGTH1),LENGTH1),LENGTH1)); input : ATRP(20),X(0.5); var : ATRV(0); #영업일 변경 if bdate != Bdate[1] Then { #var1에 tema의 한봉전값(전일마지막봉값) 저장 var1 = tema[1]; #종가가 var1보다 크면 매수 if var1 > 0 and C > var1 Then Buy(); #종가가 var1보다 작으면 매도 if var1 > 0 and C < var1 Then sell(); if MarketPosition == 1 and C < DayLow(1)[BarsSinceEntry] Then ExitLong(); if MarketPosition == -1 and C > DayHigh(1)[BarsSinceEntry] Then ExitShort(); }
프로필 이미지
코샘매쓰
2020-12-17
606
글번호 144779
시스템
답변완료

피봇관련입니다.

피봇 2차지지선이 s2인데 다음과 같은 그림에서 아래와 같은 식으로 했는데도 진입이 안되서 질문드립니다. 날씨가 엄청춥습니다. 건강한 하루 되세요.... Condition9 = crossup(c,S2+3); Condition10 = CrossDown(c, S2+3); if Condition10[2] == true and Condition9[1]==true Then Buy("S2b",AtLimit,S2+3);
프로필 이미지
코샘매쓰
2020-12-17
720
글번호 144777
시스템