커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4679
글번호 230811
답변완료
수식 문의 드립니다....
수고가 많으시죠....^^
수식 문의 드립니다...
장기 Bollinger Bands (80 .2) 단기 Bollinger Bands (20 .2) 의 내용입니다.
1 시가가 장기 BB 80 위에 있고 시가가 단기 BB 20위에 있으면 매도
2 시가가 장기 BB 80 아래에 있고 시가가 단기 BB 20 아래에 있으면 매수
입니다....
수고하세요...
2016-02-13
183
글번호 95358
답변완료
부탁 드립니다.
항상 도움주셔서 감사 드립니다.
그림과 같이 지표를 부탁 드립니다.
미리 감사 드립니다.
참고 수식)
input : 아시아시작(080000),아시아종료(153000);
input : 유럽시작(153000),유럽종료(213000);
input : 미국시작(213000),미국종료(070000);
var : Tcond1(false),Tcond2(false),Tcond3(false);
var : V1(0),V2(0),V3(0);
VAR1=C;
Var11 = var1;
If stime == 아시아시작 or (stime > 아시아시작 and stime[1] < 아시아시작) Then
{
Tcond1 = true;
V1 = Var11;
}
If stime == 아시아종료 or (stime > 아시아종료 and stime[1] < 아시아종료) Then
{
Tcond1 = false;
}
If stime == 유럽시작 or (stime > 유럽시작 and stime[1] < 유럽시작) Then
{
Tcond2 = true;
V2 = Var11;
}
If stime == 유럽종료 or (stime > 유럽종료 and stime[1] < 유럽종료) Then
{
Tcond2 = false;
}
If stime == 미국시작 or (stime > 미국시작 and stime[1] < 미국시작) Then
{
Tcond3 = true;
V3 = Var11;
}
If stime == 미국종료 or (stime > 미국종료 and stime[1] < 미국종료) Then
{
Tcond3 = false;
}
if Tcond1 == true Then
plot96(V1,"아시아기준");//속성에서 그래프종류는 일자그래프
if Tcond2 == true Then
plot97(V2,"유럽기준");//속성에서 그래프종류는 일자그래프
if Tcond3 == true Then
plot98(V3,"미국기준");//속성에서 그래프종류는 일자그래프
2016-02-14
240
글번호 95357
사냥꾼 님에 의해서 삭제되었습니다.
2016-02-13
6
글번호 95356
답변완료
아주 심각한 오류입니다. 빠른 답변과 조치 바랍니다.
안녕하세요?
nh선물의 예스글로벌 쓰고 있습니다. 첨부파일로 상황설명이 되어 있습니다.
참고하여 보시고 빠른 답변 부탁합니다.
수고하세요 ...
2016-02-13
196
글번호 95355
답변완료
부탁드립니다.
1. 단기누적손실액 구하기(당일분만이 아니고 전일부터 연속임)
이번거래가 수익으로 마감되면 단기누적손실액은 0
손실나면 단기누적손실액이 그만큼 불어나기
단기누적손실중 한 번 거래가 수익으로 마감되면 다시 단기누적손실액은 0이 되고
다시 단기누적손실액을 0에서 누적시킴
즉 연속손실액합계를 뜻함(누적손실액은 -로 표시)
2. 단기누적손실액<-5 가 되면 진입계약수는 2계약
그외의 진입계약수는 1계약
3. 수익과 손실의 개념 속에 수수료까지 계산된 것인지요. 아니면 수수료는 무관한 의미인지요. 포함된 것이라면 수수료를 계약당 0.02로 산정.
위의 내용을 식으로 부탁드립니다.
4. 당일누적손익(당일진입분부터 계산)
이것은 시스템식에서 어떻게 나타내는지요. 수식을 부탁드립니다.
또한 해외선물(크루드오일)에서 당일누적손익을 어떻게 표시해야 하는지요.
우리시간으로 아침부터 다음날 새벽 마감시간까지를 당일로 보고자 합니다.
부탁드립니다.
2016-02-13
137
글번호 95354
답변완료
수식부탁드립니다
당일 최고가에서 최저가를 뺀 변동폭, 최저가에서 최고가를뺀 변동폭을
막대 그래프로 봉마다 표시되게 하고 싶습니다.
감사합니다
2016-02-15
136
글번호 95353
답변완료
부탁드립니다.
** 매수의 경우
신호발생봉의 N개 봉을 역산해서 최저점에서 50틱 이상이면
신호발생이 안되게 하는 조건문을 부탁드립니다.
- 매도는 반대.
2016-02-12
127
글번호 95352
답변완료
이전글 재문의..
답변 감사합니다.
그런데, 아래 수정된 수식을 yeslanguage에 적용해보니 에러가 뜹니다.
수식이 논리적으로 어디가 안맞는지, 가동이 안됩니다.
다만, 처음 답변 수식은 에러없이 잘 돌아갑니다.
그리고, 몇가지 커뮤니케이션 에러가 있어 올립니다.
1) 16% 상승한후 하락할때, 매수싯점은 16% 상승후 최고점 대비 5% 하락이
아니라, 16% 상승한 그가격 자체 대비 5% 하락입니다.
예로, 1.0 시초가이고, 16% 상승후(1.16), 10% 추가상승하였다가 (1.26)
하락했다면, 5% 하락 기준가는 1.26*0.95가 아니라, 1.16*0.95 입니다.
2) 또한, 실제 매수가격은 1.16*0.95 이 아니라, 1.16*0.95 부터 출발하여
지속 하락할시에 최저가 대비 5% 상승한 가격입니다.
예로, 1.16*0.95에서 추가 하락하여 1.16*0.95*0.93 (16% 가격 대비 5%
하락후, 7% 추가하락)이 되었다고 할때, 실제 매수가격은 (1.16*0.95*0.93)*1.05
(7% 추가하락 가격 대비 5% 반등한 가격)입니다.
( -> 이때, 1.16*0.95 에서 1.16*0.95*0.93 까지는 쭉 하락했다가 다시
수직상승했다고 가정합니다.
만약, 1.16*0.95*0.97까지 수직 떨어졌다가 5% 수직상승하여
(1.16*0.95*0.97)*1.05가 되었다면, 이것이 실제 매수가격이 됩니다.
( 16% 가격 대비 5% 하락후, 3% 추가하락시는 3% 추가하락 가격 대비 5%
반등한 가격이 실제 매수가임)
==> 트레일스탑 기능을 매수에 적용한 사례.) <= 중요!!
이상입니다.
수정 부탁합니다.
===================================================
안녕하세요
예스스탁입니다.
주석 참고하시기 바랍니다.
var : TT(0),T1(0),Entry(0),T(0),HH(0),HL(0);
TT = TotalTrades;
#날짜 변경되면 T는 0
if date != date[1] Then{
T1 = TT[1];
T = 0;
HH = 0;
HL = 0;
}
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
#9시 30분 이전에 시초가 대비 16이상 상승하면
#T는 1이고
#HH는 고가 HL에는 저가 저장
if T == 0 and stime < 93000 and H >= dayopen*1.16 Then{
T = 1;
HH = H;
HL = L;
}
#T가 1일때
if T == 1 Then{
#10%돌파후 최고가 계산
if H > HH Then{
HH = H;
HL = L;
}
#최고가 이후 최저가 계산
if L < HL Then
HL = L;
}
#무포지션이고 T가 1이고
#당일 진입이 없고 15시 이전이고
#16%이상 상승후 최고가에서 최고가 이후 최저가가 5%이상 하락하고
#최저가에서 5%이상 상승하면 매수
if MarketPosition == 0 and T == 1 and
entry < 1 and stime < 150000 and
HL <= HH*0.95 and HH > 0 and HL > 0
Then
buy("b1",AtStop,HL*1.05);
#T가 0이면 9시 30분이후에 시초가+16%에 매수
if MarketPosition == 0 and T == 0 and stime >= 093000 and entry < 1 and stime < 150000 Then
buy("b2",AtStop,Dayopen*1.16);
if MarketPosition == 1 and IsEntryName("b1") == true Then{
ExitLong("BL1",AtStop,EntryPrice*0.91);
if highest(H,BarsSinceEntry) >= EntryPrice*1.22 Then
ExitLong("Btr1",AtStop,highest(H,BarsSinceEntry)*099);
}
if MarketPosition == 1 and IsEntryName("b2") == true Then{
ExitLong("BL2",AtStop,EntryPrice*0.85);
if highest(H,BarsSinceEntry) >= EntryPrice*1.16 Then
ExitLong("Btr2",AtStop,highest(H,BarsSinceEntry)*099);
}
buy();
}
즐거운 하루되세요
> 초록이 님이 쓴 글입니다.
> 제목 : 이전글 추가문의
> 아래글에서 맨아래 (1) 번 질문을 다음과 같이 약간 수정합니다.
1) 9시 30분 이전에 시초가 대비 16% 상승한 경우에,
16%이상 상승후 하락반전하는 상황을 가정한다.
16% 가격 대비 5% 이상 하락한 이후에,
신저점대비 5% 상승한 가격에 매수함.(역트레일스탑(?) 적용)
-> 예로, 16% 가격 대비 5% 하락하고, 여기서 7% 더 추가 하락하는 경우에
7% 추가하락가격을 저점으로 하여, 여기서 5% 상승한 가격에 매수함.
(5% 하락이후, 신저점대비 5% 재상승한 가격에 매수함. 트레일스탑
을 익절이 아닌 저가매수에 적용함)
이때, 트레일스탑(익절)은 매수가격이 아닌, 16% 상승가격 대비 15% 상승한
가격으로 정함. (-> 매수가격에 관계없이 시초가 대비 16% 상승가격의 1.15배
가격으로 고정. 이 경우, 트레일감소폭은 3%로 고정)
손절은 매수가격 대비 10% 하락한 가격으로 고정함.
만약, 시초가 대비 16% 상승 못하면 매수 안함.
이상입니다.
수식 부탁합니다.
==============================================================
안녕하세요
예스스탁입니다.
트레일링 스탑은 일정 수익이후 감소폭도 같이 지정하셔야 합니다.
수익폭만 있어 기존수식에서와 같이 1% 감소로 지정했습니다.
var : TT(0),T1(0),Entry(0),T(0);
TT = TotalTrades;
if date != date[1] Then{
T1 = TT[1];
T = 0;
}
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if T == 0 and stime < 93000 and H >= dayopen*1.16 Then
T = 1;
if MarketPosition == 0 and T == 1 and entry < 1 and stime < 150000 Then
buy("b1",AtLimit,DayHigh*0.95);
if MarketPosition == 0 and T == 0 and stime >= 093000 and entry < 1 and stime < 150000 Then
buy("b2",AtStop,Dayopen*1.16);
if MarketPosition == 1 and IsEntryName("b1") == true Then{
ExitLong("BL1",AtStop,EntryPrice*0.91);
if highest(H,BarsSinceEntry) >= EntryPrice*1.22 Then
ExitLong("Btr1",AtStop,highest(H,BarsSinceEntry)*099);
}
if MarketPosition == 1 and IsEntryName("b2") == true Then{
ExitLong("BL2",AtStop,EntryPrice*0.85);
if highest(H,BarsSinceEntry) >= EntryPrice*1.16 Then
ExitLong("Btr2",AtStop,highest(H,BarsSinceEntry)*099);
}
즐거운 하루되세요
> 초록이 님이 쓴 글입니다.
> 제목 : 시스템 문의..
> 아래와 같은 수식을 받아 쓰고 있읍니다.
(당일 시초가 대비 16% 상승하면 매수하여
트레일스탑 15%, 손절 15% 작용)
var : TT(0),T1(0),Entry(0);
TT = TotalTrades;
if date != date[1] Then
T1 = TT[1];
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if MarketPosition == 0 and stime < 100000 and entry < 1 Then
buy("b",AtStop,dayopen*1.16);
#손절
SetStopLoss(15,PercentStop);
#트레일링스탑
SetStopTrailing(1,15,PercentStop,1);
위 식을 아래와 같이 좀더 세분화하고 싶읍니다.
1) 9:30 이전에 시초가 대비 16% 상승한 경우에,
16% 가격 대비 5% 하락한 가격에 매수함.
-> 16%이상 상승후 하락반전하는 상황에서
5% 이상 하락시에 그 가격으로 매수 들어감.
(16% 상승후 하락반전하여 재상승하는 경우 가정함)
(트레일스탑 22%, 손절 9%)
만약, 시초가 대비 16% 상승 못하면 매수 안함.
2) 9:30 이후
시초가 대비 16% 상승한 가격에 매수하여
트레일스탑 15%, 손절 15%
가능하겠읍니까?
2016-02-12
153
글번호 95351
답변완료
수식작성
avg(C,short(5)) > avg(C,mid(20))&&
avg(C,short) > avg(C(1),mid)and
CrossDown(C,avg(c,short));
위의 것은 키움에서 사용하고있는것입니다.
(1. 5이평이 20 이평위에 있으면서현재가가 5이평을 하향돌파 하면 매수) 참고-돌파후2틱에매수하면 더 좋습니다.
(2. 5이평이 20 이평아래에 있으면서 현재가가 5이평을 상향돌파 하면 매수)
위의것을 nh트레이더 수식으로 바꾸려고 합니다.
부탁드리겠습니다.(` 수식작성방법일 틀려서 할 수 없어서 부탁드립니다.)
2016-02-12
160
글번호 95346