커뮤니티
질문입니다.
2017-05-29 12:02:46
94
글번호 109909
예를들어 선물거래에서
if crossup(c, ma(5)) then buy("+A", atmarket, def, 1);
if crossdown(c, ma(5)) then sell("-A", atmarket, def, 1);
if crossup(c, ma(10)) then buy("+B", atmarket, def, 1);
if crossdown(c, ma(10)) then sell("-B", atmarket, def, 1);
이라는 시스템이 있다고 가정할때,
여기에 stoplose를 추가하고자 합니다.
stoplose는 진입 후 반대방향으로 0.5pt 움직이면 포지션을 청산하라는 것입니다.
그리고 해당 포지션이 청산되면, 다른 종류의 진입신호가 발생하기 전까지
청산된 신호로 재진입하는 일이 없도록 하고 싶습니다.
예를들어 +A 신호 발생 후 +A 신호에 관한 stoplose가 발생했다면,
이 후 진입은 -A, +B, -B 중 하나가 발생했을 때 진입하고,
+A는 다시 이루어지지 않게 하고 싶습니다.
예시로 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2017-05-30 10:36:34
안녕하세요
예스스탁입니다.
var : Bcond1(False),Scond1(False),Bcond2(False),Scond2(False);
Bcond1 = MarketPosition == 0 and MarketPosition(1) == 1 and IsEntryName("+A",1);
Scond1 = MarketPosition == 0 and MarketPosition(1) == -1 and IsEntryName("-A",1);
Bcond2 = MarketPosition == 0 and MarketPosition(1) == 1 and IsEntryName("+B",1);
Scond2 = MarketPosition == 0 and MarketPosition(1) == -1 and IsEntryName("-B",1);
if Bcond1 == false and crossup(c, ma(c,5)) then buy("+A", atmarket, def, 1);
if Scond1 == false and crossdown(c, ma(c,5)) then sell("-A", atmarket, def, 1);
if Bcond2 == false and crossup(c, ma(c,10)) then buy("+B", atmarket, def, 1);
if Scond2 == false and crossdown(c, ma(c,10)) then sell("-B", atmarket, def, 1);
즐거운 하루되세요
> yanartas 님이 쓴 글입니다.
> 제목 : 질문입니다.
>
예를들어 선물거래에서
if crossup(c, ma(5)) then buy("+A", atmarket, def, 1);
if crossdown(c, ma(5)) then sell("-A", atmarket, def, 1);
if crossup(c, ma(10)) then buy("+B", atmarket, def, 1);
if crossdown(c, ma(10)) then sell("-B", atmarket, def, 1);
이라는 시스템이 있다고 가정할때,
여기에 stoplose를 추가하고자 합니다.
stoplose는 진입 후 반대방향으로 0.5pt 움직이면 포지션을 청산하라는 것입니다.
그리고 해당 포지션이 청산되면, 다른 종류의 진입신호가 발생하기 전까지
청산된 신호로 재진입하는 일이 없도록 하고 싶습니다.
예를들어 +A 신호 발생 후 +A 신호에 관한 stoplose가 발생했다면,
이 후 진입은 -A, +B, -B 중 하나가 발생했을 때 진입하고,
+A는 다시 이루어지지 않게 하고 싶습니다.
예시로 부탁드립니다.
감사합니다.
다음글
이전글