【実装】拡大ブレークアウト
http://ameblo.jp/traderssystem/entry-10116510778.html
-----------------------------------------------------
Input : Highest_Range(60), Lowest_Range(60), Range_Date(9),
Entry_Point(10), Exit_Point(10);
If High[0] == Highest(C, Highest_Range) and
Range[0] == Highest(Range, Range_Date) Then {
Buy("SW3501新規買", AtStop, High[0] + Entry_Point);
If MarketPosition == 0 Then {
Value1 = Close[1] - Exit_Point;
}
}
If Low[0] == Lowest(C, Lowest_Range) and
Range[0] == Highest(Range, Range_Date) Then {
Sell("SW3501新規売", AtStop, Low[0] - Entry_Point);
If MarketPosition == 0 Then {
Value2 = Close[1] + Exit_Point;
}
}
If MarketPosition == 1 Then {
ExitLong("SW3501買決済_損切り", AtStop, Value1);
}
If MarketPosition == -1 Then {
ExitShort("SW3501売決済_損切り", AtStop, Value2);
}
-----------------------------------------------------
クイズの答えが出てます
必要なのはMarketPosition()関数ですね。
これがないと、条件を満たすたびに値が書き換わってしまいます。
ピラミッディングを許容しているときはどちらの値をとるか判断しますが、
許容していないときにエントリーしていないタイミングで
決済価格を設定することになっています。