커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템 관련 문의드립니다.

밑에 수식은 5분봉에서 신호가 뜨게 되어 있습니다. var1 = ma(c,5); var2 = ma(c,20); if Tcond == true and var2 < var2[1] and NextBarOpen > var1 Then sell("s",AtMarket ,EntryPrice+PriceScale*1); 근데 예를들어 저기서 30분봉에서 음봉양봉상관없이 윗꼬리가 있을때 진입 하고싶습니다. 5분봉에서 18:05분에 신호가 뜬다고 가정하면 30분봉 17:30~18:00까지 완성된 봉을 보고 윗꼬리 있으면 매도 되게 하고 싶습니다. 만약 17:25분에 5분봉차트에 신호가 뜬다면 30분봉에서 16:30~17:00까지 완성된 봉을 보고 윗꼬리있을때 매도가 되게 하고 싶습니다. 그리고 30분봉에서 윗꼬리 아랫꼬리가 같을때는 음봉이면서 전봉보다 거래량이 클때 5분봉에서 매도하고 싶습니다. 결론적으로 5분봉에서 매매신호조건이 떳을때 30분봉에서 완성된 전봉을 보고 매매조건을 넣고 싶습니다. 그림에서 보면 17:30에 신호가 떳을때는 30분봉에서 17:30완성봉을 보면 밑꼬리가 길기 때문에 매도진입을 안하고 싶습니다. 다음 신호를 보면 19:30분봉이 음봉이면서 꼬리가 윗꼬리보다 길기 때문에 진입이 안되게 하고 싶습니다.
프로필 이미지
디얼디어
2017-03-23
160
글번호 108134
시스템
답변완료

지표식 수정부탁드립니다

