커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7546
글번호 230811
답변완료
문의드림니다
옵션만기일 잔존일수 관련하여 문의드림니다
문1)
옵션만기일 6일전 ,5일전 이런식으로 수식으로 작성 가능할까요?
문2)
위 1번 방법이 어렵다면 옵션만기일을 일일이 나열한 아래 수식을 이용하여
옵션만기일 1일전 에서 3일전 사이를 수식으로 표현 부탁드림니다
if sdate == 20130912
or sdate == 20131010
or sdate == 20131114
or sdate == 20131212
or sdate == 20140109
or sdate == 20140213
or sdate == 20140313
or sdate == 20140410
or sdate == 20140508
or sdate == 20140612
or sdate == 20140710
or sdate == 20140814
or sdate == 20140911
or sdate == 20141009
or sdate == 20141113
or sdate == 20141211
or sdate == 20150108
or sdate == 20150212
or sdate == 20150312
or sdate == 20150409
or sdate == 20150514
or sdate == 20150611
or sdate == 20150709
or sdate == 20150813
or sdate == 20150910
or sdate == 20151008
or sdate == 20151112
or sdate == 20151210
Then
옵션만기 = True;
Else
옵션만기 = False;
2013-08-09
160
글번호 66271
답변완료
수고가 많으십니다 시스템식 수정 부탁드립니다
1..위 식에서 당일 시가 부터 움직여서 기준가를 인식하여 매매가 되도록 해주십시요
전일 종가나 야간장이나 모두 움직임에 대해서는 인식이 안되도록 부탁드립니다
2. 그리고 기준가에서 눌림목 0.4P마다 계속 매매신호가 발생하는데 이것을 그냥 조건만
되면 첫 신호가 나오게 좀 해주십시오,,,,수정한것은 기준가에서 한번만 하도록
수정이 되었는데 제가 생각하는 것과는 조금 틀린것 같아 그러니 양해 바랍니다
만약 그것이 힘들다면 매수 신호가 한번 나오면 그 다음은 매도 신호가 나올때 까지는
추가 매수신호는 나오지 않도록 해 주십시요 즉 매수 한번 하고 나면 그 다음은 매도
신호가 나올때 까지는 매매신호가 나오지 않도록 부탁드립니다
3. 하루 매매횟수를 제한을 할수 있도록 해 주시면 감사하겠습니다
즉 매수 2번 ,,,,매도 2번 등 기준가 처럼 외부에서 제한 할수 있도록 부탁드립니다
더운데 고생시켜서 죄송합니다 ,,,초보라서 아는게 없어 그러니 많은 양해 바랍니다
input : 기준가(250);
var : direction(0),HH(0),LL(0);
var1 = 기준가-5.0;
var2 = 기준가-2.5;
var3 = 기준가;
var4 = 기준가+2.5;
var5 = 기준가+5.0;
if crossup(C,var1) Then {
direction = 1;
HH = H;
}
if crossup(C,var2) Then {
direction = 2;
HH = H;
}
if crossup(C,var3) Then {
direction = 3;
HH = H;
}
if crossup(C,var4) Then {
direction = 4;
HH = H;
}
if crossup(C,var5) Then {
direction = 5;
HH = H;
}
if CrossDown(C,var1) Then {
direction = -1;
LL = L;
}
if CrossDown(C,var2) Then {
direction = -2;
LL = L;
}
if CrossDown(C,var3) Then{
direction = -3;
LL = L;
}
if CrossDown(C,var4) Then {
direction = -4;
LL = L;
}
if CrossDown(C,var5) Then {
direction = -5;
LL = L;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if stime >= 090000 and stime < 150000 then{
if direction == 1 and HH >= var1+0.8 Then buy("b1",AtLimit,HH-0.4);
if direction == 2 and HH >= var2+0.8 Then buy("b2",AtLimit,HH-0.4);
if direction == 3 and HH >= var3+0.8 Then buy("b3",AtLimit,HH-0.4);
if direction == 4 and HH >= var4+0.8 Then buy("b4",AtLimit,HH-0.4);
if direction == 5 and HH >= var5+0.8 Then buy("b5",AtLimit,HH-0.4);
if direction == -1 and LL <= var1-0.8 Then Sell("s1",AtLimit,LL+0.4);
if direction == -2 and LL <= var2-0.8 Then Sell("s2",AtLimit,LL+0.4);
if direction == -3 and LL <= var3-0.8 Then Sell("s3",AtLimit,LL+0.4);
if direction == -4 and LL <= var4-0.8 Then Sell("s4",AtLimit,LL+0.4);
if direction == -5 and LL <= var5-0.8 Then Sell("s5",AtLimit,LL+0.4);
}
2013-08-09
171
글번호 66270
답변완료
수식 문의 드립니다.
옵션 수식 문의 드립니다.
1. c가 ma(c,20)를 Golden cross && 0.5 이상 또는 c가 ma(c,20)를 Golden cross && 3.0 이하 : 매수
2. c가 ma(c,20) 하향시 : 매도
부탁 드립니다.
2013-08-09
134
글번호 66269
답변완료
수식 문의드립니다. ^^
수식 답변 주셔서 너무너무 감사합니다. ^^
질문 1. 시가보다 300원이 상승할때 즉시 매도하는 수식을 원하는데요
봉이 완성되었을때가 아니라 말그대로 현재가가 시가보다 300원이 상승할때
매도하는 수식은 없는건가요??
장 시작하고 22초후에 시가보다 300원이 상승하면 바로 매도 주문 나가게 하고 싶습니다. ^^ (중복진입 불허)
질문 2. if식은 봉이 완성되었을때 즉 1분봉이면 300원이 상승하더라도 즉시 주문이 나가지 않고
봉이 완성되는때(예: 600원 상승) 주문이 나간다고 알고 있는데요
그렇다면 if식이 아닌 지정가격 즉 "시가+300원"일때 매도 하는 식은 없나요?
아래의 수식은 답변주신 내용을 조금 수정한 건데요. 이게 맞는지 확인 좀 부탁드립니다. ^^
시가보다 300원 상승할때 10계약 매도하고 300원 하락할때 10계약 매수하고(중복거래 안함)
시가보다 500원 상승할때 10계약 매도하고 500원 하락할때 10계약 매수하고(중복거래 안함)
3시 정각에 신호에 따라 매매된 잔고의 20%를 청산
3시 1분에 신호에 따라 매매된 잔고의 20%를 청산
3시 2분에 신호에 따라 매매된 잔고의 20%를 청산
3시 3분에 신호에 따라 매매된 잔고의 20%를 청산
3시 4분에 잔고의 전량 청산
아래의 수식이 위의 내용이 맞는가요~?
var : cnt(0),scount(0),bcount(0);
scount = 0;
bcount = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) and IsEntryName("s",cnt) == true Then
scount = scount+1;
if sdate == EntryDate(cnt) and IsEntryName("b",cnt) == true Then
bcount = bcount+1;
}
if MarketPosition <= 0 and stime < 150000 and scount < 1 Then
Sell("s",atlimit,dayopen+300,10);
if MarketPosition >= 0 and stime < 150000 and scount < 1 Then
buy("b",atlimit,dayopen-300,10);
if MarketPosition <= 0 and stime < 150000 and scount < 1 Then
Sell("s",atlimit,dayopen+500,10);
if MarketPosition >= 0 and stime < 150000 and scount < 1 Then
buy("b",atlimit,dayopen-500,10);
if MarketPosition == 1 Then{
if stime == 145900 Then
exitlong("bx1",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150000 Then
exitlong("bx2",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150100 Then
exitlong("bx3",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150200 Then
exitlong("bx4",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150200 Then
exitlong("bx5",AtMarket);
}
if MarketPosition == -1 Then{
if stime == 145900 Then
ExitShort("sx1",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150000 Then
ExitShort("sx2",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150100 Then
ExitShort("sx3",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150200 Then
ExitShort("sx4",AtMarket,def,"",int(MaxContracts*0.2),1);
if stime == 150200 Then
ExitShort("sx5",AtMarket);
}
2013-08-09
162
글번호 66268
답변완료
시스템수정
문의드립니다
### 시스템_1호 ###
ZZ=ema(accum(ema(ema(DP1-DM1);
if ZZ > ZZ[1] Then
var6 = 1;
Else
var6 = 0;
if var6 == 1 and var6[1] != 1 Then
var11 = 1 ; # buy();
if var6 == 0 and var6[1] != 0 Then
var11 = -1; #sell();
질문1)
현재봉의 지표값이 1이고 3개전의 지표값이 1일때 var11=1
현재봉의 지표값이 0이고 3개전의 지표값이 0일때 var11=-1
#### 시스템_2호 ####
var7 = MACD(short1,long1);
var8 = ema(var7,Signal1);
var9 = sar(af,maxaf);
if var7 > var8 Then{
if C > var9 Then
XX = 12;
Else
XX = 4;
}
Else{
if var9 > C Then
XX = -12;
Else
XX = -4;
}
if var7 > 0 Then
YY = 20;
Else
YY = -20;
if crossup(XX+YY,0) Then
var12 = 1; # buy();
if CrossDown(XX+YY, 0) Then
var12 = -1; # sell();
질문2)
현재봉의 지표값이 0 이상이고 3개전봉의 지표값이 0 이상일대 var12=1
현재봉의 지표값이 0 이하이고 3개전봉의 지표값이 0 이하일대 var12=-1
감사합니다.
2013-08-09
176
글번호 66267
답변완료
종목검색시 최소기간 설정
안녕하세요~
이전 질문의 답변으로 아래와 같이 써주셨는데요..
//종목검색 속성화면에서 검색에 필요한 최소기간을 200으로 지정하신후에
//5분봉에서 검색하셔야 합니다.
검색에 필요한 최소기간 설정하는 부분이 없던데요...
설명 부탁드립니다.
감사합니다.
2013-08-08
379
글번호 66266
회원 님에 의해서 삭제되었습니다.
2013-08-08
0
글번호 66265
회원 님에 의해서 삭제되었습니다.
2013-08-09
8
글번호 66264
답변완료
기본 수식 부탁드립니다.
대신 사이보스를 사용했었는데, 예스를 사용해 보고자 합니다.
초보적인 수식 좀 부탁드려요~
1봉전 고가가 최고가이고, 1봉전 봉은 음봉이고, 현재봉도 음봉이고, 현재봉의 시가가 종가보다 0.3 이상이면 매도 진입
전일 종가보다 금일 시가가 크고, 종가가 시가보다 0.3 이상인 양봉에서 매수
청산은 0.5 수익에서 청산
손절은 1 손실에서 손절
부탁드려요^^
2013-08-08
172
글번호 66263