FXシステムの使い方(トレード) (2014/04/11)

FXシステムを用いたトレードのやり方について簡単に説明する。

例として「~/py/sample_strategy.py」というファイルに戦略(トレードルール)が書かれているとする。通貨ペアはUSDJPY、足の種類は5分足とする。

ライブ口座で絶対に使用してはならない

初めに断っておくが、ライブ口座では絶対に使用してはならない。トレード機能は試験的なものである。トレード中に起こりうる様々な障害に対し、必ずしも対応していない。

実際、サーバー側で障害が起きたときなどにエラーとなって、そのまま復帰できないことがある。その頻度は数日に1回程度はある。したがって、安心して資金を預けられるようなレベルのものではない。

私自身はデモ口座で稼働し、シグナルをメールで送信させ、それを参考に手動でトレードしている。

トレード

$ python ~/py/sample_strategy.py --mode trade --symbol USDJPY --timeframe 5

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

トレードの場合、「--mode trade」と設定する。スプレッドや検証期間は必要ないので設定しない。

デフォルトの設定ではロット数は0.1、損切り、利食いはしない、となっている。変更したい場合は「--lots 1.0」、「--sl 5.0」、「--tp 5.0」などのようにする。損切り、利食いの単位はpipsである。

また、やはりデフォルトの設定ではメール通知あり、MT4への通知なしとなっている。変更したい場合は「--mail 0」(メール通知なし)、「--mt4 1」(MT4への通知あり)とする。

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

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

初めは-1、0、1のようにするつもりであった。だが、シグナルが書き込まれると同時にMT4のEAがそれを読み込もうとした場合、EAは読み込めずにすべて「0」と判断してしまうようだ。

「0」をノーポジションに設定すると、EAは間違えて保有しているポジションを決済してしまう。そういうこともあって、それぞれに2を加えて0を使わないようにした。

出力は「年.月.日 時:分:秒 戦略 通貨ペア 足の種類 シグナル」となっている。

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

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

コメント

非公開コメント