커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

늘 감사드립니다. 1. 가상매매조건은 다음과 같습니다. var : SH(0),SL(0),SHi(0),SLi(0); var : var1(0),var2(9999999999999),var3(9999999999999); SH = SwingHigh(1,H,3,3,7); SL = SwingLow(1,L,3,3,7); var1 = round(ma((H+L+O+C)/4,60)*20,0)/20; if SH != -1 and SH > var1 Then{ if SH > var2 Then{ var2 = SH; SHi = index; } if SH < var2 and index > SLi and SLi > SHi Then{ var2 = SH; } } if SL != -1 and SL < var1 Then{ if SL < var3 Then{ var3 = SL; SLi = index; } if SL > var3 and index > SHi and SHi > SLi Then{ var3 = SL; } } If H>var2+0.07 Then{ var4=Index; Exitshort("sx1"); Playsound("K:₩음성₩드럼소리.wav"); } If Marketposition==1 and L<var1-0.47 Then{ Playsound("K:₩음성₩드럼소리.wav"); } If L<var3-0.07 Then{ var5=Index; Exitlong("bx1"); Playsound("K:₩음성₩유리.wav"); } If Marketposition==1 and L<var1-0.47 Then{ Playsound("K:₩음성₩유리.wav"); } condition1=Marketposition(1)==1 and Marketposition==0; condition2=Marketposition(1)==-1 and Marketposition==0; If SL>var1 Then var6=SL; If SH<var1 Then var7=SH; If condition1==false and var4>var5 and L<=var6 Then{ Buy("b",atlimit,var6,1); Playsound("K:₩음성₩종소리.wav"); } If condition2==false and var4<var5 and H>=var7 Then{ Sell("s",atlimit,var7,1); Playsound("K:₩음성₩종소리.wav"); } 2. 실제진입조건 위의 가상매매조건에서 발생하는 최근 매수가 6개와 최근매도가 6개를 각각 기억하게 합니다. 매수가는 매수가끼리, 매도가는 매도가끼리 지금 발생한 값에서 직전발생한 값을 빼서 그 값을 +,0,-로 표시합니다.(각각 최근4번의 값 저장) (1) 매수조건 최근 3번씩 양쪽다 - - -(각각 3연속 마이너스)이거나 - - - - - - 최근 4번씩 양쪽다 중간에 0이 하나 끼어있거나(처음과 끝은 양쪽다 -여야 함) - 0 - - 또는 - 0 - - 또는 - - 0 - 또는 - - 0 - - 0 - - - - 0 - - 0 - - - - 0 - 최근 상대방 4번은 중간에 0이 하나 낀 -3개이고 지금(최종) 발생한 쪽은 3연속마이너스일 때 - 0 - - 또는 - - 0 - - - - - - - 최종발생한 마이너스신호가 가상매매의 매수신호건 매도신호건 관계없이 그 값에 매수합니다 (b1) 또 최종적으로 발생한 신호쪽이 5연속마이너스(- - - - -)이면 그 신호값에 매수합니다. (매수신호쪽만 5연속마이너스이거나 매도신호쪽만 5연속마이너스인 경우를 말함) (b2) (2) 매수청산조건 : 매수가+0.60포인트 익절(그 전에 가상매매에서 매수청산신호 나오면 청산) (가상매매의 매도신호가에 매수한 경우는 +0.60이 되기전에 가상매매에서 매도청산신호나 매수신호가 나오는 것은 무시하고 매수청산신호에 청산) (3) 매도조건 : 위 매수조건의 마이너스(-)를 모두 플러스(+)로 바꾼 조건에 부합하면 최종발생한 플러스신호가 가상매매의 매수신호건 매도신호건 관계없이 그 값에 매도합니다 (s1) 또 최종적으로 발생한 신호쪽이 5연속플러스(+ + + + +)이면 그 신호값에 매도합니다. (매수신호쪽만 5연속플러스이거나 매도신호쪽만 5연속플러스인 경우를 말함) (s2) (4) 매도청산조건 : 매도가-0.60포인트 익절(그 전에 가상매매에서 매도청산신호 나오면 청산) (가상매매의 매수신호가에 매도한 경우는 -0.60이 되기전에 가상매매에서 매수청산신호나 매도신호가 나오는 것은 무시하고 매도청산신호에 청산) 부탁드립니다. 가상신호의 매수값차와 매도값차를 각 5개씩 볼 수 있는 방법도 함께 부탁드립니다. 감사합니다.
프로필 이미지
묘선낭자
2014-08-09
200
글번호 77537
시스템
답변완료

