FXシステムの使い方(トレード)

FXシステムを用いたトレードのやり方について簡単に説明する。初めに断っておくが、ライブ口座では絶対に使用しないこと。トレード機能はまだまだ試験的なものなので、デモ口座でのみ使用すること。

トレンドを行う場合のコマンドの書式は以下の通りである。

python ~/py/trade.py --ea1 戦略 --symbol1 通貨ペア --timeframe1 足の種類 --lots1 ロット数 --mail メール --mt4 MT4

バックテストのときとは違って端末を使う。Spyderからでも実行できるが、途中で止まってしまうことがある。

トレードでは「~/py/trade.py」ファイルを使う。

「--ea1」で1個目の戦略を設定することになる。最大5個の戦略を同時にトレードできる。例えば、2つの戦略を同時にトレードする場合は

python ~/py/trade.py --ea1 戦略 --symbol1 通貨ペア --timeframe1 足の種類 --lots1 ロット数 --ea2 戦略 --symbol2 通貨ペア --timeframe2 足の種類 --lots2 ロット数 --mail メール --mt4 MT4

のようにする。

「戦略」〜「足の種類」はバックテストと同じである。

「ロット数」は「1ロット=1万通貨単位」で設定する。

「メール」はシグナルの発生をメールで通知するかどうかの設定で、「0」で通知しない、「1」で通知するとなる。通知する設定にした場合、買いエントリー、買いエグジット、売りエントリー、売りエグジットが発生したタイミングで指定したメールアドレスにメールが送信される。その場合、件名は戦略名となっており、本文は「[通貨ペア]を[レート]で買い(売り)エントリー(エグジット)です。」となっている。

「MT4」はシグナルをMT4に送信するかどうかの設定で、「0」で送信しない、「1」で送信するとなる。送信する設定にした場合、MT4の「MQL4/Files」フォルダーに戦略名と同じ名前のcsvファイルを作成し、シグナルを書き込む。シグナルは売りの場合は「1」、ノーポジションの場合は「2」、買いの場合は「3」が書き込まれる。

初めは-1、0、1のようにしたかったのだが、シグナルが書き込まれるタイミングでMT4のEAがそれを読み込もうとすると、EAは「0」と判断してしまうようだ。「0」をノーポジションに設定すると、EAは間違えて保有しているポジションを決済してしまう。そういうこともあって、それぞれに2を加えて0を使わないようにした。

「メール」と「MT4」の設定は複数の戦略で共通である。

出力については

年.月.日 時:分:秒 戦略 通貨ペア 足の種類 シグナル

となっている。

「シグナル」は売りなら「-1」、ノーポジションなら「0」、買いなら「1」と表示される。単にシグナルがそうなっている、というだけであって、実際のポジション状況を反映しているわけではない。

トレードを終了する場合は単に端末を閉じればいい。

(2017/02/08更新)

コメント

非公開コメント