커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8142
글번호 230811
답변완료
수식 부탁드립니다.
안녕하세요. 예스트레이더 설치 한달도 안 된 초보입니다.
제가 원하는 수식은 2이평선이 5이평선을 돌파한 후 다시 10이평선을 돌파하고 다시 20이평선을 돌파했을 때 이때 매수하는 전략입니다. 즉 상승세가 계속 되었을 때 매수하는 전략인데, EZ생성기로 생성을 했는데 매수 자체가 안 일어납니다. 수식 수정해주셔도, 새로운 수식도 좋습니다. 부탁드리겠습니다^^
아래는 EZ생성기로 생성된 수식입니다.
Input : B_A_Period1(2), B_A_Period2(5);
Input : B_B_Period1(5), B_B_Period2(10);
Input : B_C_Period1(10), B_C_Period2(20);
Var : B_A_value1(0), B_A_value2(0);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition1(FALSE);
Var : B_B_value1(0), B_B_value2(0);
Var : B_B_CondResult(FALSE), B_B_TempResult(FALSE), B_B_Condition1(FALSE);
Var : B_C_value1(0), B_C_value2(0);
Var : B_C_CondResult(FALSE), B_C_TempResult(FALSE), B_C_Condition1(FALSE);
B_A_value1 = MA(Close,B_A_Period1);
B_A_value2 = MA(Close,B_A_Period2);
B_B_value1 = MA(Close,B_B_Period1);
B_B_value2 = MA(Close,B_B_Period2);
B_C_value1 = MA(Close,B_C_Period1);
B_C_value2 = MA(Close,B_C_Period2);
B_A_Condition1 = CrossUp(B_A_value1,B_A_value2);
B_A_TempResult = B_A_Condition1;
B_A_CondResult = B_A_TempResult;
B_B_Condition1 = CrossUp(B_B_value1,B_B_value2);
B_B_TempResult = B_B_Condition1;
B_B_CondResult = B_B_TempResult;
B_C_Condition1 = CrossUp(B_C_value1,B_C_value2);
B_C_TempResult = B_C_Condition1;
B_C_CondResult = B_C_TempResult;
If B_A_CondResult and B_B_CondResult and B_C_CondResult Then
{
Buy();
}
2014-09-16
264
글번호 78592
답변완료
문의드립니다.
1.이평 120선이 240선 위에 있고 음봉에 매수. 손절은 당일 저가.익절은 70틱.
손절이 되거나 익절이 되면 거래는 한번으로 종료.
오후 9시에 시작. 오전 04시30분 청산..거래종료..
2.이평 120선이 240선 아래의 있고 양봉에 매도.손절은 당일 고가.익절은 70틱.
손절이 되거나 익절이 되면 거래는 한번으로 종료.
오후 9시에 시작. 오전 04시30분 청산..거래종료..
3.이평 120선이 240선 위에 있고 음봉에 매수. 손절은 당일저가.익절은 30틱.
단, 매수가 진행됐다면 손절이 되던 익절이 되던 결정이 나면 그 다음은 진입은
매수 반대인,120선이 240선 아래에 있고 양봉에 매도진입. 손절 당일고가.익절30틱.
즉,매수 진입을 했다면 매수에 대한 청산이 되고,다음 진입은 매도..매도가 청산되면
매수..
오전 7시30분에 시작해서 오후 9시에 청산 및 거래종료..
부탁드리겠습니다. 수고하세요.
2014-09-16
183
글번호 78591
답변완료
문의합니다.
1. macd가 -100을 상향돌파후 스토케스틱이 40선을상향돌파하면 매수신호발생하게 해주세요
2. macd가 -100이하일때 스토케스틱이 40선을상향돌파하면 매수신호발생하게 해주세요
2014-09-16
172
글번호 78590
태양같이 님에 의해서 삭제되었습니다.
2014-09-16
18
글번호 78589
답변완료
부탁드립니다.
수고많으십니다.
시스템식 부탁드립니다.
*시가에 매수 (반드시 시가와 매수한 단가가 같아야함)
손절 : 손실 0.4P 되면 손절 처리
익절 : 최대 수익 0.4P ~ 0.65P 에서 +0.1P 되면 익절처리
청산 : 수익 0.7P 도달시 청산
하루에 한번만 매매
2014-09-16
195
글번호 78588
답변완료
수식 문의?
안녕하세요.
일전에 시스템식을 문의를 해서 아래와 같은 답을 얻었는데요..
<시스템식>
if date != date[1] Then
Condition1 = false;
if Condition1 == false and dayhigh-daylow >= 1 Then{
Condition1 = true;
if C > dayopen Then
Buy();
Else
sell();;
}
즉.. 장이 시작하여 변폭이(저가와 고가차이) 1.0 포인트가 되는 시점에서
시가위면 매수 아래면 매도 인데요(당일 딱 한번만).
이걸 시스템성능보고서로 돌려보면 가격이 정확하게 진입이 되질 않고
테스트 하는 분봉(1분봉 또는 2분봉 등..) 종가에 진입되는데요.
예를 들어 당일 장이 270.00 시가로 시작하여 269.80 까지 밀렸다가
270.80 을 찍으면 변폭이 1.0포인트가 되는데요. 딱 270.80에 진입이 된걸로해서
시스템 성능보고서를 볼수는 없는지요?
수고하세요.....
2014-09-16
191
글번호 78587
답변완료
문의드립니다
선물 만기일 이후, 당월물 외국인 선물 누적 순매수금액과 순매수 수량에 대한
지표를 부탁드립니다(일봉과 분봉 지표로 부탁드립니다)
2014-09-16
201
글번호 78579
답변완료
타주기 시스템식 수정
항상 감사드립니다
아래 타주기 시스템이 잘만들어지질 되질 않아 다시올립니다
수정부탁드립니다
input : Period(30),ma1(5),ma2(20),shortperiod(12),Longperiod (26),signalperiod(9),baseLine(0);
var : AA(0,data1),BB(0,data1),AAA(0,data2),BBB(0,data2);
AA=data1(PVI);
BB=data1(ema(AA,period));
AAA=data2(PVI);
BBB=data2(ema(AAA,period));
***아래 조건식을 다음과 같이 바꾸고 싶습니다
1-1,주챠트에서 AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >=
baseLine 이면 v10=1
1-2,보조챠트에서 AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod)
>= baseLine 이면 v20=1
1-3,주챠트에서 AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <=
baseLine이면 v10=-1
1-4,보조챠트에서 AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod)
<= baseLine 이면 v20=-1
if data1(AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) And
data2(AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) Then
buy("B1");
if data1(AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) And
data2(AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) Then
sell("S1");
#########################
### MACD_OSC 기준매매 ###
#########################
input: MACDP1(12),MACDP2(26),MACDP3(9);
var : MACDV1(0,data1),MACDS1(0,data1),MACDV2(0,data2),MACDS2(0,data2);
var : MACDO1(0,data1),MACDO2(0,data2);
MACDV1 = data1(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red#
MACDS1 = data1(ema(MACDV1,MACDP3)); #MACD_OSC(9)_시그널_blue#
MACDO1 = MACDV1-MACDS1;
MACDV2 = data2(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red#
MACDS2 = data2(ema(MACDV2,MACDP3)); #MACD_OSC(9)_시그널_blue#
MACDO2 = MACDV2-MACDS2;
##########################
### 선행스팬2(52) 기준 ###
##########################
var : 선행1(0,data1),선행2(0,data2);
선행1 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52#
선행2 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52#
######################
##### ADX 시스템 #####
######################
input : Period3(10);
var : ADX1(0,data1),DP1(0,data1),DM1(0,data1);
var : ADX2(0,data2),DP2(0,data2),DM2(0,data2);
ADX1 = data1(ADX(Period3));
DP1 = data1(DiPlus(Period3));
DM1 = data1(DiMinus(Period3));
if DP1 > DM1 Then
var13= 1 ;
if DP1 < DM1 Then
var13= -1 ;
ADX2 = data2(ADX(Period3));
DP2 = data2(DiPlus(Period3));
DM2 = data2(DiMinus(Period3));
if DP2 > DM2 Then
var14 = 1 ;
if DP2 < DM2 Then
var14 = -1 ;
###### aroon ######
input : Period4(9);
var : Counter1(0,data1), Lowval1(0,data1), Highval1(0,data1);
var : DownVel1(0,data1),UpVel1(0,data1), DnAroon1(0,data1),UpAroon1(0,data1) ;
var : Counter2(0,data1), Lowval2(0,data1), Highval2(0,data1),d2h(0,data2),d2l(0,data2);
var : DownVel2(0,data1),UpVel2(0,data1), DnAroon2(0,data1),UpAroon2(0,data1) ;
d2h = data2(H);
D2L = data2(L);
Lowval1 = data1(Lowest(Low, Period4+1));
Highval1 = data1(Highest(High, Period4+1));
For counter1 = 0 To Period4 {
If Low[counter1] == Lowval1 Then
DownVel1 = counter1;
If High[counter1] == highval1 Then
UpVel1 = counter1;
}
DnAroon1 = 100*(Period4-DownVel1)/Period4;
UpAroon1 = 100*(Period4-UpVel1)/Period4;
Lowval2 = data2(Lowest(Low, Period4+1));
Highval2 = data2(Highest(High, Period4+1));
For counter2 = 0 To Period4 {
If d2l[counter2] == Lowval2 Then
DownVel2 = counter2;
If d2h[counter2] == highval2 Then
UpVel2 = counter2;
}
DnAroon2 = 100*(Period4-DownVel2)/Period4;
UpAroon2 = 100*(Period4-UpVel2)/Period4;
###########################
##### 매수/매도 조건식 ####
###########################
A. 주챠트에서 V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and
upAroon1 > DnAroon1 이고
보조챠트에서V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and
upAroon2 > DnAroon2 이면 매수/매수청산
B.주챠트에서 V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and
upAroon1 < DnAroon1 이고
보조챠트에서 V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 이면 매도/매도청산
###
data1(c>o) and V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 And
data2(c>o) and V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and upAroon2 > DnAroon2 Then
buy("buy_1");
if Scond == false and
data1(c<o) and V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 < DnAroon1 and
data2(c<o) and V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 Then
sell("sell_1");
###
감사합니다
2014-09-16
206
글번호 78578
답변완료
식문의드립니다
고생많으십니다....
식 문의드립니다
가령 엠에이시디 오실레이터로 지표를확인하고자할때
일봉으로 보자면ㅡ예로 오늘이16일임으로..ㅡ
지금 16일13시의 엠에이 오실레이터값은
전일확정된 봉의값과 현재의 가격을 계산하여 값이 나오지않습니까..
제가확인하고싶은분은..
16릴 13시값이 아닌
16일 9시값을 알고싶습니다... 이런식으로..
15일 9시값 14일9시..13일9시..
단 제가 13일9시값을 얻고자할때
12일종값까지 반영이되고 13일9시의값은
13일9시 현제가격을 반영한 오실레이터 값을 말합니다..
계산을 할수있으면 일일이하겠는데..
값이계속틀리게나와서요...
시스템으로불가능하다면
계산공식이라도 말씀해주셨으면 합니다..
엑셀로 돌린다거나..
수고하십시오.
2014-09-16
180
글번호 78577