커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6295
글번호 230811
답변완료
이격도를 차트에 겹치기를 하고 싶습니다
아래는 관리자님이 예전에 작성해주셨던 수식입니다.
var : ii(0),v1(0),v2(0),v3(0);
var : mav1(0),mav2(0),mav3(0);
var : mav11(0),mav22(0),mav33(0);
if Bdate != Bdate[1] Then{
ii = 0;
v1 = 0;
v2 = 0;
v3 = 0;
mav11 = mav1[1];
mav22 = mav2[1];
mav33 = mav3[1];
}
v1 = v1 + (H-dayopen);
v2 = v2 + (L-dayopen);
v3 = v3 + (C-dayopen);
ii = ii+1;
mav1 = dayopen+(v1/ii);
mav2 = dayopen+(v2/ii);
mav3 = dayopen+(v3/ii);
plot1(C/mav11*100-100,"고가");
plot2(C/mav22*100-100,"저가");
plot3(C/mav33*100-100,"종가");
plot4(0,"기준선");
이격도인데 이것을 차트에 겹치기를 하려고 하니 수치값이 틀려 겹치기가 안됩니다.
이걸 차트에 겹치기를 해줄수 있게 해주시면 정말 감사하겠습니다.
부탁드립니다.
2017-06-14
193
글번호 110401
답변완료
수식 예제
아래 2가지 수식은 진입과 청산에 눌림과 재돌파를 필터로 사용합니다.
그런데, 청산 시 눌림이 없는 경우에는 눌림이 생길 때까지 신호가 생기지 않기 때문에
부득이하게 강제청산이 필요한 상황이 발생합니다.
그래서 변수입력창의 강제청산기능을 설정했더니
강제청산 후 곧 이어 청산했던 포지션을 다시 잡습니다.
강제청산 이후 같은 포지션을 다시 잡는 것을 hold하고
강청과 동시에 reset 되어 기존 진입 수식에 따라 진입하고 싶습니다.
buy,sell 수식이 나뉘어져 있어 생기는 문제인지 모르겠습니다.
이런 상황에 적용할 수 있는 예가 있다면 부탁드립니다.
*********************
안녕하세요
예스스탁입니다.
1
input : b1(11),b2(13),X1(13),X2(13),진입눌림(4),진입돌파(4),청산눌림(4),청산돌파(4),거래횟수(5),시작시간(095000);
var : T1(0),entry(0),HH(0),LL(0),EH(0),EL(0),E1(0),H1(0),i1(0),S1(0),L1(0);
if Bdate != Bdate[1] Then{
T1 = TotalTrades;
E1 = 0;
}
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{
if E1 == 0 and C <= DayHigh-PriceScale*B1 and C[1] < DayHigh-PriceScale*B1 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{
sell("s1");
}
}
if TotalTrades > TotalTrades[1] Then
HH = H;
if H > HH Then
HH = H;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{
if E1 == 0 and C <= HH-PriceScale*B2 and C[1] < HH-PriceScale*B2 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*진입돌파 Then{
sell("s2");
E1 = 0;
}
}
if MarketPosition == -1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EL = L;
E1 = 0;
}
if L < EL Then{
EL = L;
E1 = 0;
}
if E1 == 0 and C >= EL+PriceScale*X1 Then{
E1 = 1;
H1 = H;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if H > H1 Then
H1 = H;
if L <= H1-PriceScale*청산눌림 Then{
E1 = 2;
I1 = index;
S1 = H1;
}
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*청산돌파 Then{
ExitShort("sx1");
E1 = 0;
}
}
}
2
input : b1(11),b2(13),X1(13),X2(13),진입눌림(4),진입돌파(4),청산눌림(4),청산돌파(4),거래횟수(5),시작시간(095000) ;
var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0);
if Bdate != Bdate[1] Then{
T1 = TotalTrades;
E1 = 0;
}
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{
if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{
E1 = 1;
H1 = H;
i1 = index;
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
if L <= H1-PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{
buy("b1");
}
}
if TotalTrades > TotalTrades[1] Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{
if E1 == 0 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then{
E1 = 1;
H1 = H;
i1 = index;
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
if L <= H1-PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{
buy("b2");
}
}
if MarketPosition == 1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EH = H;
E1 = 0;
}
if H > EH Then{
EH = H;
E1 = 0;
}
if E1 == 0 and C <= EH-PriceScale*X1 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*청산눌림 Then{
E1 = 2;
I1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{
exitlong("bx1");
E1 = 0;
}
}
}
2017-06-14
167
글번호 110400
답변완료
지표문의
관리자님...수고하시고...감사합니다.^^
지표문의 질문번호 53636 에 이어서 다시 한번 부탁 드립니다.
1.먼저 도움주신부분(53636)에 대해 감사드리며, 주석을 달아 주셨으면 감사하겠습니다.
2.그리고 다른 인디게이트를 53636 번과 같이 하려고 할때 어느부분을 수정해야 하는지도
주석으로 설명해 주시면 감사하겠습니다.
3.시간문의 : 해외선물을 24시간 거래하려고 합니다
해외선물을 거래할때 오늘부터 계속해 다음날까지 계속 거래하려고합니다.
이때 시간이 너무 짧아 원하는 데로 인디게이트 구현이 안되오니....시간 조정도 부탁드립니다.
샘플로 아래 인디게이트를 삽입하오니....
그것으로도 질문한 부분 주석처리 부탁드립니다.
*인디게이트
var : V_J1(0),V_J2(0),V_J11(0),V_J22(0);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
if date!=date[1] then {
gap = Open-Close[1];
sumGap = sumGap+gap;
}
GO = O - sumGap;
GH = H - sumGap;
GL = L - sumGap;
GC = C - sumGap;
V_j1 = wma(GC,20)/(wma(GC,5)/100);
V_j2 = wma(GC,5)/(wma(GC,20)/100);
V_j11 = wma(GC,20)/(wma(GC,5)/100);
V_j22 = wma(GC,5)/(wma(GC,20)/100);
Plot1(wma(GC,20)/(wma(GC,5)/100),"단기-");
Plot2(wma(GC,5)/(wma(GC,20)/100),"단기+");
Plot3(wma(GC,60)/(wma(GC,20)/100),"중기-");
Plot4(wma(GC,20)/(wma(GC,60)/100),"중기+");
Plot5(V_j1,"단기-");
Plot6(V_j2,"단기+");
늘 건강하시고 수고하세요..^^
2017-06-14
251
글번호 110399
답변완료
문위드립니다
일목에 기준선 하고,,,20이동평균선 하고요
기준선 위에 20이평이 골든크로스나면 매수
데드면 매도 신호 부탁드립니다
2017-06-14
168
글번호 110398
답변완료
문의 드립니다.
안녕하세요.
신호 진입가격 및 청산가격을 화살표 아래 또는 위에 표시되도록 하는 방법에 대해 문의드립니다.
매수신호 시 화살표 아래에 진입가격 표시 - 청산가격 화살표 위에 표시
매도신호 시 화살표 위에 진입가격 표시 - 청산가격 화살표 아래에 표시
수고하세요.
2017-06-14
176
글번호 110397
답변완료
지표식 부탁드립니다.
안녕하세요
외국인 선물매수 매도 그래프를 증권사에서는 30초 단위로 보여주는것으로 알고있습니다.
예스트레이드 (4102)투자주체당일매매추이 를 보면은 외국인 선물매매 그래프를 볼수 있는데 이것을 하나의 챠트로 만들어서 볼수 있는 방법이 없을까요?
올린 그림과 같이 10틱 챠트로봐도 (4102)투자주체당일매매추이 에서 보여주는것보다 몇초 느린데 (4102)투자주체당일매매추이 를 하나의 챠트로 만들어서 볼수 있었으면 좋겠는데 가능한지요?
감사합니다.
2017-06-14
238
글번호 110396
답변완료
부탁 드립니다.
도움 주심에 경배로 감사 인사 올립니다.
아래 수식에서
가끔씩
a2=var11-var11[n-1];
의 값이 zero가 될때가 있어
각도 계산이 정상적으로 이루어 지지 않을때가 있습니다.
해결 방법이 있겠는지요?
편법으로
a2가 zero이면
(또는 var11와 var11[n-1] 값이 같으면)
a2[1]을 취하도록
그래도 a2[1]가 zero이면 a2[2]를 취하도록
그래도 a2[2]가 zero이면 a2[3]를 취하도록
부탁 드려도 될런지요?
input:,n(7);
var:a1(0),a2(0),a3(0),b(0);
var:jak(0),dis(0);
VAR1=MA(C,60);
var2=ma(c,120);
if var1<var2 then {
if crossup(var1,var2) then var4=var2;
if var4>var2 then var4=var2;}
if var1>var2 then {
if crossdown(var1,var2) then var5=var2;
if var5<var2 then var5=var2;}
JAK=IFF(VAR1<VAR2 AND var5>var2,var5,var4);
dis=(var2/jak-1)*p10;
var11=iff(abs(dis)<hp,dis,iff(dis>0,hp,-hp));
######################################
a2=var11-var11[n-1];
#######################################
b=n*0.01;
var77=atan(a2/b)*180/3.14;
plot1(var77,"tt",RED,DEF,0);
PlotBaseLine1(0,"0");
2017-06-14
190
글번호 110395
답변완료
수식문의합니다
안녕하세요
수식을 수정하고 싶습니다
수정내용
전 매수신호의 매수가격 보다 현재 매수신호의 매수가격이 같거나 높은면 매수진입
전 매도신호의 매도가격 보다 현재 매도신호의 매도가격이 같거나 낮으면 매도진입
이해를 돕고자 사진첨부합니다
현재 표시된 사항은 제가 임의데로 표시를 하였습니다
INPUT : LENGTH(10),N(2);
VAR : TCHAN(0), BCHAN(0),T(0),B(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
#상단이 상승중이면 1, 하락중이면 -1
if TCHAN > TCHAN[1] Then
T = 1;
if TCHAN < TCHAN[1] Then
T = -1;
#하단이 상승중이면 1, 하락중이면 -1
if BCHAN > BCHAN[1] Then
B = 1;
if BCHAN < BCHAN[1] Then
B = -1;
if B == 1 and #하단 상승추세
L < BCHAN Then #저가가 하단이하
buy();
if T == -1 and #상단 하락추세
H > TCHAN Then #고가가 상단이상
Sell();
감사합니다
수고하세요
2017-06-14
177
글번호 110391
답변완료
매매식입니다
항상감사드립니다.
매수 6,000원 돌파시 1,000,000원 매수
매도 60분봉 전일 20일선 이하시 매도
감사합니다.
2017-06-14
157
글번호 110390