前回の記事では、自動売買のスイッチを紹介した。
(こちら、『自動売買のスイッチを細分化すれば多彩な運用が可能となる』)
このスイッチは、単純な「自動売買ON/OFF」といったものではなく、
「新規(買)」、「新規(売)」、「決済」の3つに細分化したもので、
自動売買の運用における大元のスイッチのようなもの。
ただ、複数の売買ロジックを運用するためには、これだけでは不十分で、
売買ロジック毎にON/OFFのスイッチを持たせておく必要がある。
実際には、売買ロジック毎のスイッチは、ON/OFFではなく、
下記3つのステータス(モード)としている。
- TEST:売買判定の計算をするが、実際の注文は出さず、テキストファイルに注文のログを残す。
- ACTIVE:売買判定の計算をし、実際の注文を出す。ログも残す。
- SUSPEND:売買判定の計算をしない。
下図の赤枠がその設定画面例
こうしておけば、ステータスを切り替えるだけで、システムを止めることなく、
個々の売買ロジックの運用を切り替えることができる。
そして、TESTステータスにより、別の売買ロジックを本番運用しながら、
新しい売買ロジックの動作確認テストをすることができる。
言うまでもなく、新しい売買ロジックのプログラムを作成したとき、動作確認のテストを怠ってはいけない。
いきなり実弾を投入してはダメで、売買シグナルが意図したポイントで出ることを先に確認しなければならない。
MT4のように模擬売買ができれば良いが、岡三RSSでは模擬売買ができない。
そのため、シグナル確認のためのステータスを設けておかなければならない。
このとき、ログを残しておくようにしておくと、PCの前に張り付いている必要がなくなる。
夜中寝ているときにシグナルが発生しても、翌朝確認することができる。
また、複数端末で運用する場合、運用する売買ロジックを端末毎に割り振ることも可能だ。
ACTIVE、SUSPENDの設定を端末間で調整すれば良い。
上記のスイッチの他にも、売買ロジック毎に発注数量の算出方式および設定値を変更できるようにしている。
図の青枠がその設定例で、発注数量の算出方式は、次の3種類。
- FIX:固定枚数設定。設定値が1であれば、1枚発注。
- RISK:資金に対するリスク率設定。設定値が2であれば、損切り金額が資金の2%となる枚数を算出し発注。
- MARGIN:1枚あたりの必要資金額設定。設定値が300,000、資金が1,000,000であれば3枚発注。
FIXは単利運用、RISKおよびMARGINは複利運用となる。
この設定も、システムを止めることなく切り替えることができる。
さらに、これらに加え、ロジック毎の最大発注数ならびにシステム全体の最大発注数を設定できるようにしている。
運用する売買ロジックが1つであれば、場中にシステムを止めても影響は小さいだろう。
しかし、複数となると、システムを止めると、本番運用しているロジックの売買がストップし、影響が大きい。
複数の売買ロジックを運用する場合、個々のロジックの本番適用や切り離し、発注数量の設定などが、システムを止めることなくできる機能が必要だ。