cTraderで時間指定決済ってできないの・・・?
先日いただいたコメント読んで気づいたのですが、ごく単純な「指定時間に決済する」機能ってcTrader標準ではないんですよね。
「高度な利確・損切」みたいなのがあるのでできそうな気がしてたんですが、どうも時間指定する場所が見当たらず。(もしあったら誰か教えてください)
国内FXの発注ツールとかだとよく見る気がするんですけど、あんまり使われないもんなんでしょうか。
「指標前に全部いったん閉じておく」みたいなことしたい人もいそうですけど。
CloseOnTime
というわけで単純に指定時間に一括で注文キャンセル&ポジション決済するだけのツールを作りました。
注文はcTrader標準機能で注文ごとに有効期限を設定することはできるのですが、いちいち設定するのは面倒なので、一括キャンセルはこのようなツールを使った方が楽そうです。
基本機能
指定の時間にすべての注文をキャンセル&すべてのポジションを決済します。それだけです。
時間を指定して起動するとキャンセル(決済)時間にこんな風に線が表示されます。
注文とポジション両方キャンセルするか、注文だけ、ポジションだけかというのはパラメータで設定可能です。
全シンボルを対象とするか、そのチャートのシンボルだけを対象とするかもパラメータで選択できます。(ただし「全シンボルを対象」にしててもキャンセル時間に線が表示されるのはcBotが起動してるチャートだけです。)
ポジション一つ一つに別の時間を設定したりといった細かい機能はありませんし、決済失敗したときにリトライするような気の利いたもんでもありません。その辺理解の上ご利用ください。
当たり前ですが、指定時間にcBotが動いてないと機能しませんのでご注意ください。設定したからもう安心と思ってcTrader閉じちゃわないように。
パラメータ
LocalTime
決済&キャンセルしたい時間をローカル時間で指定します。(PCのタイムゾーン設定が日本時間の場合日本時間で指定、cTraderのチャート表示設定とは無関係です)。時間のみ指定でも日付+時間指定でも構いません。時間のみ指定すると今日か明日の時間とみなされます。
Line Color
表示される線と文字の色を指定します。
Target
Symbol
チャートのシンボルのみを対象(All)とするか、全シンボルを対象(OnlyChartSymbol)とするか指定します。
Position or Order
ポジション決済だけするか、注文キャンセルだけするか、両方かを指定します。
ダウンロード
ソースコード付けておくのでわかる方は適当に書き換えて使ってください。