커뮤니티

질문입니다.

프로필 이미지
yanartas
2016-12-20 21:25:51
104
글번호 105119
답변완료
다음과 같은 예시시스템이 있고, 선물거래에 적용한다고 가정해봅니다. if 조건1 then { buy("A", atmarket, def, 1}; } if 조건2 then { buy("B", atmarket, def, 1); } if 조건3 then { buy("C", atmarket, def, 1); } if 조건4 then { sell("D", atmarket, def, 1}; } if 조건5 then { sell("E", atmarket, def, 1); } if 조건6 then { sell("F", atmarket, def, 1); } 위와 같은 시스템을 적용할 때, 피라미딩 설정 창에서 "허용안함"으로 하면, 1계약만으로 거래가 가능한 것으로 알고 있습니다. 여기서 2계약으로 거래를 하고자 하는데, 즉 피라미딩을 실시하려고 하는데, 피라미딩에 관한 전략은 다음과 같습니다. 매수 시그널 A, B, C 중 A와 B 시그널 진입이후에만 피라미딩을 쌓고, C 시그널 진입은 피라미딩을 하지 않고자 합니다. A 이후 피라미딩 진입을 "XA"라고 칭하고, B 이후 피라미딩 진입을 "XB"라고 칭하겠습니다. A와 B 시그널 진입 후 다음봉에서 진입가격보다 높다면 추가로 1계약 더 매수로 진입하고자 합니다. 매도 시그널 D, E, F 중 D와 E 시그널 진입이후에만 피라미딩을 쌓고, F 시그널 진입은 피라미딩을 하지 않습니다. D 이후 피라미딩 진입을 "YD"라고 칭하고, E 이후 피라미딩 진입을 "YE"라고 칭하겠습니다. D와 E 시그널 진입 후 다음봉에서 진입가격보다 낮다면 추가로 1계약 더 매도로 진입합니다. 만약 A와 B 중 매수시그널이 발생하고, 피라미딩까지 진입하였을때, 매도시그널인 D, E, F 중 하나가 발생하면 매수포지션을 청산하고 매도1계약 진입합니다. 마찬가지로 D와 E 중 매도시그널이 발생하고, 피라미딩까지 진입하였을때, 매수시그널인 A, B, C 중 하나가 발생하면 매도포지션을 청산하고 매수1계약으로 진입합니다. 이와 같은 시스템을 작성하고자 합니다. 제가 한번 작성해서 시스템을 적용할때 피라미딩 창에서 "다른 진입신호만 허용"을 체크 했을때, 의도는 예를들어 A진입 이후에는 XA만 발생해야하는데, B나 C가 진입을 하기도 합니다. 마찬가지로 B 진입 이후에도 XB만 발생시키려고 하는데, A나 C가 진입하는데 이를 제어하고 싶습니다. 즉, A 이후에 피라미딩은 XA 뿐, B 이후에 피라미딩은 XB 뿐, D 이후에 피라미딩은 YD 뿐, E 이후에 피라미딩은 YE 뿐만으로 이루어지게 시스템을 작성하고 싶습니다. 예시로 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-12-21 10:30:33

안녕하세요 예스스탁입니다. if MarketPosition <= 0 and 조건1 then { buy("A", atmarket, def, 1);} if MarketPosition <= 0 and 조건2 then { buy("B", atmarket, def, 1); } if MarketPosition <= 0 and 조건3 then { buy("C", atmarket, def, 1); } if MarketPosition >= 0 and 조건4 then { sell("D", atmarket, def, 1); } if MarketPosition >= 0 and 조건5 then { sell("E", atmarket, def, 1); } if MarketPosition >= 0 and 조건6 then { sell("F", atmarket, def, 1); } if MarketPosition == 1 and BarsSinceEntry == 1 then{ if IsEntryName("A") == true and C > EntryPrice Then buy("XA",OnClose,def,1); if IsEntryName("B") == true and C > EntryPrice Then buy("XB",OnClose,def,1); } if MarketPosition == 1 and BarsSinceEntry == 1 then{ if IsEntryName("D") == true and C < EntryPrice Then buy("YD",OnClose,def,1); if IsEntryName("E") == true and C < EntryPrice Then buy("YE",OnClose,def,1); } 즐거운 하루되세요 > yanartas 님이 쓴 글입니다. > 제목 : 질문입니다. > 다음과 같은 예시시스템이 있고, 선물거래에 적용한다고 가정해봅니다. if 조건1 then { buy("A", atmarket, def, 1}; } if 조건2 then { buy("B", atmarket, def, 1); } if 조건3 then { buy("C", atmarket, def, 1); } if 조건4 then { sell("D", atmarket, def, 1}; } if 조건5 then { sell("E", atmarket, def, 1); } if 조건6 then { sell("F", atmarket, def, 1); } 위와 같은 시스템을 적용할 때, 피라미딩 설정 창에서 "허용안함"으로 하면, 1계약만으로 거래가 가능한 것으로 알고 있습니다. 여기서 2계약으로 거래를 하고자 하는데, 즉 피라미딩을 실시하려고 하는데, 피라미딩에 관한 전략은 다음과 같습니다. 매수 시그널 A, B, C 중 A와 B 시그널 진입이후에만 피라미딩을 쌓고, C 시그널 진입은 피라미딩을 하지 않고자 합니다. A 이후 피라미딩 진입을 "XA"라고 칭하고, B 이후 피라미딩 진입을 "XB"라고 칭하겠습니다. A와 B 시그널 진입 후 다음봉에서 진입가격보다 높다면 추가로 1계약 더 매수로 진입하고자 합니다. 매도 시그널 D, E, F 중 D와 E 시그널 진입이후에만 피라미딩을 쌓고, F 시그널 진입은 피라미딩을 하지 않습니다. D 이후 피라미딩 진입을 "YD"라고 칭하고, E 이후 피라미딩 진입을 "YE"라고 칭하겠습니다. D와 E 시그널 진입 후 다음봉에서 진입가격보다 낮다면 추가로 1계약 더 매도로 진입합니다. 만약 A와 B 중 매수시그널이 발생하고, 피라미딩까지 진입하였을때, 매도시그널인 D, E, F 중 하나가 발생하면 매수포지션을 청산하고 매도1계약 진입합니다. 마찬가지로 D와 E 중 매도시그널이 발생하고, 피라미딩까지 진입하였을때, 매수시그널인 A, B, C 중 하나가 발생하면 매도포지션을 청산하고 매수1계약으로 진입합니다. 이와 같은 시스템을 작성하고자 합니다. 제가 한번 작성해서 시스템을 적용할때 피라미딩 창에서 "다른 진입신호만 허용"을 체크 했을때, 의도는 예를들어 A진입 이후에는 XA만 발생해야하는데, B나 C가 진입을 하기도 합니다. 마찬가지로 B 진입 이후에도 XB만 발생시키려고 하는데, A나 C가 진입하는데 이를 제어하고 싶습니다. 즉, A 이후에 피라미딩은 XA 뿐, B 이후에 피라미딩은 XB 뿐, D 이후에 피라미딩은 YD 뿐, E 이후에 피라미딩은 YE 뿐만으로 이루어지게 시스템을 작성하고 싶습니다. 예시로 부탁드립니다. 감사합니다.