커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8141
글번호 230811
답변완료
문의드립니다
예스글로벌에서는 Upvol,DownVol 을 수식에 적용시키면 지표가안나오네요 왜그러죠?
2015-02-25
160
글번호 83424
답변완료
진입후 저점
매수 진입후... 진입전에 스윙저가중 저점 이탈시 손절을 코딩 하고 싶은데..
코딩좀 부탁 드립니다.
2015-02-25
163
글번호 83423
답변완료
문의
매수: 시장가격이 지난 2일동안의 최저가 이하로 내려갔을때에 매수
매도: 총 매수값의 평균값이 1.5% 이상일때 매도청산
2015-02-25
136
글번호 83422
답변완료
문의드립니다
해외선물에서 data2를 같은 분봉으로 놓고
data2의 upticks가 전 봉보다 오르고
메인 챠트에 고가가 전 봉보다 오를 때 매수하는 수식 부탁합니다
봉 주기와 시간은 두 챠트가 일치해야 합니다
감사합니다
2015-02-25
169
글번호 83421
답변완료
문의
데이타매니저에 자료 넣고 검색 돌릴수 있나요??
2015-02-25
181
글번호 83420
디엠 님에 의해서 삭제되었습니다.
2015-02-25
4
글번호 83417
칠곡저격수 님에 의해서 삭제되었습니다.
2015-02-25
3
글번호 83415
답변완료
차트에 4분할 선 긋기
안녕하세요.
틱봉에서 전일 고점과 저점을 계산해서 차트에 4분할 선을 만들고싶은데요.
어떻게 해야하는지 잘 모르겠습니다....
2015-02-25
216
글번호 83414
답변완료
추가검토 부탁드립니다.
빠르고 명쾌한 답변 감사드립니다.
그런데 짜주신 식으로는 매수가 생각과 다르게 구현되기에
제가 원했던 바가 온전히 전달이 안 된 것 같아 다시 한 번 부탁드리게 되었습니다.
제가 그림을 못 그려 어쩔 수 없이 글로 다시 한 번 말씀드리면
원했던 것은
1)봉들이 연속 저점을 낮추다가 최저점을 찍고 연속 저점을 높이는 일이 발생
(짜주신 식이 이 부분은 잡아내는 것 같습니다)
2)가장 높은 저점을 지닌 마지막 봉의 저점을 깨는 새로운 봉이 출현
(이 새로운 봉의 고점은 상관없고, 중요한 것은 가장 높은 저점을 지닌 마지막
봉의 저점을 깨느냐입니다.)
3)새로운 봉이 출현한 후 어제까지는, 전일의 고점을 깨는 고점을 지닌 봉이 출현하는 일도 없었고 아까 1)에서의 최저점을 깨는 저점을 지닌 봉이 출현하는 일도 없었음.(즉, 그 조건만 지켜진다면 새로운 봉이 출현한 후의 봉 갯수가 상관없고, 새로운 봉이나 2)에서의 마지막 봉보다 저점이 높아도 낮아도 상관없음. 그 어떤 봉도 생길 수 있을 것이고, 감시하는 조건은 위에서 말씀드린대로 딱 전일의 고점을 깨느냐와 최저점을 깨느냐뿐임)
4) 그러다 드디어 오늘, 오늘 이 순간까지의 고점이 어제의 고점을 깨고 올라감(오늘의 시가가 어땠는지 상관없음).
5) 위와 같은 조건이 만족되면 최초 전일의 고점 돌파시 1회만 매수진입함.(즉, 내일은 오늘의 고점을 깨도 매수진입하지 않으며, 모레 역시 내일의 고점을 깨도 매수진입하지 않음)
6) 그 후 며칠 뒤 다시 같은 조건 충족이 되면 또 1회 매수진입함(즉, 종전 매수진입분의 청산여부와 상관없이 조건 충족이 또 되면 또 1회 매수하는 것임)
좀 복잡해졌는데, 요컨대, 하락 후 저점찍고 상승하다가 조정 거친 후 재상승하면 한 계약
매수하려는 것이고, 그 청산여부와 상관없이 같은 일 또 생기면 또 한 계약 매수를 반복하려는 것입니다. 짜주신 식은 한 번의 조건 만족시 전일의 고점을 깰 때마다 계속 매수가 이루어지고, 그래서 설정창에서 피라미딩불허로 해 보면 종전 진입분이 청산이 되기 전에는 조건이 만족하여도 매수가 안 뜹니다. 그리고, 오늘 고점 돌파 이전까지 위 1)에서의 최저점을 깨는 봉이 없어야 한다는 것은 오늘의 저점만이 문제가 아니라 위 1)에서의 저점최고봉의 저점이 깨진 이후 오늘까지의 모든 봉에 해당해야 하는데(그 봉은 하나일 수도 있고 둘 일 수도 셋일 수도..있겠지요) 그 부분은 짜 주신 식에 구현된 것도 같고 아닌 것도 같고 식을 정확하게 읽을 줄 모르는 탓으로 잘 모르겠습니다.
죄송하지만 조건 부분을 다시 검토 좀 해 주십시오...감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식부탁
> 안녕하세요
예스스탁입니다.
var : HH(0);
if
L[3] < L[4] and L[4] < L[5] And
L[3] < lowest(L,3) then{
Condition1 = true;
var1 = L[3];
var2 = L;
}
if Condition1 == true and L < var1 Then
Condition1 = false;
if Condition1 == true Then
buy("b",AtStop,H+PriceScale);
if MarketPosition == 1 Then{
ExitLong("bx1",atlimit,AvgEntryPrice*1.05);
ExitLong("bl1",AtStop,var1[BarsSinceEntry]);
ExitLong("bl2",AtStop,DayLow(1));
if CurrentContracts > CurrentContracts[1] Then
HH = H;
if HH >= LatestEntryPrice*1.02 Then
exitlong("bx2",AtStop,HH-(HH-LatestEntryPrice(0))*0.3);
}
1)
강제청산 함수는 설정창과 수식내에서 함수(setstop~)로 지정할수 있는데
수삭안에서 함수로 강제청산을 설정하면 시스템 설정창에서는 해당 강제청산은 설정할수 없게 됩니다.
즉 수식이 우선되게 됩니다.
2)
강제청산 함수는 개별 진입별로 동작합니다.
피라미딩 진입을 해서 포지션 전체에 대한 내용으로 청산하고자 하시면
위 식과 같이 평균단가를 이용해 청산하셔야 합니다.
bx1이 평균단가 기준 5% 수익시 전량청산입니다.
bx2가 최종 진입후 평균단가 기준 2% 이상 수익후 30% 수익감소하면 전량청산입니다.
평균단가 기준 손절은 아래와 같습니다. 평균단가 기준 5% 손실시 청산입니다.
exitlong("loss",atstop,avgentryprice*0.95);
3)
시스템은 신호가 발생하면 주문만 집행합니다.
모든 신호는 체결된 것으로 간주하고 다음신호를 연결해 가게 됩니다.
그러므로 진입이 체결되지 않은상태에서 청산신호가 발생해 체결이 되면
반대포지션을 가지게 됩니다.
예스랭귀지는 차트의 데이터를 이용해 조건을 만들어 신호를 발생하고
주문만 발생하게 되므로 미체결여부로 신호를 컨트롤 할수는 없습니다.
4)
예스랭귀지의 잔고함수는 예수금 정도의 간단한 내용만 리턴을 하므로
수량설정등에 제한적으로 사용됩니다.
또한 시뮬레이션이 되는 이전데이터가 없으므로 실시간 봉에서만 값이 제공이 됩니다.
잔고의 데이터를 사용할때 처음에 원장의 내용을 복사한 이후 가원장을 구축하고
이후 들어오는 접수응답이나 체결응답으로 가원장을 갱신해 가면서 예수금등을 계산합니다.
만약 시스템을 적용후에 다른 단말기(스마트폰이나 싸이칸과 같은 해당 증권사의 HTS)에서
따로 주문을 내시면 해당 내용은 예스트레이더로
전송이 되지 않으므로 실제 원장과 가원장의 값이 다르게 됩니다.
이때 예스트레이더의 잔고평가 화면을 한번 조회를 해주시면
가원장이 다시 원장과 동기화해서 원장의 값으로 갱신하게 하게 됩니다.
5)
선물 데이터 중에 연결선물이라는 데이터가 있습니다.
해당데이터는 주로 거래에 많이 이용하는 최근월물(3개월)만으로
데이터를 연결해서 제공되는 데이터 입니다.
근월물만 거래하신 다면 해당 데이터로 차트를 열고 시스템을 적용하시면
시스템은 차트의 데이터로 신호를 만들고 리포트상 진입이나 청산가격을 이용하므로
신호의 위치가 변경되지 않으므로 리포트상 진입청산가격도 유지가 됩니다.
즐거운 하루되세요
> 음양조파 님이 쓴 글입니다.
> 제목 : 수식부탁
> 안녕하세요?
수식부탁드립니다.
매수진입조건
1) 제1기준봉 전에 연속 2개이상의 봉이 저점을 낮추어 오다 제1기준봉에서 최저점을 형성하고 그후 제1기준봉보다 저점이 높은 봉이 연속 3개 이상 있으며
(연속되어 저점을 높여간 최후의 봉을 편의상 제2기준봉이라 함)
2) 그 후 저점이 제2기준봉의 저점보다 낮은 봉이 1개 이상 형성되어 있지만 저점이 제1기준봉의 저점보다 낮은 봉은 형성된 적이없는 상태에서
4) 그후 몇번째 봉에서든 장중의 현재가가 직전봉의 고점보다 높게 형성되었을 때 현재가로 매수진입
(누적 진입 허용, 일봉이든 분봉이든 모두 적용될 수 있게 해 주세요.)
청산조건
매수한 총 포지션의 수익이 5푸로 이상이거나
매수한 총 포지션의 수익이 2푸로 이상으로 수익의 30푸로를 상실(트레일링스톱)하거나
현재가가 제1기준봉 혹은 직전일의 저점을 하향돌파하면 그 즉시 현재가로 청산
보충질문)
1) 수식으로 쓴 것과 시스템트레이딩설정창에서 설정한 것 중 어느 것이 우선합니까?
2) 시스템트레이딩설정창에서 손절 익절 트레일링스톱을 설정했을 때, 포지션 누적시에는
하나하나 포지션마다 조건충족 여부를 계산하여 청산을 하고 포지션 전체를 평균하지 않는 것 아닌가 싶습니다. 만일 그렇다면 포지션 전체의 진입가격 등을 평균하여 손절 익절 트레일링스톱을 거는 방법은 무엇인가요?
3) 수식이든 설정창이든 청산주문을 내는 경우, 주문 전에 잔고를 확인하는지 아니면 과거에 진입주문을 냈으면 그대로 체결된 것을 전제하고 청산주문을 내는지, 그리고 만일 진입주문냈지만 체결이 안 되었는데 잔고확인없이 청산주문이 실행되면 반대포지션을 하나 갖게 되는 것인지, 그리고 주문 전에 잔고를 확인하여 청산주문을 실행하도록 하는 방법은 무엇인지 궁금합니다.
4) 매뉴얼에 보면, 시스템트레이딩 잔고함수는 가원장을 이용하니 원장과 다를 수 있어서 동기화시키라고 나와 있는데, 시스템트레이딩을 자동으로 하도록 늘 걸어놓는다면 동기화는 구체적으로 언제 어떤 방법으로 시키라는 것인지요?
5) 선물은 월물별로 차트가 다른데, 만기로 인하여 월물이 바뀌면 종전에 진입과 청산의 기준으로 삼았던 각종 신호와 주문 자료 중에 앞으로의 주문에 계속 사용하여야 하는 것이 있으면 어떻게 하나요? (예를 들어, 진입가격에서 1푸로 오르면 청산하도록 한 경우, 만기로 인하여 지난월물 청산하고 새월물로 대체하면 컴퓨터는 진입가격을 달리 인식할 것이고, 기준봉에 따라 조건을 주는 경우 봉이 달라져서 연속성이 깨질 건데,어떻게 조치하나요?)
감사합니다.
2015-02-25
380
글번호 83413