첨부그림상 Heiken Ashi지표식을 구현하려는데 아래식이 제대로 완성이 안되있어서 제대로 구현되도록 수식을 수정부탁드립니다 xClose = (Open+High+Low+Close)/4; xOpen = (Open[Previous]+Close[Previous])/2; xHigh = Max(High,xOpen,xClose); xLow = Min(Low,xOpen,xClose); if agv(Xclose,period) > agv(Xopen,period) Then{ plot1((Xhigh-Xclose)+agv(Xclose,period)); plot2(agv((Xclose,period)); plot3(agv((Xopen,period)); plot4(agv((Xopen,period)); plot5(agv((Xopen,period)-(Xopen-Xlow)); plot6(agv((Xopen,period)-(Xopen-Xlow)); } else if agv(Xclose,period) < agv(Xopen,period) Then{ plot1((Xhigh-Xopen)+agv(Xopen,period)); plot2(agv((Xopen,period)); plot3(agv((Xclose,period)); plot4(agv((Xclose,period)); plot5(agv((Xclose,period)-(Xclose-Xlow)); plot6(agv((Xclose,period)-(Xclose-Xlow)); } Else { NoPlot(1); NoPlot(2); NoPlot(3); NoPlot(4); NoPlot(5); NoPlot(6); } If(agv((Xclose,period) > agv((Xopen,period)&&C<agv((Xclose,period) II If(agv((Xclose,period) < agv((Xopen,period)&&C>agv((Xclose,period) Then If agv((Xclose,period) > agv((Xopen,period) Then{ plot7((Xhigh-Xclose)+agv(Xclose,period)); plot8(agv((Xclose,period)); plot9(agv((Xpoen,period)); plot10(agv((Xpoen,period)); plot11(agv((Xpoen,period)-(Xpoen-Xlow)); plot12(agv((Xpoen,period)-(Xpoen-Xlow)); } Else { plot7((Xhigh-Xpoen)+agv(Xpoen,period)); plot8(agv((Xpoen,period)); plot9(agv((Xclose,period)); plot10(agv((Xclose,period)); plot11(agv((Xclose,period)-(Xclose-Xlow)); plot12(agv((Xclose,period)-(Xclose-Xlow)); } Else { NoPlot(7); NoPlot(8); NoPlot(9); NoPlot(10); NoPlot(11); NoPlot(12); }
프로필 이미지
bestkim
2017-03-23
269
글번호 108133
지표
답변완료

수식수정

1. 전에 올려주신 수식을 약간 수정해서 사용중인데요. 제가 잘못설정한것인지 어떤지 잘 모르겠지만 4회까지까지 매수하면 전부 매수한 금액이 투자금액과 비슷해야 하는거 아닌가요? 시스템을 돌려보면 투자금액을 훨씬 웃도는 현상이 발생합니다. 수식에 잘못된 부분이 있으면 수정좀 부탁드립니다.. 2. 매도신호가 떴으나 매도가 되지 않는경우, 매수신호가 떴으나 매수가 되지 않는경우는 자동정정을 안해서 그런건가요? 매번 항상 감사드립니다. Input : 투자금액(1000000),Period(20), MultiD(2), short(12),long(26),sig(9),VP(20),P1(5),P2(24),P3(99), 시작일(20170323),시작시간(90000); Input : LENGTH(10),loss(5); var : MAv(0),e(0),x(0),cnt(0),count(0),Tcond(false); Var : TCHAN(0), BCHAN(0),T1(0),T2(0); var : MACDV(0),MACDS(0),MACDO(0),Vma(0),Cma1(0),Cma2(0),Cma3(0); var : HH(0),Bxcond1(false),Bxcond2(false),Bxcond3(false); var : LL(0),Sxcond1(false),Sxcond2(false),Sxcond3(false); Array : VV[5](0),XX[5](0); MAv = ma(C,Period); MACDV = MACD(Short,long); MACDS = ema(MACDV,sig); MACDO = MACDV-MACDS; Vma = ma(v,VP); Cma1 = ma(C,P1); Cma2 = ma(C,P2); Cma3 = ma(C,P3); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; vv[0] = floor((투자금액*0.1)/C); vv[1] = floor((투자금액*0.2)/C); vv[2] = floor((투자금액*0.3)/C); vv[3] = floor((투자금액*0.4)/C); if sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if Tcond == true then{ if (TotalTrades == 0 or MarketPosition == 0 and BarsSinceExit(1) > 2) then{ if MarketPosition == 0 and C >=dayclose(1) and MACDO > 0 and C > O and V >= Vma*1.5 and Cma1 >Cma2 and dayhigh < DayClose(1)*1.18 and stime < 150000 Then buy("b1",atmarket,def,vv[MaxEntries]); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then{ e = e +1; if e == 1 then XX[e] = CurrentContracts; Else XX[e] = CurrentContracts-CurrentContracts[1]; } #두번째 매수 if MarketPosition == 1 and e == 1 and C >=dayclose(1) and CrossUp(ma(C,5), ma(C,24)) and stime < 150000 Then{ buy("b2",atmarket,def,vv[MaxEntries]); } #세번재매수 if MarketPosition == 1 and e == 2 and C >=dayclose(1) and CrossUp(ma(C,5), ma(C,24)) and stime < 150000 Then{ buy("b3",atmarket,def,vv[MaxEntries]); } #네번재매수 if MarketPosition == 1 and e == 3 and C >=dayclose(1) and CrossUp(ma(C,5), ma(C,24)) and stime < 150000 Then{ buy("b4",atmarket,def,vv[MaxEntries]); } HH = highest(H,BarsSinceEntry); if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx1" Then Bxcond1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx2" Then Bxcond2 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "Bx3" Then Bxcond3 = true; if Bxcond1 == false and HH >= EntryPrice*1.03 and HH < EntryPrice*1.05 Then ExitLong("Bx1",AtStop,HH-(HH-EntryPrice)*0.1,"",Floor(MaxContracts*(1/5)),1); if Bxcond2 == false and HH >= EntryPrice*1.05 and HH < EntryPrice*1.08 Then ExitLong("Bx2",AtStop,HH-(HH-EntryPrice)*0.1,"",Floor(MaxContracts*(2/5)),1); if Bxcond3 == false and HH >= EntryPrice*1.08 Then ExitLong("Bx3",AtStop,HH-(HH-EntryPrice)*0.1); #3번 매수후 평단가-3%면 전량 매도 if MaxEntries == 4 Then ExitLong("b.out",AtStop,AvgEntryPrice*(1-loss/100)); } Else{ e = 0; X = 0; Bxcond1 = false; Bxcond2 = false; Bxcond3 = false; } }
프로필 이미지
바나
2017-03-23
111
글번호 108132
시스템
답변완료

수식 부탁드립니다.

키움증권에서 스톡케스틱을 아래와 같이 사용했는데요. sto1 = 12 sto2 = 7 sto3 = 7 eavg(Stochasticsfast(sto1),sto2)-eavg(Stochasticsslow(sto1,sto2),sto3) 여기서는 어떻게 사용해야 하나요?
프로필 이미지
jyck
2017-03-23
153
글번호 108131
지표
답변완료

수식부탁드립니다

안녕하세요 아래내용의 지표수식부탁드립니다 볼린져밴드의 과열과 침체를 응용한 수식인데 내용은 과열과 침체(%) = (종가-볼린져밴드하단) / (볼린져밴드상단 - 볼린져밴드하단) X 100 첨부그림처럼 동작될수있도록 수식부탁드립니다 감사합니다
프로필 이미지
bestkim
2017-03-23
190
글번호 108130
지표
답변완료

수식좀 문의드려요.

사진과 같이 전일 중심선으로 아래위 나뉘는데 위 노란색 아래 파란색 구분 되게 색깔 넣는 수식이 좀 알려주주세요.
프로필 이미지
안성77
2017-03-23
175
글번호 108129
지표
답변완료

지표식 수정 부탁드립니다.

안녕하세요.... 아래의 두가지 지표식 1. 상승추세에서의 누적거래량을 이용한 지표시 2. 하락추세에서의 누적거래량을 이용한 지표식 에서 [수정을 부탁드리는 내용] 1. 상승추세에서의 누적거래량을 이용한 지표식 일부인 if C < O Then var2 = var2 + V; #음봉일때의 거래량 누적 에서 보듯이 모든 음봉일때의 거래량을 누적해주는 것이 아니라 음봉몸통의 크기가 1% 이상으로 비교적 긴음봉만 누적거래량으로 표현해 주고 싶습니다. 2. 하락추세에서의 누적거래량을 이용한 지표식 일부인 if C > O Then var1 = var1 + V; #양봉일때의 거래량 누적 에서 보듯이 모든양봉이 아니라 양봉캔들의 몸통의 크기가 1% 이상으로 비교적 양봉몸통의 크기가 긴양봉만 누적거래량으로 표현하고 싶습니다. 수정부탁드립니다. ------------------------------------------------------------ 1. 상승추세에서의 누적거래량을 이용한 지표식 input : 카운팅시작일자(20170313), 카운팅시작시간(090000); input : 유통물량주식수(1030); #만단위 if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then Condition1 = true; if Condition1 == true Then { if C > O Then var1 = var1 + V; #양봉일때의 거래량 누적 if C < O Then var2 = var2 + V; #음봉일때의 거래량 누적 if C == O Then var3 = var3 + V; #도지일때의 거래량 누적 var4 = ((var1+var3-var2)/(유통물량주식수*10000))*100; if 0 < var4 and var4 < 40 Then plot1(var4,"세력합",BLACK); if 40 < var4 and var4 < 100 Then plot1(var4,"세력합",RED); if var4>=100 Then plot1(var4,"세력합",GREEN); } 2. 하락추세에서의 누적거래량을 이용한 지표식 input : 카운팅시작일자(20170313), 카운팅시작시간(090000); input : 유통물량주식수(1030), 고점최고세력합(100); #만단위 if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then Condition1 = true; if Condition1 == true Then { if C > O Then var1 = var1 + V; #양봉일때의 거래량 누적 if C < O Then var2 = var2 + V; #음봉일때의 거래량 누적 if C == O Then var3 = var3 + V; #도지일때의 거래량 누적 var4 = 고점최고세력합-((var2+Var3-var1)/(유통물량주식수*10000))*100; if Var4 > 0 Then plot1(var4,"세력합",RED); Else plot1(var4,"세력합",BLUE); if var4 > 100 Then plot1(var4,"세력합",GREEN); if var4 < 40 Then plot1(var4,"세력합",BLACK);
프로필 이미지
종풍화성
2017-03-23
234
글번호 108126
지표

좌오비우오비 님에 의해서 삭제되었습니다.

프로필 이미지
좌오비우오비
2017-03-23
22
글번호 108123
시스템
답변완료

ETF KODEX인버스 거래

아래 선물거래 수식의 SELL 신호를 이용하여 KODEX인버스 거래를 하고 싶습니다. 1. KODEX인버스 주차트, 선물 참조차트 수식을 부탁드립니다. (KODEX200은 선물수식을 그대로 적용하면 되던데 KODEX인버스는 선물차트와 역방향이라서 위 방법이 필요하다는 생각입니다) 2. 다른 전략에도 인버스 거래를 해볼 건데 일관되게 적용할 참조차트 사용 수식을 강조해 주세요 늘 고맙습니다. *** input : N(1),pt(0.55); var : T1(0); #시초가 터치봉 시간 if Bdate != Bdate[1] or (Bdate == Bdate[1] and H >= dayopen and H[1] < DayOpen) or (Bdate == Bdate[1] and L <= dayopen and L[1] > DayOpen) Then T1 = TimeToMinutes(stime); if TimeToMinutes(stime) <= T1+n Then{ if MarketPosition <= 0 and C >= dayopen+pt Then buy(); if MarketPosition >= 0 and C <= dayopen-pt Then sell(); }
프로필 이미지
목마와숙녀
2017-03-23
154
글번호 108118
시스템