커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8165
글번호 230811
답변완료
수식 문의드립니다.
분봉에 지난 19일(오늘을 제외한)중 종가상 최고가를
수평선으로 표시하고싶은데요
예스스탁으로는 어떤식으로 작성해야할지 잘모르겠습니다.
일반적인 hts의경우에는
max함수를 이용해서
max(npredayclose(1),nredayclose(2).....npredayclose(19))
이런식으로 하면 되거든요
답변 부탁드립니다.
날도 더운데 고생이 많으십니다. 항상 감사합니다.^^
2016-07-11
190
글번호 99950
답변완료
강조식 부탁드립니다
연일 더위에 수고많으십니다
아래식을 이평선이 아닌 MEMA선으로 변경하여 수식부탁드립니다
input : P(3);
var1 = ma(C,P);
if C > var1 Then
PlotPaintBar(H,L,"강조",RED);
else
PlotPaintBar(H,L,"강조",blue);
감사합니다
2016-07-11
232
글번호 99949
답변완료
문의
현재봉의 시가에서 (5) 틱만 하락후 (10)틱 상승하면 매수,
6틱이하로하락하면 이번봉은 매수주문이안나오는 식.
감사............
2016-07-11
214
글번호 99948
답변완료
시스템 문의
세가지 신호를 부탁 합니다
1) 10이평-60이평-120이평이 정배열 상태에서
캔들이 10일선과 닿으면 매수신호 발생
10이평-60이평-120이평이 역배열 상태에서
캔들이 10일선과 닿으면 매도신호 발생
2)10이평-60이평 골드난 상태에서
캔들이 10일선과 닿으면 매수신호 발생
10이평-60이평 데드난 상태에서
캔들이 10일선과 닿으면 매도신호 발생
3) 10이평-60이평 골드상태에서
가격이 4틱이상 하락했다가 다시 상승해서 "시가=종가"일대 매수신호
10이평-60이평 데드 상태에서
가격이 4틱이상 상승했다가 다시 하락해서 "시가-종가"일때 매도신호
단, 이세가지 모두 신호 발생시에는 화살표가 나오고 소리가 나게 부탁 드립니다.
2016-07-11
238
글번호 99947
답변완료
수식부탁드립니다
더운날씨에 수고많으십니다.
1. 타종목(data2)의 진입수식에 목표이익 도달하면 청산되게 하려면 어떻게 수식을
작성하나요?
예를 들어 타종목(data2) 선물의 매매수식을 적용하여 옵션매매를 할 경우 data2가 진입
신호가 나온후 data2 진입신호기준으로 목표수익이 0.5Point 달성된 경우 청산되게 하려면
어땋게 해야 하나요.
2016-07-11
223
글번호 99946
영주 님에 의해서 삭제되었습니다.
2016-07-11
0
글번호 99945
답변완료
문의드립니다
하루 최대 두번매매,하루 한번 매매도 가능함.
데이터2의 시가를 종가상 이탈하면 데이터1에 매수 신호.
데이터2의 시가대비 10틱 올라오면 손절
익절은 10틱 20틱 30틱40틱 순차 청산
20틱이익후 고전 대비 80% 눌리면 청산
진입수량과 손절틱수는 input 으로 부탁 합니다.
감사합니다.
2016-07-11
215
글번호 99944
답변완료
문의 드립니다.
짧게 0.2 정도 목표가 청산을 한 경우에
청산되자 마자 동일 신호로 진입이 되는 경우가 있습니다.
예를 들어서 "a"란 신호로 매수진입해서 다음 캔들에서
곧바로 수익이 났는데, 목표가 청산 캔들에서 동시에 "a" 진입 신호가
발생하는 경우입니다.
목표가가 짧아서 1~2 캔들내에서 청산이 되는 경우에 자주 발생하는데요
이걸 막는 방법은 없을까요?
예를 들어서 동일 진입 후 몇 캔들 내에서는 동일 신호 진입 금지와
같이 명령을 줄 수 있는지 궁굼합니다.
항상 감사합니다.
2016-07-11
186
글번호 99942
답변완료
수식 문의 드립니다.
안녕하세요.
늘 빠르고 정확한 답변에 감사드리고 싶습니다.
아래 로직에서 추가하고 싶은게 있어서 문의드립니다.
1. 강제 청산 조건에서
현재 20일 이평 만날 경우, 강제 청산으로 되어 있는데,
진입 가격대비 (15틱 이상 멀어질 경우--> 물타기를 하여 2계약 진입이 된 상태에서)를 추가하여,
두 가지 조건중, 조건을 먼저 만족하는 경우 강제 청산을 하는 로직을 추가하고 싶습니다.
2. 해당 로직은 현재 4틱 이상 상승후, 되돌림하여 +2틱이 되면 수익청산을 하게끔 되어 있는데,
6틱 이상 상승후 되돌림하여 +3틱이 되면 수익 청산이 되게끔 수정을 할려면,
아래 수식에서 해당 숫자를 아래와 같이 6과 3으로 변경하면 되는지요? (제가 일부 변경하여 적용해봤는데, 여전히 이전 조건으로 청산이 되는거 같습니다.)
if var1 >= EntryPrice+PriceScale*6 Then
exitlong("bx1",AtStop,EntryPrice+PriceScale*3);
#4틱이상 상승후 진입가+2틱에 도달하면 매수청산
if var1 >= EntryPrice+PriceScale*4 Then
exitlong("bx1",AtStop,EntryPrice+PriceScale*2);
늘 감사하게 생각하고 있습니다.
무더위에 조심하세요.
_._
=======================================================================================
수정 반영분.
input : P1(5),P2(20);
var : D1(0),MM(0),mav(0);
MM = stime%100;
D1 = C/ma(C,P1);
mav = ma(C,p2);
#이격이 99.5이하인 시점에 매수진입
if CrossDown(d1,99.5) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then
buy("b",OnClose,def,1);
#이격이 100.5이상인 시점에 매도진입
if crossup(d1,100.50) and ((MM >= 0 and MM < 25) or (MM >= 30 and MM < 55)) Then
sell("s",OnClose,def,1);
#매수진입후
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
var1 = H;
if H > var1 Then
var1 = H;
#진입이 1번일경우
if MaxEntries == 1 Then{
#15틱 하락하면 1계약 추가매수진입
buy("bb",atlimit,EntryPrice-PriceScale*15,1);
#진입가+10틱에 청산
ExitLong("bp1",Atlimit,EntryPrice+PriceScale*10);
#4틱이상 상승후 진입가+2틱에 도달하면 매수청산
if var1 >= EntryPrice+PriceScale*4 Then
exitlong("bx1",AtStop,EntryPrice+PriceScale*2);
}
#진입이 2번일 경우
if MaxEntries == 2 Then{
#청산이 아직 발생하지 않은 경우 평단가+4틱 수익이면 1계약청
if CurrentContracts == MaxContracts Then
ExitLong("bp21",Atlimit,avgEntryPrice+PriceScale*4,"",1,1);
#일부청산이 된 경우
if CurrentContracts < MaxContracts Then
#평단가 +10틱이상이면 나머지 청산
ExitLong("bp22",Atlimit,AvgEntryPrice+PriceScale*10);
#평단가 +4틱이상 상승후 하락해서 평단가+4틱에 도달하면 나머지 청산
if var1 > AvgEntryPrice+PriceScale*4 Then
exitlong("bx2",AtStop,EntryPrice+PriceScale*4);
}
if H < mav Then
exitlong("bx21",AtLimit,mav);
if L > mav Then
exitlong("bx22",AtStop,mav);
}
#매도진입후
if MarketPosition == -1 Then{
if CurrentContracts > CurrentContracts[1] Then
var2 = L;
if L < var2 Then
var2 = L;
#진입이 1번일경우
if MaxEntries == 1 Then{
#15틱 상승하면 1계약 추가매도진입
sell("ss",atlimit,EntryPrice+PriceScale*15,1);
#진입가-10틱에 청산
ExitShort("sp1",Atlimit,EntryPrice-PriceScale*10);
#4틱 하락 후 진입가-2틱에 도달하면 매도청산
if var2 <= EntryPrice-PriceScale*4 Then
ExitShort("sx1",AtStop,EntryPrice-PriceScale*2);
}
#진입이 2번일 경우
if MaxEntries == 2 Then{
if CurrentContracts == MaxContracts Then
ExitShort("sp21",Atlimit,avgEntryPrice-PriceScale*4);
if CurrentContracts < MaxContracts Then
ExitShort("sp22",Atlimit,AvgEntryPrice-PriceScale*10);
if var2 < AvgEntryPrice-PriceScale*4 Then
ExitShort("sx2",AtStop,EntryPrice-PriceScale*4);
}
if L > mav Then
ExitShort("sx21",AtLimit,mav);
if H < mav Then
ExitShort("sx22",AtStop,mav);
}
2016-07-11
208
글번호 99941