커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수정부탁드립니다.

안녕하세요? 아래수식을 조금만 고쳐주시면 감사하겠습니다. ***내용 CME전용으로만 사용하려고합니다. 그리고 시작시간과 끝나는 시간을 외부변수로 설정하고싶습니다. 감사합니다. input : 익절틱수(50),손절틱수(50),n(10); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); if C > O and C[1] < O[1] and O > C[1] and C < O[1] Then { if MarketPosition == 0 or (MarketPosition == -1 and BarsSinceEntry >= n) then buy("b1"); } if C > O and C[1] < O[1] and O < C[1] and C > O[1] Then { if MarketPosition == 0 or (MarketPosition == -1 and BarsSinceEntry >= n) then buy("b2"); } if C < O and C[1] > O[1] and O < C[1] and C > O[1] Then { if MarketPosition == 0 or (MarketPosition == 1 and BarsSinceEntry >= n) then sell("s1"); } if C < O and C[1] > O[1] and O > C[1] and C < O[1] Then { if MarketPosition == 0 or (MarketPosition == 1 and BarsSinceEntry >= n) then sell("s2"); }
프로필 이미지
대구어린울프
2019-10-08
171
글번호 132587
시스템
답변완료

검색식 요청

몸통보다 윗꼬리가 더큰 일봉이 발생한 날의 고가 저가 시가 종가를 최근부터 역순으로 찾는 검색식 부탁드립니다
프로필 이미지
파일럿
2019-10-08
183
글번호 132585
검색
답변완료

진입 매수 매도 글씨 위치 변경

Input : shortPeriod(12), longPeriod(26); Var : value(0); value = MACD(shortPeriod, longPeriod); # 매수/매도청산 If CrossUP(value, 0) Then { Buy("매수"); } # 매도/매수청산 If CrossDown(value, 0) Then { Sell("매도"); } 사진처럼 매수 일때는 밑으로 매도 일때는 위로 글씨 위치와 글씨 크기가 조정 되었으면 합니다 캔들 때문에 글씨가 잘 안보여서요 변경할수 있게 부탁 드립니다
프로필 이미지
슛팅
2019-10-08
196
글번호 132584
시스템
답변완료

수식 해석좀 부탁드립니다.

수식 공부하다가 모르겠는 부분이 있어서 문의 드립니다. accumn(bids-asks,dayindex+1) 이게 뜻하는게 뭔지 알고싶습니다.
프로필 이미지
우니야
2019-10-07
235
글번호 132579
사용자 함수
답변완료

수식 작성 부탁드립니다.

*매수조건 : 3-19 골든크로스 이후 3일선에서 매수진입, 10틱 손절 20틱익절로 3-19 데드크로스가 나올때까지 계속 3일선에서 매수진입. 청산 손절틱은 동일함 *매도조건 : 3-19 데드크로스 이후 3일선에서 매도진입, 10틱 손절 20틱익절로 3-19 골든크로스가 나올때까지 계속 3일선에서 매도진입. 청산 손절틱은 동일함 *당일 손절 20틱, 익절 40틱시 매매종료 *매매시간 : 오전6시59분~오전8시 *썸머타임 시간변경 스크립트도 추가 부탁드립니다.
프로필 이미지
wootnt
2019-10-07
182
글번호 132578
시스템
답변완료

시스템 문의 드립니다

안녕하세요. 시스템 문의 드립니다. 안녕하세요. 시스템 문의 드립니다. 하기 식에 다음 사항을 추가하고자 합니다. 하기 식은 20일 저점/고점에 닿았을 시 반대로 들어가는 역매매전략입니다. 다만, 하기 식은 신호 발생봉의 길이가 10틱이든 20틱이든.. 그 힘을 판단하지 못하고, 무조건 20일 저점을 돌파하면 매수하는 식입니다. 이에 하기 식에 20일 저점 돌파 시 매수의 힘이 셀 때만 매수하는 필터를 걸고자 합니다. 1) 매수 조건1) 20일 저점 돌파 시 조건2) 돌파 시 봉이 양봉일 시 조건3) 돌파 시 봉의 길이가 50틱 이상이고, 조건4) 돌파 시 봉의 길이가 직전봉의 고점/저점의 길이의 1/2 이상일시 조건5) 돌파 시 봉의 저점이 직전봉의 저점보다 30틱 이상 내려가지 않았을 시 위 조건 1), 2), 3), 4), 5) 만족 시 매수 2) 매도 매도는 매수의 반대 감사합니다! input : period(50), P(20); var1 = ma(c, period); var2 = highest(H,P); var3 = Lowest(L,P); if c < var1 and crossup(c,var3[1]) Then buy("매수"); if MarketPosition == 1 and CrossDown(c,var2[1]) Then exitlong("매수청산"); if c > var1 and CrossDown(c,var2[1]) Then sell("매도"); if MarketPosition == -1 and CrossUp(c,var3[1]) Then ExitShort("매도청산");
프로필 이미지
충주미꾸라지
2019-10-07
188
글번호 132577
시스템
답변완료

