*

第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に公開されるので、問い合わせ等はメールでお願いします。

関連記事

購入したEAは基本的には編集・改造できません

タイトルですべて終わっているのですが、 こういった問い合わせが多いので一応記事にします。 F

記事を読む

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

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

記事を読む

市販のインジケーターをEA化する 実践編

何年か前に「iCustomを使ってインジケーターをEA化する」という記事を書いたのですが、意外とアク

記事を読む

【MT4MT5】チャート上にWEBサイトの情報を載せる その2

今回はWEBサイトから取得したデータのスクレイピングです。 スクレイピングとは、すごい長い文字列か

記事を読む

第15回:OrderModifyで損切り、利確注文を出す

SL,TPをEAから送信する ここでは ポジション取得時に損切りと利確を同時に送信するMQLプロ

記事を読む

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

    株、仮想通貨、それ以外の私に対するご連絡は
    infoあっとfxantenna.com
    まで

一回の演算で複数のリクエストを送る 仮想通貨の自動売買⑪

公開:2017/9/4 基本的にjson形式でAPIをたたく場合

コインチェックAPIで信用取引 仮想通貨の自動売買⑩

公開:2017/9/4 これまではAPIで現物取引を扱ってきまし

POLONIEXのAPIでビットコインのヒストリデータを取得 仮想通貨の自動売買⑨

公開:2017/9/4 国内の取引所でもAPIを発行している取引

APIでコインチェック、ZAIF、bitFlyerのレートの比較&トレード 仮想通貨の自動売買開発⑧

公開:2017/7/11 今回は業者間アービトラージに向け、PU

CoinCheck,bitFlyerにAPIでオーダーを出す 仮想通貨の自動売買開発⑦

公開:2017/7/10 「Private apiでそれぞれの取

→もっと見る

PAGE TOP ↑