알람이 안남.

아래 식은 당일 고가와저가의 폭이 최근 ATR기준 60%보다 크고 80%보다 작으면 첫번 째 발생시점에서 당일날 한번만 소리를 내고, 두번째는 80%이상 발생하는 시점에서도 당일날 한번만 내게 할려고 하는데, 소리가 안나는데 문제가 있는지 식을 좀 검토 부탁드립니다. 선물 1분봉 화면에다가 식을 설정해 놓았습니다. Input: period(20),percent1(60),percent2(80); if date != date[1] then{ condition1 = false; } if condition1 == false and (dayhigh-daylow)/ATR(period)*100 > percent1 and (dayhigh-daylow)/ATR(period)*100 < percent2 then{ condition1 = true; PlaySound("C:₩예스트레이더₩Data₩sound₩stop.wav"); } if date != date[1] then{ Condition2 = false; } if Condition2 == false and (dayhigh-daylow)/ATR(period)*100 >= percent2 then{ condition2 = true; PlaySound("C:₩예스트레이더₩Data₩sound₩sound1.wav"); }
프로필 이미지
만복이
2014-08-08
152
글번호 77536
지표
답변완료

질문있습니다.

안녕하세요? 수식지왕님 블로그에 있는 배열에 관한 내용입니다. 수식공부중에 있는데 자세한 설명과 주석부탁합니다. 죄송합니다. 이런 부탁드려서.... Var: j(0), k(0); array: 전고점[11](0); if h[3]<h[1] and h[2]<h[1] and h[1]>h then{ for j = 9 downto 1 { 전고점[j+1] = 전고점[j]; } 전고점[1] = h[1]; k = 1; for j = 2 to 10 { if 전고점[k] < 전고점[j] then k=j; } } plot1(전고점[k]);
프로필 이미지
에리조나
2014-08-08
147
글번호 77535
지표

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2014-08-09
16
글번호 77534
지표
답변완료

분할청산 로직

예스스팟에서 분할 청산로직을 구현하고 싶은데요, 예를 들어 같은 조건인데 처음 청산신호 발생 시에는 잔고의 50%를 청산하고 그 두번 째 신호 발생 시에는 남아있는 잔고의 60%(이미 청산된 수량 포함의 30%) 그리고 세번 째 신호 발생 시에는 잔고 전량 청산. 이 청산로직 구현 방법을 알려주시기 바랍니다. *예스스팟 Q&A에 올렸는데 답이 없어서 여기에 올립니다.
프로필 이미지
대가북극곰
2014-08-08
168
글번호 77533
시스템
답변완료

간단한 수식 부탁합니다.

1. 참조데이터의 첫번째 봉의 값이 0 이하일 경우 매수 하는 수식과 2. 지표식의 시초값이 0 이하 일경우 매도 하는 수식 부탁합니다. (지표식은 MACd(12,26,9) 값)
프로필 이미지
회원
2014-08-08
133
글번호 77532
시스템

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

프로필 이미지
회원
2014-08-08
11
글번호 77530
시스템
답변완료

시스템수식 질문

매수 : 연속2일 음봉이고, 마지막 음봉이 -1%가 넘어갈때 다음날 시가 매수 매도 : 매수한 그날 종가 정리(1일포지션) 어떻게 작성해야되나요? 일봉으로 작성해야되나요? 분봉으로 data2 넣고 해야되나요? 알려주세요^^
프로필 이미지
회원
2014-08-08
176
글번호 77523
시스템
답변완료

문의드립니다.

포지션 진입후 짧게 수익청산시 청산즉시 다시 같은 방향으로 진입하는 경우가 있습니다. 청산후 몇봉후에 다시 매수 신호가 나왔을때 진입할 수 있도록 하는 수식예제를 좀 부탁드립니다. 단 같은 포지션으로만 몇봉후 진입에 적용되고 반대포지션으로 청산 즉시 진입은 허용할 수 있도록 부탁드립니다. ps.성실한 답변들에 항상 감사드립니다.
프로필 이미지
풍경
2014-08-08
177
글번호 77522
시스템