커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8204
글번호 230811
답변완료
질문입니다.
RSI(14)가 30이하 이탈후 30돌파까지 발생한 봉의 갯수와 최저가를 구하는 수식부탁드립니다..
2014-02-07
206
글번호 72292
묘선낭자 님에 의해서 삭제되었습니다.
2014-02-07
0
글번호 72291
묘선낭자 님에 의해서 삭제되었습니다.
2014-02-07
0
글번호 72290
묘선낭자 님에 의해서 삭제되었습니다.
2014-02-07
0
글번호 72289
답변완료
부탁드립니다.
아래처럼 시스템식을 만들어봤는데요.
b1,bx1,s1,sx1은 작동을 하는데 b2와 s2가 생기질 않는군요. 원인이 뭘까요?
(var1부터 var8까지 규정하고 난 후)
condition1=Marketposition==0 and Marketposition(1)==1 and IsExitName("bx1")==True;
condition2=Marketposition==0 and Marketposition(1)==-1 and IsExitName("sx1")==True;
If condition1==false and crossup(var5,var6) Then{
Buy("b1",onclose,1);
}
If Marketposition==1 and Isentryname("b1")==True and L<=Entryprice-0.1 Then{
Exitlong("bx1",atstop,Entryprice-0.1,def,1);
}
If condition1==True and L<=var8 Then{
Buy("b2",atlimit,var8,1);
Playsound("K:₩음성₩핀치히터매수.wav");
}
If Marketposition==1 and Isentryname("b2")==True and H>=Entryprice+1.5 Then{
Exitlong("bx2",atlimit,Entryprice+1.5,def,1);
Playsound("K:₩음성₩핀치히터청산.wav");
}
If condition2==false and crossdown(var5,var6) Then{
Sell("s1",onclose,1);
}
If Marketposition==-1 and Isentryname("s1")==True and H>=Entryprice+0.1 Then{
Exitshort("sx1",atstop,Entryprice+0.1,def,1);
}
If condition2==True and H>=var7 Then{
Sell("s2",atlimit,var7,1);
Playsound("K:₩음성₩핀치히터매도.wav");
}
If Marketposition==-1 and Isentryname("s2")==True and L<=Entryprice+1.5 Then{
Exitshort("sx2",atlimit,Entryprice-1.5,def,1);
Playsound("K:₩음성₩핀치히터청산.wav");
}
2014-02-07
184
글번호 72288
자아준 님에 의해서 삭제되었습니다.
2014-02-07
18
글번호 72287
답변완료
청산식 수정좀 요청드립니다.
14시37분이 지나고,
- 매수 포지션은 호가이평오실레이터가 파란색(전봉보다 작아짐)이면 청산
- 매도 포지션은 호가이평오실레이터가 빨간색(전봉보다 커짐)이면 청산
하는 청산식을 추가했는데 작동하지 않습니다.
if MarketPosition == 1 and stime > 143700 and Var10 < Var10[1] then ExitLong("1신호마감");
if MarketPosition == -1 and stime > 143700 and Var10 > Var10[1] then Exitshort("-1신호마감");
요 부분인데요... 이유를 알려주세요 ㅠㅠ
=======================================================================================
## 변수설정
inputs : 당일청산시간(150310),hoga_p(4);;
var10 = ema(bids,hoga_p)-ema(asks,hoga_p);
## 진입
if MarketPosition == 0 and stime < 130000 Then
{
if bids > asks then Buy("매수");
if bids < asks then Sell("매도");
}
# 청산
if MarketPosition == 1 and stime > 100000 and BarsSinceEntry(0) > 20 and crossdown(ema(c,5),ema(c,20)) then ExitLong("1청산");
if MarketPosition == -1 and stime > 100000 and BarsSinceEntry(0) > 20 and crossup(ema(c,5),ema(c,20)) then ExitShort("-1청산");
if MarketPosition == 1 and stime > 143700 and Var10 < Var10[1] then ExitLong("1신호마감");
if MarketPosition == -1 and stime > 143700 and Var10 > Var10[1] then Exitshort("-1신호마감");
SetStopTrailing(0.01,2.1,PointStop);
setstoploss(1.5,PointStop);
SetStopEndofday(당일청산시간);
2014-02-06
178
글번호 72286
답변완료
부탁합니다
아래는 진입조건의 식인데요,,,
정규장에 사용하던 식을 복합장에 사용하려 하구요,,,
단지 신호는 아침9시부터 오후3시까지만 나오게 하고싶은데,,,
시간조건문을 어떻게 넣어야 할지 몰라서 문의드립니다,,,
if CrossUp(c,a) and c>DayOpen and c>value2 and c>value1 Then
buy("매수");
부탁드립니다..
2014-02-06
178
글번호 72285
답변완료
작동이 안돼요..
안녕하세요..예스스탁님의 답변을 가지고 메인을 콜옵션으로
data2를 선물지수로 하였는데..
그런데 작동이 안됩니다..뭐가 문제인지 모르겠습니다
한번 봐주시기 바랍니다..
=========================================================
안녕하세요
예스스탁입니다.
선물데이터를 이용해 옵션을 거래하고자 하시면
옵션이 기본종목이 되어야 하고 선물이 data2가 되어야 합니다.
input : P(20),dv(0),Period(14);
var : bbup(0,data2),bbdn(0,data2),diff(0,data2),mav(0,data2),adxv(0,data2);
bbup = data2(BollBandUp(P,dv));
bbdn = data2(BollBandDown(P,dv));
diff = data2(bbup-bbdn);
mav = data2(ma(diff,10));
adxv = data2(adx(Period));
if diff >= mav[1]*1.5 and
crossup(c,bbup) and
adxv > adxv[1] Then
buy();
if MarketPosition == 1 and adxv < adxv[1] Then
ExitLong();
즐거운 하루되세요
-------------------------------------------------
> 머니사이언스 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 수고하십니다..저는 선물지수를 기준으로해서 옵션을 매매하고 싶습니다..
그럴 경우 선물지수를 메인으로 띄우고 콜옵션을 Data2로 차트를 띄을 경우
아래식을 어떻게 수정해야 하나요..
즉, 옵션이 아닌 선물을 기준으로 신호나오는 거 보고 옵션 거래하려 한다 이말이죠..
밑에 식은 매도진입이 빠졌는데 풋옵션을 거래코자 할때는 참조종목 data3로 뛰워서
할려고 합니다..
제가 실력이 좀 없어서요..부탁드립니다..
-----------------------------------------------------
input : P(20),dv(0),Period(14);
var1 = BollBandUp(P,dv);
var2 = BollBandDown(P,dv);
var3 = var1-var2;
var4 = ma(var3,10);
var5 = adx(Period);
if var3 >= var4[1]*1.5 and
crossup(c,var1) and
var5 > var5[1] Then
buy();
if MarketPosition == 1 and var5 < var5[1] Then
ExitLong();
2014-02-06
174
글번호 72284