커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7666
글번호 230811
답변완료
시스템식 질문입니다
1
피라미딩 설정으로 조건만족후
계속 1봉 마다 1계약 진입이 설정 되어있습니다
그럼 진입이후
시스템 성능 보고서에 나오는 수익 곡선을 나타낼수 있는 방법은 어떤건가요?
즉
초기진입이후 1계약이 추가되어 합계로 나타는 수익곡선의 수식
2
그 수익곡선에서 최고값에서 N% 하락하면 청산이란 식은 어떻게 해야 하나요?
수고하세요..
2012-04-05
418
글번호 49769
천외일성 님에 의해서 삭제되었습니다.
2012-04-05
84
글번호 49768
답변완료
혹시 이그림은 지표 알수 있나요?
1.곡선 그물망으로 곡선 수식좀 알려주세요
2. 키움지표인데요
수식 1 avg(c,3)
수식 2 (highest(high,midPeriod)+lowest(low,midPeriod))/2)
예스로 수식 바꿔주세요
2012-04-05
604
글번호 49764
답변완료
ct를 yt로 변경 부탁 드립니다.
안녕 하세요,,
아래의 7개의 ct를 yt로 변경 부탁 드립니다..
1번째
Input: ups(0.1), dns(0.1), gapup(0.29), gapfill(0.18), s2(2.7)
If opend>highd(1) Then
Var1=100*((opend-highd(1))/highd(1))
End If
If opend<lowd(1) Then
Var1=100*((lowd(1)-opend)/lowd(1))
End If
If tdate<>tdate(1) Then
Var50=currententrynum
End If
Cond1=exitdate(1)=tdate And position(1)=1
Cond2=exitdate(1)=tdate And position(1)=-1
If currententrynum-var50<=2 Then
If ttime <1500 Then
If opend>highd(1) And Var1>ups Then
If Cond1=False Then
Call buy("GapUp매수",Atstop,Def,opend+(highd(1)-lowd(1))*gapup)
End If
If Cond2=False Then
Call sell("GapFill매도",Atstop,Def, _
max(highd(1),opend-(highd(1)-lowd(1))*gapfill))
End If
End If
If opend<lowd(1) And Var1>dns Then
If Cond2=False Then
Call sell("GapDown매도",Atstop,Def,opend-(highd(1)-lowd(1))*gapup)
End If
If Cond1=False Then
Call buy("GapFill매수",Atstop,Def,_
min(lowd(1),opend+(highd(1)-lowd(1))*gapfill))
End If
End If
End If
End If
If position<>0 Then
Call exitlong("매수추적",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2)
Call exitshort("매도추적",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)
End If
2번째
Input: ups(0.5), dns(0.3), gapup(0.34), gapfill(0.19), s2(2.7)
If opend>=closed(1) Then
Var1=100*((opend-closed(1))/closed(1))
End If
If opend<closed(1) Then
Var1=100*((closed(1)-opend)/closed(1))
End If
If tdate<>tdate(1) Then
Var3=0
Else
If i_position<>0 And i_position(1)<>i_position Then
Var3=var3+1
End If
End If
If tdate<>tdate(1) Then
Var50=currententrynum
End If
Cond1=exitdate(1)=tdate And position(1)=1
Cond2=exitdate(1)=tdate And position(1)=-1
If currententrynum-var50<=1 Then
If ttime <1500 Then
If opend>closed(1) And Var1>ups Then
If Cond1=False then
Call buy("GapUp매수",Atstop,Def,opend+(highd(1)-lowd(1))*gapup)
End If
If Cond2=False then
Call sell("GapFill매도",Atstop,Def,max(closed(1),opend-(highd(1)-lowd(1))*gapfill))
End If
End If
If opend<closed(1) And Var1>dns Then
If Cond2=False Then
Call sell("GapDown매도",Atstop,Def,opend-(highd(1)-lowd(1))*gapup)
End If
If Cond1=False Then
Call buy("GapFill매수",Atstop,Def,min(closed(1),opend+(closed(1)-lowd(1))*gapfill))
End If
End If
End If
End If
If position<>0 Then
Call exitlong("매수추적",Atstop,hhv(1,high,barnumsinceentry+1)-atr(10)*s2)
Call exitshort("매도추적",Atstop,llv(1,low,barnumsinceentry+1)+atr(10)*S2)
End If
3번째
Input: s1(0.48), s2(2.7)
Var1=highd(1)
Var2=closed(1)
Var3=lowd(1)
Var4=closed(1)
If abs(Var1-var4)>=abs(Var2-var3) Then
Var10=abs(Var1-var4)
Else
Var10=abs(Var2-var3)
End If
Cond1= tdate=exitdate(1) And position(1)=1
Cond2= tdate=exitdate(1) And position(1)=-1
If Ttime<1500 Then
If Cond1=False Then
Call buy("매수",Atstop,Def,opend+var10*S1)
End If
If Cond2=False Then
Call sell("매도",Atstop,Def,opend-var10*s1)
End If
End If
If position<>0 Then
Call exitlong("매수청산",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2)
Call exitshort("매도청산",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2)
End If
4번째
Input: s1(0.37), s2(2.7)
Var1=highd(1)
Var2=lowd(1)
Var3=closed(2)
Var10=max(Var1,Var3)-min(Var2,Var3)
Cond1= tdate=exitdate(1) And position(1)=1
Cond2= tdate=exitdate(1) And position(1)=-1
If Ttime<1500 Then
If Cond1=False Then
Call buy("매수",Atstop,Def,opend+var10*S1)
End If
If Cond2=False Then
Call sell("매도",Atstop,Def,opend-var10*s1)
End If
End If
If position<>0 Then
Call exitlong("매수청산",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2)
Call exitshort("매도청산",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2)
End If
5번째
Input: len1(3), len2(2), level(0.13), s2(2.7), s3(0.01)
Var1=opend+(highd(1)-lowd(1))*level
Var2=opend-(highd(1)-lowd(1))*level
Cond1= tdate=exitdate(1) And position(1)=1
Cond2= tdate=exitdate(1) And position(1)=-1
If ttime<1500 Then
If Var1<high Then
If countwhen(high>high(1),len1)=len1 Then
If Cond1=False Then
Call buy("매수",Atstop,Def,high+Atr(20)*S3)
End If
End If
End If
If Var2>low Then
If countwhen(low<low(1),len2)=len2 Then
If Cond2=False Then
Call sell("매도",Atstop,Def,low-Atr(20)*S3)
End If
End If
End If
End If
If position<>0 Then
Call exitlong("추적스탑",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2)
Call exitshort("추적스탑",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)
End If
6번째
Input: len1(2), len2(2), level(0), s2(2.7), s3(0.01)
Var1=opend+(highd(1)-lowd(1))*level
Var2=opend-(highd(1)-lowd(1))*level
Cond1= tdate=exitdate(1) And position(1)=1
Cond2= tdate=exitdate(1) And position(1)=-1
If ttime<1500 Then
If Var1<=close Then
If countwhen(close>open,len1)=len1 And countwhen(close>close(1),len1)=len1 _
And countwhen(high>high(1),len1)=len1 Then
If Cond1=False Then
Call buy("매수",Atstop,Def,high+Atr(20)*S3)
End If
End If
End If
If Var2>close Then
If countwhen(close<open,len2)=len2 And countwhen(close<close(1),len2)=len2 _
And countwhen(low<low(1),len2)=len2 Then
If Cond2=False Then
Call sell("매도",Atstop,Def,low-Atr(20)*S3)
End If
End If
End If
End If
If position<>0 Then
Call exitlong("추적스탑",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2)
Call exitshort("추적스탑",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)
End If
7번째
Input: s2(2.7), len1(3), len2(2), s3(0.9), s4(0.29)
Var1=high-low '봉의 Range
Var10=high+low
If open>=close Then
Var2=open-close '음봉 body
Elseif close>open Then
Var2=close-open '양봉 body
End If
Cond1=close(1)<open(1) And close>open And close>open(1) And close(1)>open
'bull engulfing
Cond2=close(1)>open(1) And close<open And close<open(1) And close(1)<open
'bear engulfing
Cond3=var2*2<min(open,close)-low And Var10*0.7 < max(open,close)
'hammer, hanging man
Cond4=var2*2<high-max(open,close) And Var10*0.3 > min(open,close)
'inverted hammer 'shooting star
Cond5= open=close 'doji
Cond6= open=close And close>var10*0.7 'dragonfly doji
Cond7= open=close And close<var10*0.3 'garvestone
Cond8=close(1)<open(1) And close>open And close>var10(1)*0.5 _
And close(1)>open And close<open(1) 'piercing
Cond9=close(1)>open(1) And close<open And close<var10(1)*0.5 _
And close(1)<open And close>open(1) 'dark cloud
' 세개의 봉
Cond10=close(2)>open(2) And Var1(2)>var1(1) And close(1)>open(1) _
And close(2)<close(1) And close(2)<open(1) _
And open>close And close>close(2) 'evening star
Cond11=close(2)<open(2) And Var1(2)>var1(1) And close(1)<open(1) _
And close(2)>close(1) And close(2)>open(1) _
And open<close And close<close(2) 'morning star
If ttime<1500 Then
If opend<=close Then
If llv(1,low,len1)=low Then
If Cond4 Or Cond5 Or Cond6 Then
Call buy("매수",Atstop,Def,high+Atr(20)*S3)
End If
End If
End If
If opend>close Then
If hhv(1,high,len1)=high Then
If Cond4 Or Cond5 Or Cond7 Then
Call sell("매도",Atstop,Def,low-Atr(20)*S3)
end If
End If
End If
End If
If ttime<1500 Then
If opend<=close Then
If llv(1,low,len2)=low Then
If Cond11 Or Cond1 Or Cond8 Then
Call buy("매수",Atstop,Def,high+Atr(20)*S4)
End If
End If
End If
If opend>close Then
If hhv(1,high,len2)=high Then
If Cond10 Or Cond2 Or Cond9 Then
Call sell("매도",Atstop,Def,low-Atr(20)*S4)
End If
End If
End If
End If
If tdate<>tdate(1) Then
Var50=currententrynum
End If
Cond50= tdate=exitdate(1) And position(1)=1
Cond49= tdate=exitdate(1) And position(1)=-1
If currententrynum-var50<=1 Then
If ttime <1500 Then
If opend>highd(1) Then
If Cond50=False Then
Call buy("GapUp매수",Atstop,Def,opend+(highd(1)-lowd(1))*0.3)'
End If
If Cond49=False Then
Call sell("GapFill매도",Atstop,Def,max(highd(1),opend-(highd(1)-lowd(1))*0.2))
End If
End If
If opend<lowd(1) Then
If Cond49=False Then
Call sell("GapDown매도",Atstop,Def,opend-(highd(1)-lowd(1))*0.3)
End If
If Cond50=False Then
Call buy("GapFill매수",Atstop,Def,min(lowd(1),opend+(highd(1)-lowd(1))*0.2))
End If
End If
End If
End If
If position<>0 Then
Call exitlong("추적스탑",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2)
Call exitshort("추적스탑",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)
End If
2012-04-05
397
글번호 49759
답변완료
수식문의
1. 계산 값이 1.0222 및 1.0888일 경우 (1) 1.05 및 1.10으로 0.05 단위로 올려서 바꾸기와 (2) 반올림해서 1.00 및 1.10으로 바꾸기 (3) 1.00 및 1.05로 아래 단위로 내려바꾸어 쓰기 좀 부탁 드립니다.
2012-04-05
340
글번호 49758
답변완료
부탁 드립니다.
안녕하세요.
지난번 알려주신 지표식이 많이 도움이 되었습니다. 고맙습니다.
오늘 문의 드리는 것은, 분봉에서 고가와 저가가 변할 때마다 그에 따라 일중(당일) 고가선과 저가선이 하루 종일 직선(수평선)으로 나오게 하는 지표식을 알고 싶습니다.
알려 주시면 고맙겠습니다.
수고하시고, 좋은 날 되세요.
2012-04-05
298
글번호 49757
답변완료
수정해주세요---
if AccumN(SecondMakecandle[4],봉개수)<시간초 then
plot1(H+0.0);
PlaySound("C:₩예스트레이더31₩Data₩alert.wav");
plot1이 나올때만 소리나야 하는데 안나와도 계속소리가 납니다
소리안나게해주세요
2012-04-05
282
글번호 49756
누리맨 님에 의해서 삭제되었습니다.
2012-04-05
6
글번호 49755
답변완료
시스템트레이딩 문의
안녕하세요.
제가 시스템 트레이딩 조건을 처음에 MACD Oscillator로 세팅하고
좀 있다가 Stochastics K_D 로 다시 바꿨습니다.
그런데 창을 최소화 했다가 열어보면 전부 MACD Oscillator로 바뀌어 있더라고요
정확히 어느시점인지는 모르겠지만 MACD로 변경되어 있는데 이건 왜 그런가요?
2012-04-05
270
글번호 49753