시스템 문의 드립니다

안녕하세요. 어제 문의드렸었는데, 다시 재문의 드립니다. 하기 식에서 다음 사항 추가 부탁드립니다. 하기 식은 20일 고점/저점을 돌파 시에 매수/매도하는 식입니다. 1) 매수 - 20일 고점 돌파 시 바로 매수하지 않고 해당봉을 거래를 위한 [참고봉]으로 저장 - 조건1: 위 [참고봉] 다음봉이 [참고봉]의 고점보다 30틱을 넘어가면 매수 - 조건2: a) 위 조건1이 만족되지 않았을 시(즉, 조건1에 의해 매수되지 않았을 시), b) 위 [참고봉]의 저점보다 [참고봉] 다음봉의 저점이 더 내려가지 않았을시 >> 위 조건 a), b)를 만족하면 [참고봉] 다다음봉에서 매수 2) 매도 - 위 매수의 반대 로직 감사합니다. input : period(50), P(20); var1 = ma(c, period); var2 = highest(H,P); var3 = Lowest(L,P); if c > var1 and crossup(c,var2[1]) Then buy("매수"); if MarketPosition == 1 and CrossDown(c,var3[1]) Then exitlong("매수청산"); if c < var1 and CrossDown(c,var3[1]) Then sell("매도"); if MarketPosition == -1 and CrossUp(c,var2[1]) Then ExitShort("매도청산");
프로필 이미지
충주미꾸라지
2019-10-07
176
글번호 132576
시스템
답변완료

시스템 오류??

크루드오일 1분봉 연결선물로 시뮬레이션 해보고 있습니다. 유진하고 한국투자 이프렌드에서 둘 다 테스트 해보았는데, 이해 안되는 부분이 있어 문의 드립니다. If MarketPosition == 0 AND C > DayOpen + 0.5 Then Buy(); If MarketPosition == 0 AND C < DayOpen - 0.5 Then { Sell(); If Date >= 20190926 Then MessageLog("SELL!!!!!!!!!!"); } SetStopEndofday(60000); 예를 들어, 2019년 9월 26일 21시 37분 SELL!!!!!!!!!! 메시지가 찍히는데, 실제 시뮬 차트에서는 sell 이 안됩니다. 9월 17일 16:04:00 9월 17일 19:32:00 이런 경우도 차트에서 sell 도 안나오고, MarketPosition 을 MessageLog 로 찍어봐도 0 으로 나옵니다. 뭘 잘못한 건가요???
프로필 이미지
idnotbe
2019-10-07
200
글번호 132575
시스템
답변완료

부탁 드립니다.

도움주심에 감사 드립니다. 다음 수식이 전일과의 비교가 아닌 지정된 일시이후 예를 들어 2분봉 차트에서 120분동안 양봉의 개수의 합과 거래량의 합을 구하여 그 지정된 일시의 120분 전의 값을 구하여 var1의 값을 구하고자 합니다. 만약에 그것이 안된다면 지정된 일시 이후 120분 동안의 값과 그 값이 종료된 일시 이후 120분 동안의 값을 구하고 var1의 값을 구하고자 합니다. var : 양봉개수(0),양봉1(0),양봉2(0),전일(0); var : 양봉v(0),양봉v1(0),양봉v2(0),전일v(0); if bdate != bdate[1] Then { 양봉1 = 양봉개수[1]; 양봉2 = 양봉1[1]; 양봉v1 = 양봉v[1]; 양봉v2 = 양봉v1[1]; } if C > O then { 양봉개수 = 양봉개수 +1; 양봉v = 양봉v +v; } 전일=양봉1-양봉2; 전일v=양봉v1-양봉v2; var1 = 전일v/전일; plot1(var1); 참고가 될만한 유사한 수식) input:단위(120); input:시작일(20190801),시작시간(070000); var : S1(0),D1(0),TM(0),TF(0); var : Tcond(false); if Tcond == false and sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if tcond == true and Tcond != Tcond[1] then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%단위; if (Tcond == true and tcond != tcond[1]) or (tcond == true and tcond == tcond[1] and TF < TF[1])Then { } }
프로필 이미지
뮬리
2019-10-07
197
글번호 132574
지표