커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7493
글번호 230811
외환달러 님에 의해서 삭제되었습니다.
2014-09-10
10
글번호 78417
답변완료
문의합니다.
input : Per(10),매수1(1000000),매수2(1000000),매수3(2000000),매수4(4000000);
var : Vol1(0),vol2(0),vol3(0),vol4(0);
var : X(0),xVol1(0),xvol2(0),xvol3(0);
var1 = ma(c,1);
var2 = ma(C,20);
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
vol1 = int(int((매수1)/C)/10)*10;
vol2 = int(int((매수2)/C)/10)*10;
vol3 = int(int((매수3)/C)/10)*10;
vol4 = int(int((매수4)/C)/10)*10;
}
Else{
vol1 = int((매수1)/C);
vol2 = int((매수2)/C);
vol3 = int((매수3)/C);
vol4 = int((매수4)/C);
}
if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
if MarketPosition == 1 Then{
if MaxEntries == 1 Then
buy("b2",atlimit,AvgEntryPrice*(1-Per/100),vol2);
if MaxEntries == 1 Then
buy("b3",atlimit,AvgEntryPrice*(1-Per/100),vol3);
if MaxEntries == 1 Then
buy("b4",atlimit,AvgEntryPrice*(1-Per/100),vol4);
}
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then{
xvol1 = int(int(MaxContracts*0.5)/10)*10;
xvol2 = int(int(MaxContracts*0.5)/10)*10;
xvol3 = int(int(MaxContracts*0.5)/10)*10;
}
Else{
xvol1 = int(MaxContracts*0.5);
xvol2 = int(MaxContracts*0.5);
xvol3 = int(MaxContracts*0.5);
}
if CurrentContracts < CurrentContracts[1] Then
x = x+1;
if X == 0 Then
ExitLong("bx1",AtStop,AvgEntryPrice*1.03,"",Xvol1,1);
if X == 1 Then
ExitLong("bx2",AtStop,AvgEntryPrice*1.05,"",Xvol2,1);
if X == 2 Then
ExitLong("bx3",AtStop,AvgEntryPrice*1.10,"",Xvol3,1);
if MaxEntries == 4 Then
ExitLong("bx",AtStop,AvgEntryPrice*0.9);
}
Else
X = 0;
위식에서 1차매수를 if MarketPosition == 0 and C > O and var1 <= var2*0.8 Then
buy("b1",OnClose,def,vol1);
에서 시장가 매수로 변경부탁드립니다.
1분봉에서 적용할것입니다.
2014-09-10
155
글번호 78416
답변완료
수평선 긋기
안녕하세요.
옵션 가격에서 아래와 같이 표현하고자 합니다
1.전일종가선(수평선 긋기)
2.전일종가대비 10%선
3.전일종가대비 20%선
4.전일종가대비 30%선
수고하세요~~
2014-09-10
198
글번호 78415
답변완료
타주기 합성 시스템식
항상 감사드립니다
아래기본로직을 이용해서 시스템식을 만들고 싶습니다
input : Period(30),Ma1(15),short(33),Long(75),signal(9);
var : AA(0),BB(0),DD(0),EE(0),FF(0),GG(0),HH(0),II(0),DP(0),DM(0);
DP = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),Period)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),Period)*100;
DM = ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),Period)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),Period)*100;
AA=DP;
BB=DM;
DD=ma(HIGH, MA1);
EE=Trix(15);
FF=ema(EE,9);
GG=ma(LOW, MA1);
HH = MACD(short, long);
II = ema(HH,signal);
if o<c and AA>BB AND DD<=C AND EE>=FF and HH > II and HH >=0 Then
var10 =1 ;
if o>c and AA<BB AND GG>=C AND EE<=FF and HH < II and HH <=0 Then
var10 = -1 ;
1.기본챠트는 300틱챠트로 설정하고 타주기 챠트는 2분봉으로 설정
2.기본챠트 300틱챠트에서 var10 =1 and 타주기챠트 2분봉 var10 =1 이면 매수Buy_1
기본챠트 300틱챠트에서 var10 =-1 and 타주기챠트 2분봉 var10 =-1 이면 매수Sell_1
3. 현재 매수상태이고 기본챠트 300틱봉에서 이동평균 36선을 하향돌파하면
매수청산(eB_1)/매수청산후 재진입금지(매도진입신호만 진입가능)
현재 매도상태이고 기본챠트 300틱봉에서 이동평균 36선을 상향돌파하면
매도청산(eS_1)/매도청산후 재진입금지(매수진입신호만 진입가능)
4. 현재 매수상태이고 타주기 2분봉에서 이동평균 36선을 하향돌파하면
매수청산(eB_2)/매수청산후 재진입금지(매도진입신호만 진입가능)
현재 매도상태이고 타주기 2분봉에서 이동평균 36선을 상향돌파하면
매도청산(eS_2)/매도청산후 재진입금지(매수진입신호만 진입가능)
5.매수진입후 이익이 100틱이상이고 이동평균 36선을하향돌파하면
매수청산(eB_3))/매수청산후 재진입금지(매도진입신호만 진입가능)
매도진입후 이익이 100틱이상이고 이동평균 36선을상향돌파하면
매도청산(eS_3))/매도청산후 재진입금지(매수진입신호만 진입가능)
감사합니다
2014-09-11
188
글번호 78414
답변완료
시스템 합성좀 부탁드립니다. ㅜㅜ
매수조건: 호가잔량이평중 매수잔량이평을 스톡캐스트k 가 아래서 위로 돌파할때(겹치기해서)
+스톡캐스트k가 D를 교차(골든크로스)
매도조건: 호가잔량이평중 매수잔량이평을 스톡캐스트k 가 위에서아래로 돌파할때(겹치기해서)
+스톡캐스트k가 D를 교차(데드크로스)
매수청산조건은 스톡캐스트k가 D를 교차(데드크로스)
매도청산조건은 스톡캐스트k가 D를 교차(골든크로스)
2014-09-10
194
글번호 78413
답변완료
수식 부탁드립니다.
수고하십니다.
아래의 수식을 매매횟수 2회로 제한하려 합니다.
(단, 11시 이후에는 매매횟수가 1번이더라도 시그널이 나오지 않게 부탁드립니다)
EX) 09:15 첫 시그널 발생 10:10 2번째 시그널 발생하면 2번으로 제한해 주시고,
09:15 첫 시그널 발생 후 11시가 넘어가면 청산만 하고 진입은 안되게 부탁드립니다.
input:DayProfit(4.0), DayLos(-2.0);
var : PLR(0),OpenPL(0),dayPL(0),count(0);
PLR = 0;
count = 0;
for var1 = 1 to 10 begin
if sdate == EntryDate(var1) Then begin
PLR = PLR+PositionProfit(var1);
end;
end;
if MarketPosition == 0 Then begin
OpenPL = 0;
dayPL = PLR;
End
Else begin
OpenPL = (PositionProfit);
dayPL = PLR+OpenPL;
end;
if (DayPL < DayProfit) and (DayPL > DayLos) then Begin
if stime >= 090000 and stime < 150000 Then{
if marketposition <> 1 and c > ma(h,10) Then
buy("매수",AtLimit,ma(h,5));
if marketposition <> -1 and c < ma(l,10) Then
Sell("매도",AtLimit,ma(l,5));
}
If marketposition <> 0 and stime >= 150000 then {
ExitLong("0", AtMarket);
ExitShort("1", AtMarket);
}
SetStopLoss(1.0,PointStop);
SetStopProfittarget(2.0,PointStop);
SetStopEndofday;
End;
2014-09-10
157
글번호 78412
답변완료
변수저장
안녕하세요 현재의식을 변수 a1에 저장하는방법부탁드립니다. (단 var 을 사용하지않는조건)
if dayopen < DayClose(1)*1.02 and NextBarOpen > C Then
buy("b33",Atlimit,DayClose(1)*0.99);
현재의식을 변수 a2에 저장하는방법부탁드립니다.
if NextBarOpen <= C Then
buy("b4",Atlimit,c*0.98);
현재의식을 변수 a3에 저장하는방법부탁드립니다.
if MarketPosition == 1 Then{
if CodeCategoryEx == 11 and BasePrice < 50000 Then
vol = int(int(MaxContracts*0.5)/10)*10;
Else
vol = int(MaxContracts*0.5);
ExitLong("bx",Atlimit,EntryPrice*1.04,"",vol,1);
2014-09-09
169
글번호 78411
답변완료
챠트에 표식달기
수고하십니다
검색식 작성중에 캔들이 너무 작아져서
Q&A를 검색하니
plot1(H*1.02)와 같이 적용하면 된다는 답변을 보앗습니다
한데 해당하는 날자위에 표시하고 싶은데,,,
plot1(sdate*1.05); 와 같은 경우는 안되네요,,,
어떤 방법이 있는지요,,,
그림 첨부가 안되서,,,,
그림 첨부가 되면 설명이 간단할텐데,,
참 추가로 질문하나더,,,
챠트불러올때 원/달라환율 챠트를 불러올수있나요???
2014-09-09
177
글번호 78410
혼자뜨는별 님에 의해서 삭제되었습니다.
2014-09-09
20
글번호 78409