항상 많은 도움 감사드립니다. 항상 고맙고 죄송한 마음이지만 덕분에 시스템이 나날이 디테일되고 향샹되고 있습니다.
하나의 시스템에 여러가지의 시스템 식을 넣다 보니 서로 부딪히는 상황이 발생되어 도움을 요청드립니다. 예를들면 보통의 수식은
if MarketPosition == 0 &&
조건A then buy ("A매수",atmarket,def,1);
if MarketPosition == 1 &&
조건A-1 then Exitlong("A매수정리",atmarket,def,"A매수");
if MarketPosition == 0 &&
조건B then sell ("B매도",atmarket,def,1);
if MarketPosition == -1 &&
조건B-1 then Exitshort("B매도정리",atmarket,def,"B매도");
이런식으로 정리했었는데요 문제는 exitlong조건 A-1이 발생하기 전에 매도 조건 B가 발생을 하면 스위칭을 하여야 하는데 시스템을 어떻게 구성해야 할지 잘 모르겠습니다.
아마도
if MarketPosition == 0 &&
조건B then sell ("B매도",atmarket,def,1);
if MarketPosition == 1(그리고 1에 해당하는 매수명을 지정할 수 있는도 궁금합니다) &&
-매수 계약을 정리하고 B매도를 실행하라.
if MarketPosition == -1 &&
조건B-1 then Exitlong("B매도정리",atmarket,def,"B매도");
이런식으로 되야 할 것 같은게 수식 작성 방법이 어렵네요..
총 들어가는 수식이 매수,매도 각각 3개 정도식은 되어서 반대로 매수로 들어갈때도 부딪히는 경우가 있을때 어떤식으로 스위칭을 해야하는지 도움 요청드립니다.
혹시 수식상에만 스위칭 되는게 아닌 실제 한 계약의 보증금으로 스위칭할 수 있는 수식 부탁드겠습니다.
답변 1
예스스탁
예스스탁 답변
2023-12-05 15:01:00
안녕하세요
예스스탁입니다.
1
현재 매수진입과 매도진입이 모두 위와 같이 무포지션(MarketPosition == 0)에 진입하게 조건이 지정되어 있습니다.
2
매수진입과 매도진입을 아래와 같이 포지션관련 조건을 변경하시면
진입 후 반대포지션 진입조건 만족시에 스위칭이 됩니다.
Buy와 Sell은 반대포지션 진입상태에서 발동하면 자동으로 청산을 하게 됩니다.
if MarketPosition <= 0 && 조건A then
buy ("A매수",atmarket,def,1);
if MarketPosition >= 0 && 조건B then
sell ("B매도",atmarket,def,1);
3
만약 특정 매도진입은 특정 진입명일때만 스위칭을 한다면
아래와 같이 조건을 지정해 주시면 됩니다.
#무포지션이거나 매도포지션이면 진입명이 B매도일때만 조건A만족하면 매수진입
if (MarketPosition == 0 or (MarketPosition == -1 && IsEntryName("B매도") == true)) && 조건A then
buy ("A매수",atmarket,def,1);
#무포지션이거나 매수포지션이면 진입명이 A매수일때만 조건B만족하면 매도진입
if (MarketPosition == 0 or (MarketPosition == 1 && IsEntryName("A매수") == true)) && 조건B then
sell ("B매도",atmarket,def,1);
즐거운 하루되세요
> 비정성시 님이 쓴 글입니다.
> 제목 : 시스템 스위칭 문의 드립니다.
> 항상 많은 도움 감사드립니다. 항상 고맙고 죄송한 마음이지만 덕분에 시스템이 나날이 디테일되고 향샹되고 있습니다.
하나의 시스템에 여러가지의 시스템 식을 넣다 보니 서로 부딪히는 상황이 발생되어 도움을 요청드립니다. 예를들면 보통의 수식은
if MarketPosition == 0 &&
조건A then buy ("A매수",atmarket,def,1);
if MarketPosition == 1 &&
조건A-1 then Exitlong("A매수정리",atmarket,def,"A매수");
if MarketPosition == 0 &&
조건B then sell ("B매도",atmarket,def,1);
if MarketPosition == -1 &&
조건B-1 then Exitshort("B매도정리",atmarket,def,"B매도");
이런식으로 정리했었는데요 문제는 exitlong조건 A-1이 발생하기 전에 매도 조건 B가 발생을 하면 스위칭을 하여야 하는데 시스템을 어떻게 구성해야 할지 잘 모르겠습니다.
아마도
if MarketPosition == 0 &&
조건B then sell ("B매도",atmarket,def,1);
if MarketPosition == 1(그리고 1에 해당하는 매수명을 지정할 수 있는도 궁금합니다) &&
-매수 계약을 정리하고 B매도를 실행하라.
if MarketPosition == -1 &&
조건B-1 then Exitlong("B매도정리",atmarket,def,"B매도");
이런식으로 되야 할 것 같은게 수식 작성 방법이 어렵네요..
총 들어가는 수식이 매수,매도 각각 3개 정도식은 되어서 반대로 매수로 들어갈때도 부딪히는 경우가 있을때 어떤식으로 스위칭을 해야하는지 도움 요청드립니다.
혹시 수식상에만 스위칭 되는게 아닌 실제 한 계약의 보증금으로 스위칭할 수 있는 수식 부탁드겠습니다.