*

第6回:オーダーに条件をつける IF文

公開日: : FX自動売買開発 , , , ,

ここではオーダーを送信する前に条件文を挿入します。

条件の書き方

前回までには、「新規ポジションの送信」、「コンパイル」、「EAの生成」を行いました。

ただ、前回のままでは、短時間に大量のポジションを持ってしまいまいます。

今回は特定の条件が満たされたときのみに新規ポジションを取るようにします。
この条件というのにも様々な書き方がありますが、基本的にはIF文を使います。

IF文

IF文はif()でくくった()の中身が正しい場合には、
{}で囲った処理を行います。

{}を省くこともできるのですが、後々面倒になるので
{}で囲むようにしましょう。

※{}が対応してないことによるエラーは探すのが大変なので、
対応もわかりやすいように記述しましょう。

簡単な例では、

と書くと、
2>3が満たされないのでif文の中は処理されません。

また、
IF文はIF文の中に記述することもできます。(ネスト)

これはどちらも満たされるので、OrderSendが実行されます。

時刻の関数を使った条件文

MQLには時刻系の関数がたくさんあります。

その一部を紹介します。

これを先ほどのIF文と組み合わせて、

のように書くと、
10日の6時30分にオーダーを送信するコードが出来上がります。

※実際にはもっとスマートに記述できます。

ここで注意したいのはDayではなく、
Day()と必ず()をつけなければならないということと、
イコールを表すときには=ではなく、==であるということです。

Dayは変数ではなく関数なので、
()をつけなければならないのですが、

これは1つ1つバラバラなので、
そういうものだと覚えてしまいましょう。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

【MQL4】シンプルに稼働するコピートレードツールを作る。その⑩

今回はリバーストレードができるように改良します。 端的に言うと、コピー元と逆向きのポジションをコピ

記事を読む

MQLxPHP サーバを経由するコピートレードツールを作る1

以前、DLLなしで動くコピートレードツールを連載しましたが、 今回はサーバを経由するコピートレード

記事を読む

ここが変だよMQL5

MT5を久しぶりにちょっといじってみたので、所見(愚痴)を書かせてください。 ここが変だよMQ

記事を読む

ティック更新よりも早い頻度で演算させる

EAというやつうは基本的にティックレートを受信する度に一回、演算する仕組みになっています。 U

記事を読む

EA単体で業者間アービトラージ

業者間アービトラージが話題になった時代が数年前にありましたが、 今回は今の技術で業者間アービトラー

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

【MT5】MACD, ストキャスティクス, モメンタムEA(配布)

GBPUSD 2018/1/1~2018/12/31 H2

【MT5】 3通貨相関アービトラージEA(無料プレゼント)

EUR, GBP, USD の3通貨の相関を利用したさや取りトレード

no image
仮想通貨対応マーチンゲールEA(無料配布)

USDJPY 2018/1/1~2018/12/31 Spread:

最適化なしで勝率98.31%()のトレードシステム【あげます】

GBPUSD D1 Spread:2 2018/1/1~2018/1

→もっと見る

PAGE TOP ↑