MT4のEAからメール送信してハイローオーストラリアで自動エントリーできるか

MT4のアラートを知ってから実際にハイローオーストラリアでエントリーするのって結構タイムラグが生じる。

手動操作は以下の通り。

アラートが鳴る(0秒)→アラート内容を読む(通貨ペア&「HIGH」or「LOW」)(3秒)→ハイローオーストラリアの通貨ペアを選択(3秒)→「HIGH」or「LOW」ボタンを押下(1秒)→購入ボタン押下(1秒)

早めに見積もっても8秒はかかるっぽい。意外と通貨ペアの選択って時間がかかるよね。間違えたら大変だし・・。

それをなんとかアラートが鳴ってから出来るだけ早くエントリーまでいけないかなって思った。

なぜかというと、RSIのシグナルって結構急がなきゃいけないよね。本当は自分でMT4をずっと眺めて即座に対応できればいいけど、RSIが30以下、70以上になるのって、そう頻繁にあるもんじゃない。

そこでMT4のアラートが上がってからハイローオーストラリアでエントリーするまでの一連の作業をプログラミングで自動化できないかなって思ったの。

で、ある程度できそうって分かったので大筋のやり方を記載しとくね。これを実装していかなきゃだけど、それは追々やっていこうかなって思ってる。

・MT4のMQL4には「SendMail()」というメールを送信する関数が備わっている。アラートと同時にアラート内容を自分のメールアドレスに送信する処理を記述する。

・無料メーリングソフト「Becky!」には標準機能(フィルタリングマネージャ)で、「条件に合致したメールを、指定したプログラムを起動してメールを渡す」というのがあるらしいので、Becky!」を起動しておいて、メールが来たらそれを自作プログラムに渡す設定をする。

Becky!」から来たメール内容(たぶん「USDJPY:HIGH」みたいな)から判断してハイローオーストラリアでエントリーする、そしてそこからn回のマーチンゲールをするプログラムを実行。言語はVBScriptを使用。ソフトはSelenium Webdriverを利用。「VBScript WebDriver」というVBScriptでSelenium2を使えるバインディングを利用(ベータ版だけど)。

もしくは以下をVBScriptで実装できればSeleniumはいらないかも。

boatrader.ehoh.net

こんな感じでしょうかね。