EAが1日に動作する回数
FX(外国為替証拠金取引)で自動売買するとなると、やはりMT4(メタトレーダー4)を利用するのが一般的かと思います。
MT4の自動売買プログラムを「EA」(エキスパートアドバイザー)と呼びます。
有料・無料の各種EAが世に出回っていますが、プログラムを書ける人間としては、やはり自分で書いたオリジナルのEAが欲しくなるというもの(^^)v
EAを開発するのには「MQL4」と呼ばれるC言語に似た開発言語でソースコードを書く必要があります。
PHP言語を書ける私が見てもMQL4のソースコードは普通に読めます(^-^)
if文やloop文はごく普通です。
違うのは、独特のTick単位(トレードの最小時間単位)で動作するという部分。
Tickは大体1秒毎とかの感じですかね。
チャートが大きく動く時はTickは1秒よりも短い単位で何度も発生しますし、チャートがほぼ動かない時はTickは1秒よりも長い単位でしか発生しません。
要はTickとは値動きがあった時に発生する動作になります。
仮に1Tickが1秒毎に発生するとして1日に何Tickになるのか計算してみると・・・
1Tick × 60秒 × 60分 × 24時間 = 86,400Tick/日
となりまして、1日に86,400Tickにもなります!
MT4で作るEAというのはこのTick単位に動作しますから、EAは1日に86,400回とかも呼び出される事になります!!!
凄い回数呼ばれますね(^-^;
このバンバン呼ばれる中で「どう振る舞うか?」をコードで書いて行く必要があります。
ちょっと特殊な感じですね。
EAのプログラミングって。
スマホへの通知
で、実際のMQL4のプログラミングは勉強中なので、まだまだモノになっていませんが、参考にさせてもらっているブログに掲載のソースコードをコンパイルしてみました(^-^)v
そして、そのEAのトレードシグナルを元に裁量トレード(手動トレード)をしたいと考えていまして、その手順を昨日は書いてみました。
手順は下記になります。
ただ、実際にどう設定するのかが見えにくかったので、今日はこの辺を掘り下げてみたいと思います。
【EA注文をシグナルとしてスマホ通知を受け取る手順】
- デモ口座のパソコン版MT4にトレードシグナルEAをインストールする!
- 他のEAの動作を止める!
- スマホにスマホ版MT4をインストールする!
- パソコン版MT4の「スマホ通知」にスマホ版MT4のMetaQuotesIDを登録する!
- パソコン版MT4のトレードシグナルEAを稼働させる!
- EAの売買シグナルをスマホで受け取る!
- 裁量トレードをする!
手順の詳細を見ていきましょう(^-^)/
1.デモ口座のパソコン版MT4にトレンドブレイクEAをインストールする!
スマホのMT4はEAが動きませんから、パソコン版のMT4にEAをセットします。
また今回使うEAは自動売買をさせたいワケではなくて、あくまでもトレードシグナルとして受け取りたいので、リアル口座を使わずにデモ口座を使ってEAを動作させます。
2.他のEAの動作を止める!
この手順を行うと「全ての売買注文」が通知される様になります。
なので、多注文を行う事の多いEAではスマホに通知がバンバン来てしまう事になります(>_<)
関係ない通知は受け取りたくないので、対象となるデモ口座を稼働させるMT4では、通知対象のEAだけを稼働させて、その他のEAは全て削除して動作しないようにしましょう(^-^)/
3.スマホにスマホ版MT4をインストールする!
普段使いのスマホにiPhone版MT4かAndroid版MT4をインストールしましょう。
iPhone版MT4
Android版MT4
play.google.com
4.パソコン版MT4の「スマホ通知」にスマホ版MT4のMetaQuotesIDを登録する!
パソコン版MT4の「ツール」→「オプション」→「通知機能」を選びます。
「プッシュ通知機能を有効にする」にチェックONして、「トレード処理を通知する」にもチェックONします。
そして「MetaQuotesID」欄にスマホのMetaQuotesIDを入力します。
スマホ版MT4を開いて「設定」→「メッセージ」を開くと、下部に8桁のMetaQuotesIDが書かれていますので、これを書き移せばよいです。
ここまでセットできたら、MetaQuotesID欄右横の「テスト」ボタンを押してスマホ版MT4に通知が来るかどうか確認しておきましょう。
5.パソコン版MT4のトレンドブレイクEAを稼働させる!
パソコン版MT4でトレードシグナルが欲しい通貨ペアをチャート表示させます。
そして対象EAを稼働させましょう(^-^)v
設定はここまでで完了です。
6.EAの売買シグナルをスマホで受け取る!
後はEAが売買注文を出すと、スマホに通知が届きます!
届いた通知はスマホ版MT4の「設定」→「メッセージ」→「デモ口座の口座番号」を選ぶと中身を確認する事ができます。
上の図で届いたのは一番下の吹き出しがそうです。
「xorder opened #7189057 buy 0.10 NZDJPY at 74.618 sl:74.247 tp:77.031, MABreakout 10:00」というのが届いた内容。
「NZDJPYを買ったよ!10時だよ!」との事で
そしたらスマホ版MT4でチャートを確認します。
自分の目で「トレードすべきか?」または「スルーすべきか?」を判断します。
7.裁量トレードをする!
「絶好のタイミングだ!トレードする!」となった場合には、裁量トレード(手動トレード)をしてトレードエントリーします!
ただ、これも自信がつくまではリアル口座で行わず、デモ口座で試してみるのが良いと思います。
しばし仮運用
と、EAをトレードシグナルとしてスマホで通知を受け取り裁量トレードする手順を見てきました。
まだ昨日から運用開始したばかりで、実際のトレードシグナルが来たのはNZDJPYに1度きただけになります(^-^;
また夜、寝ている時にスマホ通知が来るのは寝不足になって嫌なので、夜は通知が来ないように条件を追加しました。
MT4は日本時間と比べて時差が+6時間ありますので、この時差分を勘案して自分の起きていてトレード可能な時間だけ通知が来るようにします。
たとえば私の場合だと「朝9時から夜24時」まではトレード可能なので、これを条件に追加します。
コードで書くと「(Hour() >= 3 && Hour() < 18)」
void OnTick() { if(OrdersTotal() == 0 && (Hour() >= 3 && Hour() < 18)) { } if(OrdersTotal() > 0 && (Hour() >= 3 && Hour() < 18)) { } }
これで深夜にMT4に叩き起こされる心配はなくなりました(^-^)v
まぁ、決済注文も夜中は動かなくしましたから、デモ口座の投資資金は酷いことになるかもしれませんが、まぁデモのお金なので気にしないと言うことで(^o^;
これを2週間程度運用してみて、うまく行くようなら、そのご裁量トレードの口座をデモ口座からリアル口座に変えて利益を出せる様に頑張ってみたいと思います(^-^)/