커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7887
글번호 230811
답변완료
문의
단기, 중기, 장기 지수이평이 정배열 일 때, 현재가가 단기이평을 아래 있다
상향돌파시 매수,
매수쳥산은 단기이평 하향돌파시
매도는 단기, 중기, 장기 지수이평이 역배열 시 현재가가 단기이평위에 있다
하향돌파시 매도, 매도청산은 단기이평 상향돌파시
매수 매도 둘다 2 시이후에는 신호가 안나오게... (당일청산용이므로)
이평값은 변수처리하게 부탁합니다
감사합니다
2004-04-19
1015
글번호 3245
답변완료
Stochastics 수식 문의
sto k/d 교차식에서 sto k 값이 직전 골드크로스 때의 k 값보다 현재 골드 때의
k 값이 크고 50 이하이면 매수, 매수청산은 k/d 데드.
매도는 직전 k/d 데드 때의 k 값보다 현재 데드 때의 k 값이 더 작고 50 이상이면 매도,
매도청산은 k/d 골드.
위 식을 period 는 변수처리할 수 있게 부탁드립니다
50 이하, 50 이상도 변수처리할 수 있음 좋겠읍니다
2004-04-19
1064
글번호 3244
답변완료
시스템 문의
기존 예스트레이드프로에 있는 골든 데드 크로스 시스템식을 5일과 120일선으로 고쳐 적용했는데 시험적용해보니 20일선에서 매수 매도가 됩니다. 왜 그런지요?
제가 숫자만 20을 60으로 고쳤는데 그렇게 됬네요 현물에 적용시킨 결과입니다.
답변부탁드립니다
2004-04-19
1167
글번호 3243
답변완료
지표식을 구합니다
예를 들어 5일 이동평균선적용 하면
하나의 그래프가 나타나는데
원하는 지표식은
이동평균선을 중심으로 아래위로 일정한 비율로
그래프가 또 하나 그려지는 지표식을 원합니다(전체는 선이 3개가 되도록)
또하나더
5일 이동평균선 하향 이탈 하는
검색식도 부탁 합니다
2004-04-18
1111
글번호 3242
답변완료
선물 시스템식으로 옵션네이키드 매수 시스템식은?
아래와 같은 시스템식을 이용하여,옵션 네이키드 매수식을
작성할려고 합니다.
선물시스템에서 매수식이 나오면, 콜옵션을 매수하고
선물시스템에서 매수청산이 나오면 콜옵션 매수청산
선물시스템에서 매도식이 나오면, 풋옵션을 매수하고
선물시스템에서 매도청산이 나오면 풋옵션 매수청산
이런식으로 할려고 하는데 어떻게 하는건지요?
가능하면 원문 그대로 사용가능한 시스템식을 부탁드립니다.
만약, 콜,풋을 상기와 같이 매수,청산이어렵다면,
콜옵션 기준으로만 시스템식을 부탁드립니다.
var : slowK(0), slowD(0), macdV(0), macdS(0), ma1(0), ma2(0);
var : Cond1(0), Cond2(0), Cond3(0), Cond4(0), Cond5(0), Cond6(0), buyCond(0), bPosition(0);
slowK = stochasticsK(20,12); //stochastics slowK선
slowD = stochasticsD(20,12,12); //stochastics slowD선
macdV = macd(12,26); //macd선
macdS = ema(macdV,9); //macd signal선
ma1 = ma(C,5); //단기이동평균
ma2 = ma(C,20); //장기이동평균
Cond1 = CrossUp(slowK, slowD); //매수조건1
Cond2 = CrossUp(macdV, macdS); //매수조건2
Cond3 = CrossUp(ma1, ma2); //매수조건3
Cond4 = CrossDown(slowK, slowD); //매수청산조건1
Cond5 = CrossDown(macdV, macdS); //매수청산조건2
Cond6 = CrossDown(ma1, ma2); //매수청산조건3
//매수식
if bposition != 1 then Begin
if Cond1 then {
buy();
buyCond = 1;
bposition = 1;
}
if Cond2 then {
buy();
buyCond = 2;
bposition = 1;
}
if Cond3 then {
buy();
buyCond = 3;
bposition = 1;
}
End;
//매수청산식
if buyCond == 1 and Cond4 then {
exitlong();
bPosition = 0;
}
if buyCond == 2 and Cond5 then {
exitlong();
bPosition = 0;
}
if buyCond == 3 and Cond6 then {
exitlong();
bPosition = 0;
}
2004-04-18
1367
글번호 3241
답변완료
분할매매는 어떻게 하나요?
예를들어 최초로 10계약을 한번에 매수한 상태에서,
0.2point 오를때마다 1계약씩 매수청산하고 싶은데요.
ExitLong 함수를 써니까 처음으로 0.2point 오를때
10계약 모두 청산해버리네요. 당연한 결론. ^^;
> ExitLong("청산",AtMarket,DEF);
그래서 시스템설정에서 매수/매수청산 설정하고 나서,
Sell 함수를 써서 계약수를 1로 지정해도 마찬가지 결과가 나오네요.
> Sell("청산",AtMatket,DEF,1);
그래서 마지막으로 시도해본 것이 For문으로 1계약씩 10번을
최초에 매수하도록 했습니다만 결과는 마찬가지입니다.
결론적으로 한봉에서 이루어진 매수/매도는 그 계약수에 상관없이
청산할때 하나의 set로 간주해서 동일한 계약수로 청산하는 것 같네요.
분할청산의 방법을 가르쳐 주시면 감사하겠습니다.
2004-04-17
1281
글번호 3240
답변완료
시스템 질문..
아래의 시스템식(예스에서 제공하는 예제식임)
을 보면 변수로서, 매도상태와,매수 상태를 체크하시는데.
시스템에 의해 매수 진입후, 전원을 끈후 다시 실행할경우 예전의
변수(즉 매수진입시 사용햇던 매수(상태를 표시하는)변수(아래의 bpositon)의 값이
유지 되는지요?
var : slowK(0), slowD(0), macdV(0), macdS(0), ma1(0), ma2(0);
var : Cond1(0), Cond2(0), Cond3(0), Cond4(0), Cond5(0), Cond6(0), buyCond(0), bPosition(0);
slowK = stochasticsK(20,12); //stochastics slowK선
slowD = stochasticsD(20,12,12); //stochastics slowD선
macdV = macd(12,26); //macd선
macdS = ema(macdV,9); //macd signal선
ma1 = ma(C,5); //단기이동평균
ma2 = ma(C,20); //장기이동평균
Cond1 = CrossUp(slowK, slowD); //매수조건1
Cond2 = CrossUp(macdV, macdS); //매수조건2
Cond3 = CrossUp(ma1, ma2); //매수조건3
Cond4 = CrossDown(slowK, slowD); //매수청산조건1
Cond5 = CrossDown(macdV, macdS); //매수청산조건2
Cond6 = CrossDown(ma1, ma2); //매수청산조건3
//매수식
if bposition != 1 then Begin
if Cond1 then {
buy();
buyCond = 1;
bposition = 1;
}
if Cond2 then {
buy();
buyCond = 2;
bposition = 1;
}
if Cond3 then {
buy();
buyCond = 3;
bposition = 1;
}
End;
//매수청산식
if buyCond == 1 and Cond4 then {
exitlong();
bPosition = 0;
}
if buyCond == 2 and Cond5 then {
exitlong();
bPosition = 0;
}
if buyCond == 3 and Cond6 then {
exitlong();
bPosition = 0;
}
2004-04-17
1369
글번호 3239
답변완료
검색식의 차이점은..?
아래 두 검색식의 차이점은 무었입니까...?
검색식 1)
Input : shortPeriod(5), longPeriod(20);
Var : value1(0), value2(0), value3(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
If CrossUp(value1,value2) Then
{
If C == C[1] Then //
value3 = 0.001; //
Else
value3 = (C-C[1])/C[1]*100; //
}
Else
value3 = 0;
Find(value3);
검색식 2)
Input : shortPeriod(5), longPeriod(20);
Var : value1(0), value2(0), value3(0);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
If CrossUp(value1,value2) Then
value3 = 1;
Else
value3 = 0;
Find(value3);
2004-04-17
1436
글번호 3238
답변완료
수식어 predayhigh에 대하여
predayhigh와 Dayhigh[1]은 이론상 같은 의미입니다. 그런데, 실제로 수식에 적용해보니 효과가 다르게 나옵니다. 전날 고가보다 높으면 매수하라는 수식에서 predayhigh를 쓰면 전날 고가를 돌파해야 매수신호가 나오지만, Dayhigh[1]을 쓰면 전날 고가가 돌파되지 않아도 매수신호가 나옵니다.
그 원인과 양자의 수식어 차이를 설명해주시면 고맙겠습니다. 혹시,predayhigh라는 수식어가 예스프로에서 없어진 것은 아닌지요...?
2004-04-17
1646
글번호 3237