커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템 트레이딩 강좌는 언제?

강좌를 듣고 싶은데 유료라도 언제 있나요?
프로필 이미지
초보마니아
2020-05-01
995
글번호 138540
시스템
답변완료

수식수정~요

var : month(0); month = int(sdate/100)-int(sdate/10000)*100; if month != month[1] and month == 3 Then { PlotPaintBar(o,c,"강조",YELLOW); } 3월을 나타내는 수식입니다 년도마다 달리 나옵니다 2월/3월/4월 번갈아니옵니다 6월9월12월도 그러합니다 수정 부탁드립니다
프로필 이미지
회원
2020-05-01
961
글번호 138539
강조

여행88 님에 의해서 삭제되었습니다.

프로필 이미지
여행88
2020-05-01
36
글번호 138538
검색
답변완료

질문 올립니다.

안녕하세요. 늘 감사드립니다. 하루 두 번의 시초가(아침 개장 시간, 저녁 개장 시간)에 따른 지수 선물 매매하는 식 부탁드리고 싶습니다. 10분봉 차트. A. 나스닥의 경우. 1. 아침 7시 개장해서, 첫 10분간을 하나의 봉으로 볼 때 그 게 음봉이면, 7시 10분에 매도로 진입. ((일단 하락을 예로서 말씀드리겠습니다. 하락 상승 두 경우 다 아우르게 코딩 부탁드립니다)) 2. 청산은, ATR 승수 5로 샹들리에 청산 ((물론 이 승수도 외부 변수로 부탁드립니다)) 3. 진행되다가 10분봉이 아침 7시 시가선을 위로 돌파해서 완성되면, 그 때에 매수 진입. 4. 청산은 마찬가지로 샹들리에 계속. 5. 그러다가 다시 07시 기준인 시가선을 하회하면 다시 매도로 진입... 이런 식으로 진행... 6. 저녁 미 본장 개장시간인 22:30에 일단 청산. 7. 미 본장 시간 개시가를 새로운 개시가로 보고, 첫 봉(22:30~22:40)이 음봉이면 매도로 진입. 위과 같은 논리로 진행. (샹들리에 적용, 22:30시가를 중심으로 매도 진입, 매수 진입 등 반복...) 7. 마지막으로 아침 06시에 폐장되므로, 그 폐장 직전인 05:50에 청산. ((이 부분에서, 한국시간으로 보면 시작 시간 22:30에서 날짜가 다음 날로 넘어가서 05:50까지 진행될 수 있도록 해야 하므로, 시간 처리를 어떻게 해야 할지 많이 궁금합니다. 잘 부탁드립니다)) ((위 내용을 코딩해 주시면, 저 나름대로 그 것을 응용해서, 항셍 등 다른 종목에도 적용시키는 코딩을 해 보도록 하겠습니다. 위의 시간 숫자, ATR 승수 등등을 외부변수로 만들어 주시면 감사하겠습니다)). 대단히 감사합니다!
프로필 이미지
즐겁게
2020-05-01
1085
글번호 138537
시스템
답변완료

문의드립니다.

length_Close = input(defval = 24, title = "Close") length_High = input(defval = 30, title = "High") length_Low = input(defval = 25, title = "Low") ma_High = ema(sHigh, length_High) ma_Low = ema(sLow, length_Low) ma_Close = ema(sClose, length_Close) ma_CH = ma_Close - ma_High ma_LC = ma_Low - ma_Close // bg_Color = ma_CH >= ma_LC ? ma_CH < 0 and ma_CH < ma_CH[1] ? yellow : green : ma_LC < 0 and ma_LC < ma_LC[1] ? yellow : red // plot_CH = plot(ma_CH, color = green, transp = 0, title = "MA Close - MA High") plot_LC = plot(ma_LC, color = red, transp = 0, title = "MA Low - MA Close") hline(0, color = white, title = "Line") 안녕하세요 plot_CH = plot1 plot_LC = plot2 bg_Color = plot3으로 변환 문의드립니다. 그리고 혹시 bg_Color가 Plot3로 변환이 안 된다면 plot_CH, plot_LC, bg_Color를 강조식으로 문의드립니다. 좋은 연휴되세요!
프로필 이미지
카탈레나
2020-05-01
1051
글번호 138536
강조
답변완료

지표전환 부탁드립니다

