커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3536
글번호 230811
답변완료
수식문의드립니다
귀사의 수식에 신호가 나오질않아요.
아래는 참고로 그래프입니다.
답신 부탁드립니다.
안녕하세요
예스스탁입니다.
var1 = Disparity(1380);
var2 = ma(C,5);
var3 = ma(C,10);
if v >= 6500 and v <= 9600 and
var1 >= 100.30 and var1 <= 102.60 and
CrossDown(var1,var2) Then
sell();
if v >= 6500 and v <= 9600 and
var1 >= 98.30 and var1 <= 99.70 and
CrossUp(var1,var2) Then
buy();
if MarketPosition == 1 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+80 Then
exitlong();
if MarketPosition == -1 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+80 Then
ExitShort();
SetStopProfittarget(PriceScale*50,PointStop);
즐거운 하루되세요
> 푸른 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 1. 조건부 매도
1분 거래량 6500~9600계약
이격도 1380분 100.30~102.60
이후 5분10분 데드크로스
이후 80분후 청산이나 익절50틱
2. 조건부 매수
1분 거래량 6500~9600계약
이격도 1380분 98.30~99.70
이후 5분10분 골든크로스
이후 80분후 청산이나 익절50틱
매매시간 14:00 ~ 익일 05:40
2019-12-17
244
글번호 134450
답변완료
수식문의
아래의 식은 얼마전에 만들어 주신 수식입니다.
이 수식을 적용하면 전일, 전전일부터 시작되어 의도와 다른 곡선만 그려집니다.
당일분만 출력이 가능하게 만들면 좋겠습니다.
(ex, 당일분이면 1, 아니면 0)
당일분이 아니고 몇일동안 포지션을 유지할 경우,
// 지표속성의 변수에 진입일자
진입시간
d1 진입가
d2 진입가
d1 개수
d2 개수
이렇게 지정할수 있으면 좋겠습니다.
감사합니다.
input : ntime(90000);//진입시간
input : CallPosition(-1),PutPosition(-1);//매수면1, 매도면-1
input : CallVol(1),PutVol(1);//진입수량
var : CallEntry(0,data1),CallPL(0,data1),PutEntry(0,data2),PutPL(0,data2);
if data1(stime == ntime) Then
CallEntry = data1(C); //지정한 시간의 시가이면 data1(O)
if data2(stime == ntime) Then
PutEntry = data2(C); //지정한 시간의 시가이면 data2(O)
if CallPosition == 1 then
CallPL = (data1(C)-CallEntry)*CallVol;
Else
CallPL = (CallEntry-data1(c))*CallVol;
if PutPosition == 1 then
PutPL = (data2(C)-PutEntry)*PutVol;
Else
PutPL = (PutEntry-data1(c))*PutVol;
plot1(CallPL*BigPointValue+PutPL*BigPointValue,"총수익");
plot2(CallPL*BigPointValue,"콜수익");
plot3(PutPL*BigPointValue,"풋수익");
PlotBaseLine1(0);
PlotBaseLine2(100000);
PlotBaseLine3(-100000);
2019-12-17
189
글번호 134449
답변완료
수정 부탁드립니다
안녕하세요?
아래의 수식에서 안되는부분 수정 부탁드립니다.
1. 매수진입만 하고 매도진입은 안되고 있습니다
2. 재진입 해야하는 자리에서 청산만되고 재진입이 안되고있습니다.
3. 재진입 해야하는 자리가 의도와 다른자리들에서 청산되고있습니다.
아래내용 살펴보시고 수정부탁드리겠습니다.
감사합니다.
input : 매수양봉틱(3),매수음봉틱(3);
input : 매도양봉틱(3),매도음봉틱(3);
input : 익절틱수(50),손절틱수(50);
if MarketPosition == 0 and
O == C[1] and
C == O+매수양봉틱*PriceScale and
C[1] == O[1]-매수음봉틱*PriceScale Then
buy();
if MarketPosition == 0 and
C == O[1] and
C == O-매도음봉틱*PriceScale and
C[1] == O[1]-매도양봉틱*PriceScale Then
sell();
if MarketPosition == 1 and C <= O[BarsSinceEntry]-PriceScale*1 Then
exitlong();
if MarketPosition == -1 and C >= O[BarsSinceEntry]+PriceScale*1 Then
ExitShort();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
즐거운 하루되세요
> 대구어린울프 님이 쓴 글입니다.
> 제목 : 65295번 글에대해 수정부탁드립니다.
> 안녕하세요?
아래와 같이 답변 감사히 받았습니다.
근데 가장 잘 출현하는 조건으로하여도 성능보고서가 백지로나옵니다.
한편 살펴봐주십시요
감사합니다.
input : 매수양봉틱(3),매수음봉틱(3);
input : 매도양봉틱(3),매도음봉틱(3);
input : 익절틱수(50),손절틱수(50);
if MarketPosition == 0 and
O == C[1] and
C == O+매수양봉틱 and
C[1] == O[1]-매수음봉틱 Then
buy();
if MarketPosition == 0 and
C == O[1] and
C == O-매도음봉틱 and
C[1] == O[1]-매도양봉틱 Then
sell();
if MarketPosition == 1 and C <= O[BarsSinceEntry]-PriceScale*1 Then
exitlong();
if MarketPosition == -1 and C >= O[BarsSinceEntry]+PriceScale*1 Then
ExitShort();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
즐거운 하루되세요
> 대구어린울프 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 관리자님, 안녕하세요?
요즘 날씨가 쌀쌀합니다. 건강챙기시기 바랍니다.
수식작성 부탁드립니다.
아래 내용의 예시 이미지 첨부드렸으니, 참고하시면 감사하겠습니다.
***진입
※교차매매 진입은 되지않게, 익/손절에 청산 혹은 청산후 역진입신호시만 되게 부탁드립니다.
※매수진입의 음봉외부변수 양봉외부변수, 매도진입의 양봉외부변수 음봉외부변수 각각 입력할수있게 외부변수 4개로 부탁드립니다.
1) 매수진입 : 몸통길이(외부변수)틱 음봉종가와 몸통길이(외부변수)틱 양봉시가가 같고 연달아 출현시 매수.
2) 매도진입 : 몸통길이(외부변수)틱 양봉종가와 몸통길이(외부변수)틱 음봉시가가 같고 연달아 출현시 매도.
***청산후 역방향 재진입
1) 매수진입후 진입한 양봉의 시가보다 한틱 아래서 마감하는 음봉 출현시 청산후 역진입.
2 )매도진입후 진입한 음봉의 시가보다 한틱 위에서 마감하는 양봉 출현시 청산후 역진입.
***익절/손절
익절(외부변수)틱 / 손절(외부변수)틱
2019-12-17
159
글번호 134448
답변완료
지표문의
1.안녕하세요
궁금한게 있어서 문의 드립니다
당일 양봉(음봉) 거래량 누적 할려구 할때
누적에 쓸수 있는 함수를 좀 알려주세요
사용예도 부탁 드립니다
2.accum 과 accumN 차이는 뭔가요?
그리구 sum은요
3.그럼 즐거운 하루 되세요.
2019-12-17
218
글번호 134447
답변완료
부탁 드립니다.
노고에 감사 드립니다.
그림과 같이 부탁 드립니다.
2019-12-17
229
글번호 134446
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
Q&A # 65289 에 대한 답변 감사합니다
Q&A # 65289 에서는 타주기가 10분인 경우였습니다
질문1)
타주기가 1분인 경우의 지표식은 어떻게 되는지요?
질문2)
타주기가 3분인 경우의 지표식은 어떻게 되는지요?
수식 작성 바랍니다^^
2019-12-17
170
글번호 134445
답변완료
수식 문의
안녕하세요?
메인 = 차월물(1시간봉), Data2 = 연결선물(1시간봉), Data3 = 연결선물(일봉)
인 상황입니다.
I. 다음을 Data2나 Data3 용으로 번역해 주세요.(비슷하면 Data2나 Data3 중 하나면 충분합니다.)
1. Input: p1(5), p2(20);
2. var: af(0.02), maxAF(0.2);
3. O, H, L, C, C[1]
4. Var1 = Ema(C, p1), var1 > var1[1]
5. Ema(OBV, p1) > ema(OBV, p1)[1]
6. Assa 라는 사용자함수가 있는데, Assa(C, L, OBV, p1, p2),
Assa(C, L, OBV, p1, p2)[1], Assa(C[1], L[1], OBV[1], p1, p2)[3]
7. CSar(af,maxAF) > C
II. 시스템식 부탁드립니다.
Input: Fix(false), p1(5), p2(20);
매수조건 = ema(C, p1) > ema(C, p2);
매도조건 = ema(C, p1) < ema(C, p2);
Data2와 Data3에서 모두 매수조건이 발생할 때의 메인차트의 가격을 기억한 후, 그 가격보다 2*Atr(50) 만큼 유리한 가격에 지정가 매수 진입.
진입후 3*Atr(50)에 손절 또는 4*Atr(50)에 익절.
매도 진입도 마찬가지.
Fix == true => 일봉인 Data3가 봉 완성 되기전에 매수조건이 성립했다가 안했다가 마구 변할 수 있지만, 직전봉 완성의 상태로 고정시킵니다. 즉, 직전봉(일봉)이 아직 매수조건이 성립 안하면, 오늘의 봉도 완성되기 전까지는 매수조건 성립 안하는 것으로 함. 마찬가지로 직전봉(일봉)에 대해서 매수조건이 성립하면, 현재의 Data3봉에서 매수조건이 성립했다가 안했다가 아무리 변해도, 매수조건은 성립하는 것으로 간주함. 고로, Data2에서 매수조건 성립하면 주문 나갑니다.
Fix == false => Fix 안 함. 즉, Data3의 현재의 봉이 매수조건을 만족했다가 안했다가 계속 변할 수 있습니다. 이 때, 마침 Data3 에서도 매수조건이 성립하고 Data2에서도 매수조건 성립하면 주문 나갑니다. 물론 주문은 나갔지만, 그 날 종가 기준으로 Data3에서 매수조건은 성립안 할 수도 있습니다.
III.Data2에 이평이나 macd를 넣을 때 어떻게 해야 하나요?
이평의 경우는 잡아 끌면 되는거 맞나요? 또, 이걸 수식으로는 어떻게 하나요?
감사합니다.
2019-12-17
200
글번호 134444
답변완료
수정부탁드려요
두개의 지표를 합쳐서 PLOT1 PLOT2 로 하나의 지표에 합치니 값이 달라집니다
input : Period(30),d1(1.8),기간(5),k(2);
var : wma1(0),wma2(0),NL(0),BarsSince(-1),nn(0);
wma2 = wma((money/v+c+o)/3,period)+D1*std((money/v+c+o)/3,period);
wma1 = wma((money/v+l+h)/3,period)+D1*std((money/v+l+h)/3,period);
if crossup(c,wma1) Then
{
NL = wma1;
BarsSince = 0;
}
Else
{
if BarsSince >= 0 Then
BarsSince = BarsSince+1;
}
if BarsSince == 기간-k Then
var1 = NL;
if crossDOWN(c,wma2) Then
{
NL = wma2;
BarsSince = 0;
}
Else
{
if BarsSince >= 0 Then
BarsSince = BarsSince+1;
}
if BarsSince == 기간-k Then
var1 = NL;
plot1(var1);
plot2(var2);
뭐때문인지 모르겠어요. 따로 했을때의 값과 합쳤을때의 값이 달라져요 PLOT1 은 값이 나오는데 PLOT2 값이 안나와요 수정 부탁드릴게요
2019-12-16
184
글번호 134443
답변완료
이격도
아래 수식은 일봉의 이격도 입니다
일봉의 이격도를 분봉에 지표식으로 나타나게 하고 싶습니다
수식 수정 도와주세요
Input : Period(20);
var : DParity(0);
DParity = Disparity(Period);
Plot1(DParity, "이격도");
PlotBaseLine1(100,"기준선");
2019-12-16
192
글번호 134442