*

第13回:コードに汎用性を持たせる~”USDJPY”よりSymbol()~

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

MT4で設定を変更ができるような記述をする

これまでに様々なコードを扱いましたが、
これまでの書き方では毎回設定や数値を変更するたびに
ソースコードを編集しなければなりません。

今回はなるべくコードを編集せずに、
MT4側で設定を変更できるような記述を取り扱います。
※パラメータ化は今回は行いません。

例えば、
通貨ペアを指定する場面で”USDJPY”と指定してしまうと、
“USDJPYmajor”、”USDJPYminor”等のようになっている特殊なMT4ブローカーの場合、
正しく処理されません。

上記のようにSymbol()
(現在MT4で選択されている通貨ペア)を使うことにより、
MT4側の変更がEAに反映されるようになります。

また、
時間足についてもPERIOD_M5などを使うと、
たとえチャートが1時間足になっていたとしてもEAでは5分足で計算してしまいます。

のように「Period()」もしくは「0」と入力することにより汎用性が増します。

どの通貨ペアでも使えるpips単位を作る

pips単位について困ったことはありませんか。

現在多くのMT4業者ではドル円の最小単位が0.001となっています。
一昔前までは0.01だったこともありここに様々な問題が発生しています。

トレードでの話では1pips = 1銭 = 0.01 を表しますが、
MT4の最小桁は0.01か0.001の場合があります。

そのため、どちらの場合にも対応できるよな記述が必要になります。

EA起動時に一回だけ処理されるOnInit()内でpipsという変数を作ります。
下記がその記述ですが今までに扱っていない記述方法がでてくるので「
よくわからないけど、これでpipsという単位が使える」くらいの感覚で十分です。

for文を勉強したらまたここに戻ってきてください。

MarketInfo(Symbol(),MODE_DIGITS)というのは現在セットされている通貨ペアで、
小数第何位まで扱えるかという数値を返します。

2桁、4桁(EURUSD)の業者の場合はそのまま、
3桁、5桁の業者の場合は、10倍することにより、0.01 0.0001がpips単位になります。

ここで作ったpipsを使うことにより、
「ドル円がシグナル発生から5pips上がったら」という条件を

ではなく

と書くことができます。

0.05と書いてしまうとユーロドルの際におかしなことになりますが、
5*pipsと書くことにより、ドル円でもユーロドルでも使えるEAになります。

※3桁、5桁の場合に10倍するという記述だけで済まそうとすると、
CFDに対応できなくなります。

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

関連記事

意外と厄介なWebRequestのPOST

最近になってMQL4でもオンラインに接続できるようになりましたが、 WebRequestのPOST

記事を読む

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

今回はトレードを受信する方のEAを作ります。 トレードデータを送信するEAと比較すると、 ト

記事を読む

第8回:決済の記述 OrderClose

ここではポジションを決済するための記述を行います。 OrderClose OrderSen

記事を読む

第3回:新規作成後に記述されているコードの意味

ここでは新規作成で現れた記述に対する解説を行います。 // と /**/ と コメントアウ

記事を読む

no image

ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります。ストップレベルというのは、現

記事を読む

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

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
【MAクロス】仮想通貨でシステムトレード検証(ソフト無料プレゼントあり)

MT4/MT5でも仮想通貨チャートが増えてきたので、そろそろ自動売買や

自動売買プログラム他 無料プレゼント 2019年2月

口座開設プレゼント企画 下記のリンクより口座開設していただいた方にお

バイナリーオプションで特定の手法が勝てるかどうか検証する方法

バイナリーオプションの場合、 リアルタイムの自動売買開発と過去検証の

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

今回はリバーストレードができるように改良します。 端的に言うと、コピ

【一覧】シンプルに稼働するコピートレードツールを作る。

MT4以外のソフトを使わずに、DLLも使わずに、同一コンピュータ上で高

→もっと見る

PAGE TOP ↑