커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8164
글번호 230811
답변완료
수식수정 부탁드립니다
안녕하세요,
참조데이터를 활용하는 시스템을 작성하여 시뮬레이션을 돌려보았는데 아무런 시그널이 발생하지 않습니다. 어느 부분을 고쳐야하는지 도움 부탁드리겠습니다.
data1은 500틱 데이타, data2는 60분봉 데이타, data3는 일봉 데이타 입니다.
수식을 간단하게 설명드리면,
data3의 일봉데이타에서 5이평이 60이평보다 위이고,
data2의 60분봉 5이평, 20이평, 60이평이 정배열 상태이며,
data1의 500틱 데이타에서 봉 완성에 걸린 시간이 200초 미만이고, 볼린저 밴드 상단을 돌파하는 경우에 매수하라는 시스템 입니다.
수정 부탁드리겠습니다. 감사합니다.
Input : BelowSecond(200);
Var : SS(0),TS(0), Second(0);
Var : MA3_60(0, Data3), MA3_20(0, Data3), MA3_5(0, Data3);
Var : MA2_60(0, Data2), MA2_20(0, Data2), MA2_5(0, Data2);
Var : MA1_60(0, Data1), MA1_20(0, Data1), MA1_5(0, Data1);
Var : BBUp(0, Data1), BBDn(0, Data1) ;
MA3_60 = Data3(Ma(Close, 60));
MA3_20 = Data3(Ma(Close, 20));
MA3_5 = Data3(Ma(Close, 5));
MA2_60 = Data2(Ma(Close, 60));
MA2_20 = Data2(Ma(Close, 20));
MA2_5 = Data2(Ma(Close, 5));
MA1_60 = Data1(Ma(Close, 60));
MA1_20 = Data1(Ma(Close, 20));
MA1_5 = Data1(Ma(Close, 5));
BBUp = Data1(BollBandUp(20,2));
BBDn = Data1(BollBandDown(20,2));
#체결속도지표
#봉의 시작날짜와 끝날짜가 같은 경우
If sdate == date then{
#봉시작
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;//시작시간 초
SS = var1+var2;
#봉끝
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;//긑시간 초
TS = value1+value2;
Second = TS-SS;
};
#봉의 시작날짜와 끝날짜가 다른 경우
If sdate != date then{
#봉시작
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;//시작시간 초
SS = 86400-(var1+var2);
#봉끝
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;//긑시간 초
TS = value1+value2;
Second = TS+SS;
};
#Buy 조건
If (MA3_5 > MA3_60) Then
If (MA2_5 > MA2_20) and (MA2_20 > MA2_60) Then
If (Data1(Second) <= BelowSecond) and Data1(CrossUp(Close, BBUp)) Then
Buy("B1", OnClose);
;
#Buy Exit 조건
If Data1(CrossDown(MA1_5, MA1_60)) Then
ExitLong("BX1", OnClose);
If Data2(CrossDown(MA2_5, MA2_20)) Then
ExitLong("BX2", OnClose);
2016-09-04
159
글번호 101655
답변완료
문의드립니다.
안녕하세요.
주식 일봉차트에서 그림 모양처럼
1. n봉 기간 중
최고가 a를 먼저 찍고 최저가 b를 찍고 (조건 ; a>b*2 )
이후 반등고점 c를 찍고 (조건 : c > (a+b)/2 and c < a )
이후 현재저가 d < (b+c)/2 and d>b 이고
현재저가 d는 고점c 이후 최저가인 종목을 검색하는 수식
2. n봉 기간 설정 없이 차트창에 나오는 전체기간 중에서
위 1의 내용과 같은 종목검색식
수고하세요.
2016-09-04
178
글번호 101654
답변완료
문의 드립니다.
안녕하세요
국내선물 주간,야간 복합차트에서 맨 마지막 봉의
고가, 저가를 표시하고 싶습니다.
감사합니다.
2016-09-04
164
글번호 101653
답변완료
문의합니다
nh트레이더의 시뮬네이션 차트에는 틱봉 검색이 없나요(국내선물)
그럼 예스트레이더에는 있나요
부탁합니다
2016-09-04
178
글번호 101652
답변완료
지표 부탁드립니다
macd 지표를 두개를 한번에 나타내는건 했는데 같은 macd로 정의되다보니 두macd사이를 채우기가 되지 않네요
macd와 macd1로 구분하니 macd1이 정의되지 않았다고 나옵니다
macd가 macd1보다 클때 색깔 넣을수 있도록
채우기 할수있는 방법 부탁드립니다
아니면 macd와 macd1이 교차되는 지점에 바탕색이 변하게 설정할수 있는지도 궁금합니다
감사합니다
Input : shortPeriod(12), longPeriod(26), Period(9);
Var : value(0) , macdosc(0) ;
value = MACD(shortPeriod, longPeriod);
macdosc = value-ema(value,Period);
Plot1(value, "MACD");
Plot2(ema(value,Period), "MACDSignal");
PlotBaseLine1(0, "기준선1");
Input : shortPeriod1(6), longPeriod1(13), Period1(4.5);
Var : value1(0) , macdosc1(0) ;
value1 = MACD(shortPeriod1, longPeriod1);
macdosc1 = value1-ema(value,Period);
Plot3(value, "MACD");
2016-09-04
158
글번호 101651
동동이아빠 님에 의해서 삭제되었습니다.
2016-09-04
72
글번호 101650
답변완료
매수매도식부탁드립니다
추가 수식부탁드립니다
매수신호:DEMA 단기선 상승 + 단기선,중기선,중장기,장기선 정배열 + adx 상승 + 단기볼린져밴드 상단하단 벌어짐
매도신호:DEMA 단기선 하락 + 단기선,중기선,중장기,장기선 역배열 + adx 상승 + 단기볼린져밴드 상단하단 벌어짐
감사합니다
2016-09-03
169
글번호 101649
답변완료
수식검토와 새 지표식부탁드립니다
안녕하세요
1. 49439에서 작성해주신 수식에서 adx상승내용이 빠져있는것같아 다시 검토부탁드립니다
식을 제가 아래처럼 수정해보았는데 신호가 잘 안맞습니다
input : n(7),k(0.1),P1(5);
input : ADXP(2);
var : T1(0),T2(0),T3(0),MM(0),ADXV(0);
var : Bcond(false),Scond(false);
var1 = C-C[n-1];
var2 = n*k;
var3 = ATan(var1/var2)*180/3.14;
value1 = ma(C,P1);
value2 = value1-value1[n-1];
value3 = n*k;
value4 = ATan(value2/value3)*180/3.14;
if var3>var3[1] Then
T1 = 1;
Else
T1 = -1;
if value4>value4[1] Then
T2 = 1;
Else
T2 = -1;
mm = MedianPrice;
adxv = ADX(ADXP);
if mm > mm[1] and ADXV > ADXV[1] Then
T3= 1;
if mm < mm[1] and ADXV > ADXV[1] Then
T3 = -1;
Bcond = T1 == 1 and T2 == 1 and T3 == 1 ;
scond = T1 == -1 and T2 == -1 and T3 == -1 ;
if Bcond == true and Bcond[1] == false then
buy("기울기매수");
if Scond == true and Scond[1] == false then
sell("기울기매도");
2.그리고 이평기울기각도식에서 수식1과 수식2선이 adx가 상승하면 굵어지는 식으로 변경부탁드립니다
재차 감사 말씀드립니다
2016-09-03
169
글번호 101648
답변완료
예스로 변환부탁 드려요
안녕하세요!
아래는 키움 수식인데 이걸 예스로 변환 부탁드립니다
참고 그림이 없어서 첨부를 못했습니다
부탁드립니다. 감사합니다
매수진입
a=100*( (avg( (C+H+L)/3,20)+2*Stdev((C+H+L)/3,20))
-(Avg((C+H+L)/3,20)-2*Stdev((C+H+L)/3,20))) / Avg
((C+H+L)/3,20);
CrossUp(c,highest(H(1),수치)) and a>기간
매수청산
Crossdown(c,lowest(L(1), 수치))
매도진입
Crossdown(c,lowest(L(1),수치))
and a>기간
매도청산
CrossUp(c,highest(H(1),수치))
지표조건설정
기간:0.4
수치:10
빨강:매수, 파랑:매도, 분홍:매도청산, 하늘:매수청산
2016-09-03
206
글번호 101647