커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4471
글번호 230811
답변완료
이동평균 상향돌파시 고점 지정
안녕하세요,
ma(5)가 ma(20)를 crossup 할때의 고가를 var1로 지정하고 가격이 var1을 상향돌파 buy 진입하고자 합니다. 또한 ma(5)가 ma(20)을 crossdown 할때에는 var2로 지정하고 가격이 var2를 하향돌파 할때 sell 집입 하고자 합니다.
var1과 var2를 지정하는 수식은 어떻게 작성하면 될까요?
이때 atstop 명령어를 쓰면 var1 이상값 도달시 buy 신호가 나가는 것으로 이해하면 될까요?
감사합니다.
2016-12-26
128
글번호 105285
답변완료
문의 드립니다.
분봉에서 전일 봉이
저가 달성후 고가 달성한 양봉은 1
고가 달성후 저가 달성한 양봉은 2
저가 달성후 고가 달성한 음봉은 -1
고가 달성후 저가 달성한 음봉은 -2
를 나타내는 지표 부탁드립니다.
2016-12-26
121
글번호 105282
이공주7 님에 의해서 삭제되었습니다.
2016-12-26
0
글번호 105281
답변완료
51077 추가 질문입니다.
답변 감사드립니다.
아래와 같이 추가로 보완을 요청드립니다. 감사합니다.
1.매수 매도 포지션을 동시 진입하도록 수정바랍니다.
2.매매시간을 오후 16시부터 다음날 새벽 02시까지로 하고, 종료시 전량 청산
=============================================================================
안녕하세요
예스스탁입니다.
2) 매수진입후 진입직전 최저하 하락시 실시간 손절 (전체 계약 손절)
2) 매도진입후 진입직전 최고가 상승 돌파시 실시간 손절 (전체 계약 손절)
위 내용은 진입직전 최저/최고가가 정확치 않아
진입봉 기준 5개봉 최저가와 최저가로 지정했습니다.
Input : Period(20), MultiD(2);
var : BBmd(0),BBup(0),BBdn(0);
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
if MarketPosition == 0 and crossup(c,bbdn) and NextBarOpen > Bbdn Then
buy("b",AtMarket,def,2);
if MarketPosition == 1 then{
if CurrentContracts == MaxContracts and CrossDown(c,BBup) and NextBarOpen < BBup Then
exitlong("bx1",AtMarket,def,"",1,1);
if CurrentContracts < MaxContracts and CrossDown(c,BBup) and NextBarOpen < BBup Then
exitlong("bx2",AtMarket,def,"",1,1);
if CrossDown(c,BBdn) and NextBarOpen < BBdn Then
exitlong("bx3",AtMarket,def,"",1,1);
ExitLong("bx4",AtStop,Lowest(L,5)[BarsSinceEntry]);
}
if MarketPosition == 0 and CrossDown(c,bbup) and NextBarOpen < Bbup Then
sell("s",AtMarket,def,2);
if MarketPosition == -1 then{
if CurrentContracts == MaxContracts and CrossUp(c,BBdn) and NextBarOpen > BBdn Then
ExitShort("sx1",AtMarket,def,"",1,1);
if CurrentContracts < MaxContracts and CrossUp(c,BBdn) and NextBarOpen > BBdn Then
ExitShort("sx2",AtMarket,def,"",1,1);
if CrossUp(c,BBdn) and NextBarOpen > BBup Then
ExitShort("sx3",AtMarket,def,"",1,1);
ExitShort("sx4",AtStop,highest(H,5)[BarsSinceEntry]);
}
즐거운 하루되세요
> dqzero 님이 쓴 글입니다.
> 제목 : 매매식 부탁드립니다.
> 볼린저밴드 상하단선 돌파 매매식 부탁드립니다.
1. 매수 진입
1) 볼린저밴드 하단선 상승 돌파후 그다음봉 시가가 하단선 위에 있을때 시가에 매수 진입(2계약)
2) 이전진입 1계약이라도 보유시 재진입 안함
2. 매수 청산
1) 볼린저밴드 상단선 상승 돌파후 다시 상단선 하락 돌파후 그다음봉 시가가 상단선 아래에 있을때 시가에 청선 (1계약)
2) 볼린저밴드 상단선을 상승 돌파 및 다시 상단선 하락 돌파후 하단선 하락 돌파시 그다음봉 시가가 하단선 아래에 있을때 시가에 청산 (1계약)
3. 매수진입 손절
1) 매수진입후 볼린저밴드 하단선을 다시 바로 깨고 내려갈때 그다음봉 시가가 하단선 아래에 있을때 1회만 손절 (1계약)
2) 매수진입후 진입직전 최저하 하락시 실시간 손절 (전체 계약 손절)
4. 매도 진입
1) 볼린저밴드 상단선 하락 돌파후 그다음봉 시가가 상단선 아래에 있을때 시가에 매도 진입 (2계약)
2) 이전진입 1계약이라도 보유시 재진입 안함
5. 매도 청산
1) 볼린저밴드 하단선 하락 돌파후 다시 하단선 상승 돌파후 그다음봉 시가가 하단선 위에 있을때 시가에 청산 (1계약)
2) 볼린저밴드 하단선을 하락 돌파 및 다시 하단선 상승 돌파후 상단선 상승 돌파시 그다음봉 시가가 상단선 위에 있을때 시가에 청산 (1계약)
6. 매도진입 손절
1) 매도진입후 볼린저밴드 상단선을 다시 바로 상승돌파하고 올라갈때 그다음봉 시가가 상단선 위에 있을때 1회만 손절 (1계약)
2) 매도진입후 진입직전 최고가 상승 돌파시 실시간 손절 (전체 계약 손절)
2016-12-26
122
글번호 105280
답변완료
진입 미체결시 청산 및 강제청산 주문 미실시 수식 문의
안녕하세요...관리자님...
DMI예스스탁을 이용하여 시스템 주문식을 만들어서 사용중인데요,
진입주문이 미체결되었는데도, 청산신호가 발생하면 청산 주문이 체결되어 당황하였습니다.
하여, 진입주문 미체결시 청산(강제청산 포함) 주문이 나가지 않는 수식을 문의드리고자 합니다.
아래 49742에 관련된 수식이 있는데,
어떻게 적용하는지 모르겠습니다.
아래 DMI예스스탁 수식을 검토하시고, 반영하여 주시면 감사하겠습니다.
Input : Period(14),P1(5),P2(20);
value1 = DIPlus(Period);
value2 = DIMinus(Period);
var1 = ma(C,P1);
var2 = ma(C,P2);
if var1 > var2 and C > O and value2 >= 30 Then
buy();
if var1 < var2 and C < O and value2 >= 30 Then
sell();
if MarketPosition == 1 and C < var2 Then
exitlong();
if MarketPosition == 1 and C > var2 Then
ExitShort();
2016-12-25
147
글번호 105279
답변완료
고가가중이동평균
고가가중이동평균을 사용자 함수처럼 사용하고 싶습니다
부탁드립니다
2016-12-25
154
글번호 105278
답변완료
다시 한번 문의 드립니다..^^
항상 수고 많으십니다..^^
아랫답변해 주신 것을 적용해보니 제 의도와은 다르게 값이나와서 다시 한번 문의 드립니다..
1) plot2(VV,"가장가까운값")의 값이란 plot1(Price,"data1+data2 종가 중간값")의 가장 가까
운 값중에 plot1(Price,"data1+data2 종가 중간값")보다 작은 값이 제가 찾고자 하는 값입
니다. 그러니까 "가장가까운값" 순위중에 1순위- 중간값보다 큰값 2순위-중간값보다 작은값
이라면 2순위 값이 구하고자 하는값입니다.
2) 그리고 input : N(20)값을 ---> 편의에 따라 N(10)으로 하면 10일이내의 값중에서 수식이
적용되이니 상관없는거겠죠?.
----------------------------------------------------------------
안녕하세요
예스스탁입니다.
차트에 20일이상의 데이타가 있어야 출력됩니다.
input : N(20);
var : cnt(0),L11(0),L21(0),L12(0),L22(0),L13(0),L23(0),Price(0),diff(0),VV(0);
Array : DL2[50](0,data2);
if data2(bdate != bdate[1]) Then{
DL2[0]= data2(L);
for cnt = 1 to 49{
DL2[cnt] = DL2[cnt-1][1];
}
}
if data2(L) < DL2[0] Then
DL2[0] = data2(L);
if DL2[N] > 0 then{
L11 = 99999999;
L21 = 99999999;
for cnt = 0 to N-1{
if daylow(cnt) < L11 Then
L11 = daylow(cnt);
if DL2[cnt] < L21 Then
L21 = DL2[cnt];
}
L12= 99999999;
L22 = 99999999;
for cnt = 0 to N-1{
if daylow(cnt) < L12 and daylow(cnt) > L11 Then
L12 = daylow(cnt);
if DL2[cnt] < L22 and DL2[cnt] > L21 Then
L22 = DL2[cnt];
}
L13= 99999999;
L23 = 99999999;
for cnt = 0 to N-1{
if daylow(cnt) < L13 and daylow(cnt) > L12 Then
L13 = daylow(cnt);
if DL2[cnt] < L23 and DL2[cnt] > L22 Then
L23 = DL2[cnt];
}
Price = (data1(c)+data2(c))/2;
diff = abs(Price-L11);
VV = L11;
if abs(Price-L11) < diff Then{
diff = abs(Price-L11);
VV = L11;
}
if abs(Price-L12) < diff Then{
diff = abs(Price-L12);
VV = L12;
}
if abs(Price-L13) < diff Then{
diff = abs(Price-L13);
VV = L13;
}
if abs(Price-L21) < diff Then{
diff = abs(Price-L21);
VV = L21;
}
if abs(Price-L22) < diff Then{
diff = abs(Price-L22);
VV = L22;
}
if abs(Price-L23) < diff Then{
diff = abs(Price-L23);
VV = L23;
}
plot1(Price,"data1+data2 종가 중간값");
plot2(VV,"가장가까운값");
}
즐거운 하루되세요
> 금여록 님이 쓴 글입니다.
> 제목 : 수식 좀 부탁드립니다.^^
> 안녕하세요.. 항상 수고하십니다..
문의드릴 사항은 주종목과 타종목 두개의 차트를 띄어 보고있는데요..
data1과 data2 둘다..
1. 최근 20일동안 일봉기준으로 최저가가 발생한 날의 최저가,2번째 저가가 발생한 날의 최저
가 , 3번째 저가가 발생한 날의 최저가를 표시할수 있는 수식을 부탁드립니다..
2. 그리고 그렇게 구해진 지표값(data1과 data2..각각 3 개씩 6 개) 중 (data1+data2)/2 의 값
과 가장 가까운 값(큰값과 작은값중 작은값)을 구하는 수식을 부탁드립니다.
분봉에서 구현했으면 합니다..항상 감사드립니다..^^
2016-12-25
135
글번호 105277
답변완료
문의 드립니다.
안녕하세요, 성탄과 새해 복 많이 받으십시요
한달이 4주 이면 옵션 만기 끝나고 다음주부터
2주간,2주간 4등분,
만일 한달이 5주이면 옵션만기 끝나가 다음주
부터 2주간, 만기주까지 3주간 4등분선을 만들고
싶습니다.
감사합니다.
2016-12-25
140
글번호 105276
답변완료
수식변경
S=(open+high+low+close)/4;
X=(open(K)+close(K))/2;
AA=avg(S,PERIOD);
BB=avg(X,PERIOD);
Z=AA-BB;
t=ma(v,5,simple);
r=ma(v,20,simple);
u=crossup(t,r);
Z>(E) AND Z>(F) and (u>=1 or t>r)
키움수식입니다 예스트레이더 수식으로 변경좀 도와주세요~
2016-12-25
159
글번호 105275