아래 <1><2><3>수식을 예스 지표수식으로 <4>는 시스템 수식으로 전환부탁드립니다 <1> 수식 IF((C>avg(c,기간) && V>avg(c,기간)),V, IF(C<avg(c,기간) && V<avg(c,기간),-V,0)) 지표조건설정 기간 10 기준선 추가 0 <2> 수식1 t1=tema(c,period1); LL=Lowest(L,period2); HH=Highest(H,period2); valuewhen(1,crossup(c,t1) or crossdown(c,t1),HH) 수식2 valuewhen(1,crossup(c,t1) or crossdown(c,t1),LL) 수식3 LT=Lowest(L,P1); HT=Highest(H,P1); newH=valuewhen(1,H>HT(1),H); BOX1=Highest(H,P1-2)<Highest(H,P1-1); TOP1=valuewhen(1,BarsSince(H>HT(1))==(P1-2) AND BOX1,NewH); BTM1=valuewhen(1,BarsSince(H>HT(1))==(P1-2) AND BOX1,LT); NewL=valuewhen(1,L<LT(1),L); BOX2=Lowest(L,P1-2)<Lowest(L,P1-1); TOP2=valuewhen(1,BarsSince(L<LT(1))==(P1-2) AND BOX1,HT); BTM2=valuewhen(1,BarsSince(L<LT(1))==(P1-2) AND BOX1,NewL); T=tema(c,청산); t2=max(top2,btm2); t3=min(top1,btm1); x=valuewhen(1,crossdown(c,T), highestsince(1,crossup(c,T),h)); y=valuewhen(1,crossdown(c,T), lowestsince(1,crossdown(c,T),l)); if(crossdown(c,T) and c>=t2,x,if(crossup(c,T) and c<=t3,y,0)) 수식4 valuewhen(1,crossup(c,t1) or crossdown(c,t1),HH) 수식5 valuewhen(1,crossup(c,t1) or crossdown(c,t1),LL) 지표조건 설정 period1 10 period2 20 p1 5 청산 10 <3> 저점 수식1 Lowest(L,기간)*(1+비율/100) 수식2 Lowest(L,기간) 고점 수식1 Highest(H,기간) 수식2 Highest(H,기간)*(1-비율/100) 지표조건설정 기간 10 비율 0.5 <4> 매수진입 (일명"짝궁뎅이"=들린 W) 전고점돌파 & 상승추세 & 전고점 돌파시 기존 처음 W자 시작할때 거래량의 1.5배이상 발생 &첫번째 눌림목 매수 매도진입 (일명"머리어깨"=어깨처진 M) 전저점이탈 & 하락추세 & 전저점 돌파시 기존 처음 M자 시작할때 거래량의 1.5배이상 발생 &첫번째 반등 매도
프로필 이미지
장안퀙쿠르드
2020-05-03
1506
글번호 138535
지표
답변완료

분할매수 , 매수금액 최적화 시뮬레이션 오류.

안녕하세요. 매수: 매수신호 발생시 1호가 단위로 나눠서 분할매수 로직+ 투자금 1천만원 표제건관려하여, 투입금액(분할매수 최대금액)이 어느 정도 이상 올라가니, 수익률이 0%이되는 현상이 발생하네요.테스트는 30분봉으로 했고요. 상식적으로 이해가 안되는 상황이라, 제 수식에 문제 가 있거나, HTS상의 문제가 있어보입니다. 첨부 사진 보시면 알겠지만, 투자금액이 어느정도 이상되면 수익금이 0가 됩니다. 혹시 투자금액 한도 같은 게 걸려있나요? -----인용------ Input : 금액(10000000), #할당 //value = 매매기준(Period); //매매기준 var1 = int(금액*(1/9)/C); // 1번째 주문수량,다이아몬드형 var2 = Int(금액*(2/9)/C); Var3 = Int(금액*(3/9)/C); Var4 = Int(금액*(2/9)/C); Var5 = Int(금액*(1/9)/C); # 매수/매도청산 if CrossUP(매매기준, 매수선)//무포시 1차매수 then buy("매수1",OnClose,def,Var1); //Buy("신호명", 신호타입, 가격조건, 수량) if MarketPosition == 1 && BarsSinceEntry< Entry봉시간제한 Then// 1차 매수후 나머지 4분할 매수 { if Lowest(L,BarsSinceEntry) < EntryPrice-PriceScale*1*buypriceunit Then //2틱하락시 buy("매수2",AtLimit,EntryPrice-PriceScale*1*buypriceunit,Var2); // 2차매수 if Lowest(L,BarsSinceEntry) < EntryPrice-PriceScale*2*buypriceunit Then buy("매수3",AtLimit,EntryPrice-PriceScale*2*buypriceunit,Var3); if Lowest(L,BarsSinceEntry) < EntryPrice-PriceScale*3*buypriceunit Then buy("매수4",AtLimit,EntryPrice-PriceScale*3*buypriceunit,Var4); if Lowest(L,BarsSinceEntry) < EntryPrice-PriceScale*4*buypriceunit Then buy("매수5",AtLimit,EntryPrice-PriceScale*4*buypriceunit,Var5); }
프로필 이미지
하운드독
2020-04-30
1296
글번호 138534
시스템
답변완료

