커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6388
글번호 230811
답변완료
지표명 표시 부탁드립니다.
많은분들의 답변에 수고가 많으십니다.
만든지표(수평선) 우측위에 지표명이 표시될수 있는 방법이 있다면 편리하게 사용할수
있겠습니다.
현재는 차트 제일 윗부분에 나타나는데 지표선이 여러개일경우 쉽게 구분하기 어려워 문의
드리니 해결방여이 있다면 조치할수 있도록 부탁 드립니다.
2016-09-22
139
글번호 102138
답변완료
시스템 적용 관련
안녕하세요
하기 메일에 주신 수식이 전혀 진입이 이루어지지 않고 있습니다.
무슨 문제가 있는것인지 확인 부탁드립니다.
1번째, 2번째 모두 말을 듣지 않습니다.
제가 원하는 방법을 챠트로 표현해 봤습니다.
첨부 파일 확인 부탁드리고 여기에 맞는 수식이 가능하신지 확인 부탁드립니다.
볼린져 밴드가 없는 2번으로 진행할 때, data1,2가 필요한지요?
잘은 모르겠지만 필요가 없는 것 같은데.. 검토 부탁드립니다.
3. MACD oscillator에 관하여 질문이 있습니다.
통화선물 - 유로 or 옌은 기준선 0만있고 숫자가 나타나지 않는데, 왜 그런건지요?
감사합니다.
안녕하세요
예스스탁입니다.
1.
input : MACD매수기준(0.1),MACD매도기준(-0.1);
위 부분에 0.1, -0.1로 지정하고 적용하시면 됩니다.
input : RSIP(10),sto1(10),sto2(5);
input : BBP(20),dv(2),P(60);
input : short(12),long(26),sig(9);
input : RSI과매수(70),RSI과매도(30);
input : Sto과매수(80),Sto과매도(20);
input : MACD매수기준(1),MACD매도기준(-1);
var : RSIV(0,data1),stok(0,data1),MACDO(0,data1);
var : bbup(0,data2),bbdn(0,data2),bbmd(0,data2),mav1(0,data2);
RSIV = data1(RSI(RSIP));
Stok = data2(StochasticsK(sto1,sto2));
MACDO = data1(MACD_OSC(short,long,sig));
BBup = data2(BollBandUp(BBP,dv));
BBmd = data2(ma(C,BBP));
BBdn = data2(BollBandDown(BBP,dv));
mav1 = data2(ma(c,P));
if data1((CrossDown(RSIV,RSI과매수) and
stok < Sto과매수 and countif(CrossDown(stok,Sto과매수),5) >= 1 and
MACDO > MACD매수기준 and countif(crossup(MACDO,MACD매수기준),5) >= 1) or
(CrossDown(stok,Sto과매수) and
RSIV < RSI과매수 and countif(CrossDown(RSIV ,RSI과매수),5) >= 1 and
MACDO > MACD매수기준 and countif(crossup(MACDO,MACD매수기준),5) >= 1) or
(CrossUp(MACDO,MACD매수기준) and
stok < Sto과매수 and countif(CrossDown(stok,Sto과매수),5) >= 1 and
RSIV < RSI과매수 and countif(CrossDown(RSIV ,RSI과매수),5) >= 1)) Then{
if data2(C > BBmd and BBup > mav1) and MACDO > 0 Then
buy();
}
if data1((CrossUp(RSIV,RSI과매도) and
stok > Sto과매도 and countif(CrossUp(stok,Sto과매도),3) >= 1 and
MACDO < MACD매도기준 and countif(CrossDown(MACDO,MACD매도기준),5) >= 1) or
(CrossUp(stok,Sto과매도) and
RSIV > RSI과매도 and countif(Crossup(RSIV ,RSI과매도),3) >= 1 and
MACDO < MACD매도기준 and countif(CrossDown(MACDO,MACD매도기준),5) >= 1) or
(CrossDown(MACDO,MACD매도기준) and
stok > Sto과매도 and countif(CrossUp(stok,Sto과매도),3) >= 1 and
RSIV > RSI과매도 and countif(Crossup(RSIV ,RSI과매도),3) >= 1)) Then{
if data2(C < BBmd and BBup < mav1 ) and MACDO < 0 Then
Sell();
}
2
data2의 볼밴조건을 뺀 식입니다.
input : RSIP(10),sto1(10),sto2(5);
input : BBP(20),dv(2),P(60);
input : short(12),long(26),sig(9);
input : RSI과매수(70),RSI과매도(30);
input : Sto과매수(80),Sto과매도(20);
input : MACD매수기준(0.1),MACD매도기준(-0.1);
var : RSIV(0,data1),stok(0,data1),MACDO(0,data1);
RSIV = data1(RSI(RSIP));
Stok = data2(StochasticsK(sto1,sto2));
MACDO = data1(MACD_OSC(short,long,sig));
if data1((CrossDown(RSIV,RSI과매수) and
stok < Sto과매수 and countif(CrossDown(stok,Sto과매수),5) >= 1 and
MACDO > MACD매수기준 and countif(crossup(MACDO,MACD매수기준),5) >= 1) or
(CrossDown(stok,Sto과매수) and
RSIV < RSI과매수 and countif(CrossDown(RSIV ,RSI과매수),5) >= 1 and
MACDO > MACD매수기준 and countif(crossup(MACDO,MACD매수기준),5) >= 1) or
(CrossUp(MACDO,MACD매수기준) and
stok < Sto과매수 and countif(CrossDown(stok,Sto과매수),5) >= 1 and
RSIV < RSI과매수 and countif(CrossDown(RSIV ,RSI과매수),5) >= 1)) Then{
buy();
}
if data1((CrossUp(RSIV,RSI과매도) and
stok > Sto과매도 and countif(CrossUp(stok,Sto과매도),3) >= 1 and
MACDO < MACD매도기준 and countif(CrossDown(MACDO,MACD매도기준),5) >= 1) or
(CrossUp(stok,Sto과매도) and
RSIV > RSI과매도 and countif(Crossup(RSIV ,RSI과매도),3) >= 1 and
MACDO < MACD매도기준 and countif(CrossDown(MACDO,MACD매도기준),5) >= 1) or
(CrossDown(MACDO,MACD매도기준) and
stok > Sto과매도 and countif(CrossUp(stok,Sto과매도),3) >= 1 and
RSIV > RSI과매도 and countif(Crossup(RSIV ,RSI과매도),3) >= 1)) Then{
Sell();
}
2016-09-22
217
글번호 102137
비상8 님에 의해서 삭제되었습니다.
2016-09-22
6
글번호 102136
답변완료
수식작성 부탁드립니다.
아래 수식의 신호 발생 조건에서
진입 신호는 +5틱이 더 진행된 후에 신호 발생하고
청산은 아래 수식 그대로 신호가 발생되도록 하는 수식좀 부탁드립니다.
매수신호 다음에는 매도 신호가 나오는 것이 일반적인데 위 주문대로 하면
진입 -> 청산 -> 진입 이런 형식의 신호도 나오지만
진입 -> 청산 -> 청산(+5틱 이하 진입하지 않는 신호) --> 진입
또는
진입 -> 청산 -> 청산(+5틱 이하 진입하지 않는 신호) -> 청산 -> 진입
이런 식의 신호가 나올 수도 있습니다.
var1 = ma(c,20);
var2 = ma(c,40);
var3 = ma(C,60);
if var1 > var2 and C > var3 and C > O Then
buy();
if var1 < var2 and C < var3 and C < O Then
sell();
2016-09-22
99
글번호 102135
답변완료
시스템식이 맞나요??
5일지수(시가)이평 을 돌파하면 매수하는 식인데 분봉에서할수 있도록 Q&A를 보고 제가 만든것인데 뭐가 잘못 된건지 모르겠네요 대성파인텍3분봉에서 성과검정 하니까 마이너스 수익률 나는데 왜 그런지요??
input:p1(5),n(21);
var:energe1(0),energe2(0),sumv(0),emav(0),count(0);
sumv=0;
for count=1 to p1{
sumv=sumv+dayopen(count);
}
emav=sumv/p1;
Energe1 = accumN(H-O,N)/accumN(O-L,N)*100;
Energe2 = accumN(h-c,N)/accumN(c-l,N)*100;
if energe1>=95 and crossup(c,emav)Then
{
buy();
}
if crossdown(c,emav) then
{
sell();
}
2016-09-22
112
글번호 102134
답변완료
동시호가 체결량 문의
연결선물 일봉에서 장시작 동시호가의 체결량과 장종료 동시호가의 체결량을 표시할수 있는 방법이 있는지요~?
자주 질문 올려도 친절히 답해주셔서 감사드립니다.
2016-09-22
116
글번호 102133
답변완료
수식 수정 의뢰드립니다
아래는 전에 만들어 주신 이평크로스 수식입니다
잘 사용하고 이요어! 감사합니다!
의뢰드릴내용은 5일,10일,18일,60일,120일선이 한곳에 뭉쳤다가 (교차했다가) 지금처럼
수렴해나가는 지표로 변경부탁합니다. 그리고 이때 상승 또는 하락 신호도
같이 나타나게 부탁드립니다.
신호까진 어려우시면 현재식처럼 상하 고저직선 교차 라인이라도 같이 부탁드립니다
감사합니다.
input : p1(20), p2(60);
var: ma1(0),ma2(0),T1(0),T2(0),T3(0),V1(0);
ma1=ma(c,p1);
ma2=ma(c,p2);
if ma1 > ma1[1] Then
T1 = 1;
if ma1 < ma1[1] Then
T1 = -1;
if ma2 > ma2[1] Then
T2 = 1;
if ma2 < ma2[1] Then
T2 = -1;
if crossup(ma1,ma2) Then{
T3 = 1;
v1 = ma1;
}
if CrossDown(ma1,ma2) Then{
T3 = -1;
v1 = ma1;
}
if T1 == 1 Then
plot1(ma1,"이평1",PINK);
else
plot1(ma1,"이평1",GREEN);
if T2 == 1 Then
plot2(ma2,"이평2",PINK);
else
plot2(ma2,"이평2",GREEN);
if T3 == 1 Then
plot3(v1,"크로스",PINK);
else
plot3(v1,"크로스",GREEN);
2016-09-22
167
글번호 102132
답변완료
스톡케스틱
스톡케스틱 3개를 겹치고 싶어요.
값은 Period/Period1 12/5 18/9 25/12 입니다.
부탁드려요 ^^
2016-09-22
137
글번호 102126
답변완료
수식문의드립니다.
안녕하세요. 신호에 진입청산가를 표시하고 싶은데요.
전에 주셨던 답변은 아래와 같습니다.
------------------------------------------------------
var : tx1(0), tx2(0), tx3(0), tx4(0);
if CrossUp(C, ma(C,20)) Then
buy();
if BarsSinceEntry == 1 and MarketPosition == 1 Then{
tx1=Text_New(EntryDate,EntryTime, L-PriceScale*5,"매수:"+NumToStr(EntryPrice,2));
tx2=Text_setstyle(tx1, 2, 2);
}
if CrossDown(C, ma(C,20)) Then
exitlong();
if MarketPosition[1] == 1 and MarketPosition[0] != MarketPosition[1] Then {
tx3=Text_New(exitDate(1),exitTime(1), H+PriceScale*5,"청산:"+NumToStr(ExitPrice(1),2));
tx4=Text_setstyle(tx3, 2, 2);
}
------------------------------------------------------
적용을 해보니 청산신호의 경우 바로 표시가 안되는것 같습니다. 수식확인좀 부탁드립니다.
그리고 text의 위치가 불명확해서.. 신호표시에 자꾸 걸리게 되는데 개선부탁드립니다.
고가와 저가에 따라 텍스트의 상하 높이가 달라지는데..
신호 해당봉의 고가와 저가가 아니라서 뒤죽박죽이네요..
2016-09-22
141
글번호 102115