커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4564
글번호 230811
정후아빠 님에 의해서 삭제되었습니다.
2016-08-02
19
글번호 100613
답변완료
문의드립니다
48928번재문의드립니다
문의드린 답변감사드립니다 제가원하는것은 맛습니다 그런데 한가지 더 날마다 당일즉 오픈을기준으로 중심선이 나오도록다시한번 부탁드립니다 ~~항상감사드립니다
2016-08-02
95
글번호 100612
답변완료
지표를 종목검색으로
안녕하세요
어제 짜주신 지표인데요 종목검색으로는 어떻게 하는지 부탁드립니다
고맙습니다
var : cnt(0),Hv(0);
Hv = DayVolume(1);
for cnt = 1 to 10{
if DayVolume(cnt) > hv Then
Hv = DayVolume(cnt);
}
if date != date[1] Then
Condition1 = false;
if Condition1 == false and C > O and DayVolume >= Hv*2 Then{
Condition1 = true;
plot1(H);
}
2016-08-02
95
글번호 100611
답변완료
질문입니다.
안녕하세요^ 아래수식 부탁드립니다.
1.분봉에서 지정일 N일로부터 현재날짜까지의 일수를 M이라 하고 특정 지표갑을 X라하면
X의 M제곱을 나타내는 수식부탁드립니다.
2.분봉에서 지정일 N일로부터 현재날짜까지의 일수중 토요일과 일요일을 제외한 값을 M이라 하고 특정 지표갑을 X라하면 X의 M제곱을 나타내는 수식부탁드립니다.
감사합니다^^
2016-08-02
88
글번호 100610
답변완료
48919 관련 문의
48919 지표 수식을 시스템수식으로 적용하려 하였으나 잘되지 않아 문의 드립니다.
제가 표현하고 싶은 시스템 수식은
var:bb(0),ss(0);
bb=min((DayClose(1)-DayLow(1)),(DayClose(2)-DayLow(2)));
ss=min((DayHigh(1)-DayClose(1)),(DayHigh(2)-DayClose(2)));
If DayClose(1) < DayOpen(1) and sTime>070000 and sTime<140000 then Buy("buy",AtStop,DayOpen(0)+bb);
If DayClose(1) > DayOpen(1) and sTime>070000 and sTime<140000 then Sell("sell",AtStop,DayOpen(0)-ss);
입니다.
여기서, DayOpen(),DayHigh(),DayLow(),DayClose() 값을 문의드린 조건으로 계산된 값으로 적용하는 것입니다.
번거롭게 해드려 죄송합니다.
수식 부탁 드립니다.
2016-08-02
95
글번호 100609
답변완료
수식 문의드립니다.
안녕 하세요.^^
수식 감사합니다.^^
지표 수식은 필요 없구요.^^
지표 수식을 시스템 매매수식으로 변환을 부탁드린것인데...^^*
아래 4-1 수식을 시스템에 적용해보니 수치를 5에서 30까지 적용해도 신호가 나오지 않아요.^^
그래서 참고용 사진을 올립니다.
참고용 사진에 보여지듯이 trix 크로스를조건으로 직전 최고점과 최저점을 찾아 매수및 매도신호가 나오게 하는 차트 입니다.
이신호를 시스템매매신호로 변환 적용해주세요.^^*
참고용 사진에 보시면 붉은선에 매도신호 나오게...푸른선에 매수신호 나오게 시스템식을 부탁드립니다.^^
참고=>>trix크로스를 조건으로 하되 10캔들 또는 5캔들 값을구해서 최고점값에서 매도신호 나오고 최처점값에서 매수신호 나오게한 차트 입니다. .한번 보시고 (매수,매도)시스템수식을 만들어 주십사 하는 것입니다.^^
요기서 트릭스 값은 캔들 갯수 입니다.^^
수식1
a=avg(c,20);
valuewhen(1,a>=a(1),a)
수식2
valuewhen(1,a<a(1),a)
수식1
a=avg(c,5);
b=avg(c,20);
x=valuewhen(1,crossup(a,b) or crossdown(a,b),b)
수식2
if(x<c,x,b)
수식1
a=macd(short,long);
b=eavg(macd(short,long),signal);
x=valuewhen(1,crossup(a,b) or crossdown(a,b),c)
수식2
m=macd(short,long)-eavg(macd(short,long),signal);
if(m>=0,x,0)
오실레이트 양수 음수의결과를 보여 줍니다.
trix크로스를 조건으로 크로스 직전 치고점을 찾아주는 수식입니다.
수식1
highestsince(1,crossup(trix(period),5),high)
수식2
lowestsince(1,crossdown(trix(period),5),low)
지수가 20이평선을돌파하면 직전 최고값 도는 최저값을 표시하는 지표 입니다.^^
수식1
a=ma(c,period);
valuewhen(1,crossdown(c,a),highestsince(1,crossup(c,a),h));
수식2
valuewhen(1,crossup(c,a),lowestsince(1,crossdown(c,a),l));
현재 이평값과 직전 이평값을 비교하여 커지거나 작아지는경우를
조건식으로 합니다.
아래 수식은 어제 변환해주신 수식이구요.^^
trix크로스 차트 지표를 시스템 매매수식으로 변화시킨 수식
1.
var1 = Ma(c,20);
if var1 >= var1[1] Then
value1 = var1;
if var1 < var1[1] Then
value2 = var1;
plot1(value1);
plot2(value2);
2
var1 = Ma(c,5);
var2 = ma(C,20);
if crossup(var1,var2) or CrossDown(var1,var2) Then
value1 = var2;
if value1 < C Then
value2 = value1;
Else
value2 = var2;
plot1(value1);
plot2(value2);
3
input : short(12),long(26),sig(9);
var1 = MACD(short,long);
var2 = ema(var1,sig);
var3 = var1-var2;
if crossup(var1,var2) or CrossDown(var1,var2) Then
value1 = c;
if var3 >= 0 Then
value2 = value1;
plot1(value1);
plot2(value2);
4
input : period(10);
var1 = trix(Period);
if crossup(var1,5) Then
value1 = h;
if H > value1 Then
value1 = H;
if CrossDown(var1,5) Then
value2 = L;
if L < value2 Then
value2 = L;
plot1(value1);
plot2(value2);
4-1
시스템의 구체적인 진입청산내용을 알수 없습니다.
트릭스가 5를 상향돌파한 이후의 최고가를 종가로 돌파하면 매수
트릭스가 5를 하향이탈한 이후의 최저가를 종가로 돌파하면 매도하는 식입니다
트릭스 돌파 기준값인 5가 자주 나오지는 않으므로
해당 값 조절해서 적용하시기 바랍니다.
input : period(10);
var1 = trix(Period);
if crossup(var1,5) Then
value1 = h;
if H > value1 Then
value1 = H;
if CrossDown(var1,5) Then
value2 = L;
if L < value2 Then
value2 = L;
if crossup(c,value1[1]) Then
buy();
if CrossDown(c,value2[1]) Then
sell();
5
input : period(10);
var : HH(0),LL(0);
var1 = ma(c,Period);
if CrossUp(c,var1) Then{
value1 = HH;
HH = H;
}
if CrossDown(c,var1) Then{
LL = L;
value2 = LL;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
plot1(value1);
plot2(value2);
감사합니다.^^
2016-08-02
185
글번호 100608
답변완료
수식 요청 드립니다.
안녕하세요.
이전에 수식요청 드렸는데 애매한 부분이 있어서 문의드립니다.
아래 요청드린 수식에 대해 답변 주신 내용을 보면
1번 수식에서 Sto 기준 Time을 잡고 날짜가 변경되면 그 시점을 기준으로 0으로 Set 하고 하는데요.
야간 선물거래 같은경우에는 Date 로 연산하게 될경우 24시가 넘어가게 되면 0 으로 Set할 경우 이전 타임에서 제한 걸어두었던 부분이 풀리는 문제가 있는데 어떻게 회피해야할지 문의드립니다.
*** 거래 시간은 오전 8시이후부터 다음날 새벽 5시까지 기준으로 동작하도록 하고자 합니다 DayTrading으로 매일 오전 8시 스타트 해서 시스템이 다음날 새벽 5시에 청산되도록 하고자 하여 자정이 넘어가는 시간도 Working Time으로 보아야 합니다.
마찬가지로 2번에 요청드린수식에서도
Bdate 기준으로 보게되면 24시를 넘어가게되면 다음날짜로 변경되는데요.
위의 문의와 동일하게 오전 8시 이후부터 다음날 새벽 5시까지 거래하게 될경우 전체 차트에서 보이는 Total Trade에서 어떤식으로 금일 거래중인 Trade 횟수(여기서 금일은 오전 8시부터 다음날 새벽 5시까지의 실시간) 를 Control 할수있는지 방안 문의드립니다.
그리고 2번 수식에서는 T1 이라는 변수를 선언하였는데 해당변수의 사용이 전혀 나와있지 않아서 변수값이 바뀔일이 없는데 어떤용도로 사용하였는지 이해가 잘 되지 않습니다.
그리고 아래 수식대로에서 Bdate이 변경되면 PP 도 +1을 해주도록 하는데 이익실현이 그전단계에서 없을것 같은데 왜 ++ 연산을 해주는지 이해가 잘 되지 않습니다.
확인 부탁드립니다.
감사합니다.
///////////////////이전 문의 글 밑 답변 /////////////////
안녕하세요
예스스탁입니다.
1.
Input : Period(12), Period1(5),Period2(5);
var : StoK2(0,data2),StoD2(0,data2),TT(0,data2);
#data2 스토케스틱
StoK2 = data2(StochasticsK(Period,Period1));
StoD2 = data2(StochasticsD(Period,Period1,Period2));
if date != date[1] then
TT = 0;
if crossup(stok2,80) or CrossDown(stok2,20) Then{
TT = TimeToMinutes(stime);
}
if TT == 0 or (TT > 0 and TimeToMinutes(stime) >= TT+90) then{
if 매수진입조건 Then
buy();
if 매도진입조건 Then
sell();
}
2
Var : TT(0),T1(0),entry(0),PP(0);
TT = TotalTrades;
if bdate != Bdate[1] Then{
T1 = T1;
PP = PP+1;
}
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
# 목표수익으로 청산된 횟수
if TotalTrades > TotalTrades[1] and IsExitName("StopProfitTarget",1) == true Then
PP = PP+1;
# 단순 거래중 수익으로 끝난거래의 횟수이면 아래식 이용하시면 됩니다.
if TotalTrades > TotalTrades[1] and PositionProfit(1) > 0 Then
PP = PP+1;
if entry < 15 and PP < 3 then{
if 매수진입조건 Then
buy();
if 매도진입조건 Then
sell();
}
#목표수익
SetStopProfittarget(~~~~~);
즐거운 하루되세요
> 꿈돌이 님이 쓴 글입니다.
> 제목 : 수식 요청드립니다.
> 안녕하세요.
참조데이터를 사용해서 수식을 작성하려고 하는데요.
두가지 문의 드리자면...
1.메인 차트가 아닌 참조데이터1을 기준으로해서
참조데이터1의 Stocastic Slow K 가 가열구간(80) 초과되는 순간으로부터 1시간 30분 동안 매매금지,
반대로 참조데이터1의 Stocastic SlowK가 침체구간(20) 밑으로 뚫는 순간으로부터 1시간 30분동안 매매 금지 하는 수식 요청 드립니다.
2. 당일 거래 기준으로 수익 청산과 손절을 확인하여서
수익 3회 달성시 당일 매매 정지,
거기에 당일 매매횟수(수익 및 손절 청산기준) 최대 15회 제한
관련하여 수식 요청드립니다.
감사합니다.
2016-08-01
123
글번호 100607
답변완료
로직 수정 부탁 드림니다.(매수후)
* 더운 날씨에 수고 많습니다.
* 로직 하나봐주십시요.
* if MarketPosition == 1 Then {
if countif( L[BarsSinceEntry],30) >= 5 exitlong("매수봉매도",AtStop,L[BarsSinceEntry]
*0.98); }
→ 매수후 매수봉 저가보다 2% 하락 하고 그봉이 겟수가 5보다 크면 매도
* 수식 로직에 에라가 뜸니다.
* 수정좀 부탁 드립니다.
2016-08-01
103
글번호 100606
답변완료
48934번 수식 확인 부탁드립니다
09시 직후 시가가 아닌 00시 직후 시가로 진입이 됩니다
09시 직후 시가 진입 수식으로 부탁드립니다
감사합니다
2016-08-01
125
글번호 100605