-
作成者スレッド
-
2023年1月30日 13:46 #5846
bovovossiParticipant買いで逆指値注文をしたと仮定して注文をした場合、注文後の最高値から○%下落したら全決済(複数注文が入っている場合もあるため)としたいのですが、なかなか上手くいきません・・・
ご教授いただけると幸いです。
よろしくお願いいたします。
-
作成者スレッド
-
方法としては
①逆指値注文を行ったポジションの「高値」と「エントリーポイント」を保持するためのパラメータをフィールド(関数外)に用意する。
②「高値」と「エントリーポイント」と「現在の値」から、買いエントリーの場合は
「エントリーポイント+(高値-エントリーポイント)*(100 – 〇%) 」よりも 「現在の値」が小さい時に全決済、という処理をOnTick関数内に書くことで実装することができます。
しかし、この方法は逆指値注文を行うポジションが1つの場合のみ使用できる方法です。もしも逆指値注文を行うポジションが複数あり、そのポジションごとに個別に「〇パーセント下落したかどうか」を調べる場合はもう少し複雑な処理が必要です。
もしも意図しない回答だった場合は、もう少し詳しい仕様とうまくいかない点について記載いただければと思います!
-
ありがとうございます。わかりづらくて申し訳ありません。
(高値-エントリーポイント)*(100-〇%)で行っていました。
例えばですが、10pips巡行したら買いが入り、さらに10pips巡行したらさらに買いが入る。
そして最高値より○○%戻ったら全決済というような仕様を考えております。
おっしゃる通り、複数ポジション入った際にエントリーポイントが変わってしまい上手くいきません・・・
-
買いエントリーの場合、逆指値注文のみを行っていくのであれば
「直近のポジションのエントリーポイント+(高値-直近のポジションのエントリーポイント)*(100 – 〇%) 」よりも 「現在の値」が小さい時に全決済」とすればよく、複雑な実装をする必要はありません。
先日フィールドに「高値」と「エントリーポイント」を用意すればよいという話をしたかと思いますが、この「エントリーポイント」の値に、買いの逆指値が入るたびにそのポジションのエントリー価格を代入すれば実装可能です。
-
返信にはログインが必要です。