自動売買システムを運用していて、自動売買を一時停止したいとき、スイッチがあると便利だ。
自作システムでは、トレードツールの注文管理画面にこのスイッチを設けている。
下図の赤枠。
この画面は以前詳しく紹介した。
(こちらの記事、『注文管理画面』)
自動売買のスイッチについて紹介していなかったので、今回紹介する。
図の赤枠の部分が、自動売買に関するスイッチ。
単純な「自動売買ON/OFF」といったものではなく、
「新規(買)」、「新規(売)」、「決済」の3つに細分化した。
自動売買システムを運用していて、
これ以上新規の買い注文を自動で出したくないといった局面では、
新規買いスイッチをONからOFFに切り替えれば良い。
決済のスイッチがONであれば、既に保有している買い玉の決済は自動で実行される。
売りに関しても同様。
また、新規買い、売り共にOFF、決済をONとした状態にすれば、
新規は裁量で、決済は自動で、といった半自動売買システムとなる。
さらには、複数の端末で並行して運用しているとき、
1台は新規発注専用、もう1台は決済専用、とすることや
1台は自動売買専用、もう1台は裁量専用、とすることも可能だ。
このように、自動売買のスイッチを細分化しておくと多彩な運用が可能となる。
そして、売買ロジック毎にもON/OFFのスイッチがあれば、なお一層だ。
売買ロジックの個別スイッチについては、別途紹介する。
(こちら、『複数の売買ロジックを運用するために必要なスイッチ機能とは?』)
新規発注時の売買判定プログラムは売買ロジックによりマチマチであっても、
決済時の判定プログラムは売買ロジック間で共通化できることが多い。
例えば、固定値幅での利食い、損切り、トレールストップ、そして、引成など。
こういった共通化可能な部分を、売買ロジック横断型の決済判定機能として作っておく。
そうすれば、いくつも同じプログラムを作成せずに済む。
このとき、建玉情報(保有情報)の「メモ欄」の内容を元に決済判定するようにしておけば良い。
一方、決済判定の共通化ができないケースもある。
例えば、移動平均線のクロスで決済といったように、
売買ロジックにより決済判定に使うインジケータとパラメータが違うケース。
このようなケースでは、個々の売買ロジックで決済判定を行う必要がある。
岡三RSSでは、注文情報のメモ欄は、約定後、建玉情報のメモ欄へと引き継がれる。
新規発注時に、注文情報のメモ欄に売買ロジックのIDや利食い値幅などの情報をセットしておけば、情報が引き継がれる。
また、このメモ欄は発注した端末だけでなく、別の端末でも参照することができる。
(岡三RSSは複数端末でログイン可能。それぞれの端末で注文情報や建玉情報を表示させれば良い。)
つまり、複数端末での情報共有を、メモ欄を介して実現することができる。
なお、メモ欄の使用可能桁数は20桁。
メモ欄に書き込む情報を設計するときに、注意が必要だ。
自動売買システムを新たに構築したいと考えたとき、
全機能を一気に作り上げることは、なかなかハードルが高い。
第一段階として、決済機能の自動化を実現し、半自動運用。
第二段階として、新規発注機能を追加する。
といったステップアップ方式での開発も良いのではないだろうか。
段階的にスイッチの機能を作り込んでいけば良い。