トラップの価格帯を何とかしないと
だいぶ仕様が固まったなと思ったので、プログラミング真っ最中なのですが、大きな問題点を見つけました。
今の仕様だと、買いの場合、トラップの価格帯がどんどん上昇して下がらないことに気づきました。原因は、トラップ上限に達したらトラップ価格帯をその時の価格を中心に再構成するためです。
これでは長く使うことができません。トラップ価格帯を下げる仕組みが必要です。
うまい解決方法がなかなか見つかりませんでしたが、ようやく思いついた方法が、トラップ下限に達したら、全ポジションの総損益≧0になった時点で全決済する機能を追加することでした。上限割合が5割未満の場合、全決済時価格は全ポジション平均価格以下になるはずなので基準価格が下がり、結果、トラップ価格帯は下がることになります。
なお、トラップ下限に達したら、利食い設定とトレイリングストップを併せて解除しておく必要があると思っています。そうしないと、下の方のポジションが全決済前にじわじわ個別決済しちゃうことになり、全ポジションの平均価格が上がり、いつまでも全決済されないことになってしまいますから。
トラップを仕掛けられない箇所が
あと、デバッグ中に気付いた点が1つあります。それは、トラップを仕掛ける際に、現在価格と近すぎる場合(ストップアウト圏内)、その仕掛け注文がエラーになってしまうことです。
当たり前のことですが、デバッグするまで気付かなかったです。回避策として、ストップアウト圏内の場合は、成行き注文になるようにしました。これでエラー回避です。
続きはまた今度。