부탁드립니다

항상 감사드립니다 아래식을 피라미딩 적용하려합니다. 피라미딩 중 각각의 진입명이 한번이상 들어가지 않도록 부탁드립니다 Input : 손절(4),익절(5),익절하락(1); input : P1(30), P2(200), p3(230), P4(260), P5(320); input : StartTime(090300),EndTime(151500); var : tx(0),X(false),Tcond(false),tt(0),vol(1); var1 = ma(C, P1); var2 = ma(C, P2); var3 = ma(C, P3); var4 = ma(C, P4); var5 = ma(C, P5); ######## 진입제한 if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then { Tcond = true; } if (sdate != sdate[1] and stime >= Endtime) or (sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then { Tcond = false; } ## 진입 if Tcond == true and marketposition == 0 and crossup(var1,var2) Then { buy("B1"); } if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then { sell("S1"); } if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then { buy("B2"); } if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then { sell("S2"); } if Tcond == true and marketposition == 0 and crossup(var1,var4) Then { buy("B4"); } if Tcond == true and marketposition == 0 and crossdown(var1,var4) Then { sell("S4"); } if Tcond == true and marketposition == 0 and crossup(var2,var5) and var3[1] < var3 Then { buy("B5"); } if Tcond == true and marketposition == 0 and crossdown(var3,var5) and var3[1] > var3 Then { sell("S5"); } #### Target 청산 if MarketPosition == 1 then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if Marketposition == -1 Then { SetStopTrailing(익절하락,익절,PointStop); SetStopLoss(손절,PointStop); } if ((sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime)) Then { if MarketPosition == 1 Then ExitLong("BE6"); if MarketPosition == -1 Then ExitShort("SE6"); }
프로필 이미지
라떼처럼
2020-05-01
1114
글번호 138533
시스템
답변완료

지표수식전환 요청

다음 수식을 예스지표수식으로 전환요청드립니다. <1> 수식1 A=eavg(((Log(c/((((Highest(H(5),5)+Lowest(L(5),5))/2)))))+1)*25,10); AS=ma(A,5); valuewhen(1,crossup(A,AS),C) <2>수식1 eavg(((Log(c/((((Highest(H(5),5)+Lowest(L(5),5))/2)))))+1)*25,10); 수식4 A=eavg(((Log(c/((((Highest(H(5),5)+Lowest(L(5),5))/2)))))+1)*25,10); AS=ma(A,5); 수식5 A=eavg(((Log(c/((((Highest(H(5),5)+Lowest(L(5),5))/2)))))+1)*25,10); AS=ma(A,8); 기준선 추가 50 <3> 수식1 HH=Highest(H,기간); LL=Lowest(L,기간); NH=valuewhen(1,H>HH(1),H); valuewhen(1,Barssince(H>HH(1))==(기간-R),NH) 수식2 HH=HigHest(H,기간); LL=Lowest(L,기간); NH=valuewhen(1,H>HH(1),H); valuewhen(1,BarsSince(H>HH(1))==(기간-R),LL) 수식3 HH=Highest(H,기간); LL=Lowest(L,기간); NL=valuewhen(1,L<LL(1),L); valuewhen(1,Barssince(L<LL(1))==(기간-R),HH) 수식4 HH=Highest(H,기간); LL=Lowest(L,기간); NL=valuewhen(1,L<LL(1),L); valuewhen(1,Barssince(L<LL(1))==(기간-R),NL) 지표추가설정 기간 10 R 5
프로필 이미지
이대표
2020-04-30
1104
글번호 138532
지표