MT4で動くインジケーターの作成方法とは?自作のメリットや作り方の流れを徹底解説!

 

今回はMT4上で動くインジケーターの作り方について記事を書きました。

 

普段インジケーターを使っている方でもインジケーターの作り方を知っている人は多くないと思います。

 

オリジナルのインジケーターが作れれば、自動売買化や作業効率化、販売ができるようになるためメリットだらけです。

 

私自身初めはインジケーターの作成ができなかったので、手動でバックテストや検証をしかなり多くの時間を費やしていました。

しかしインジケーターの作成方法を覚えることにより過去数年分のバックテストが数分でできるようになったり、インジケーターを使って自動売買化をして稼ぐことも可能になりました。

 

何より機械が検証やトレードを代わりにやってくれるようになったため自由な時間が増えました。

 

そのため今後トレードで稼いで自由なお金や時間を手に入れたいという方はインジケーターの作り方を覚えておいた方が絶対にいいです。

 

この記事を読めばインジケーターを作成するために必要なスキルやソフト、インジケーターを作るまでの流れや勉強方法について理解できますので最後まで読むことをおすすめいたします。

 

MT4で動くインジケーターを作成するためにはどのような言語・ソフトが必要?

引用:metatrader4

 

MT4上で動作をするインジケーターですが、どのように作られているのかご存知ですか?

 

インジケーターはMT4の中に入っているメタエディターというソフトを使って作られてます。

 

メタエディターはMT4をインストールした時に、同時にインストールされるものですので、あなたのPCにMT4が入っていればメタエディターもあると思います。

 

特殊な有料ツールを使って作られているのではなくて、無料のツールで作られています。

 

メタエディターで使われてる言語は「MQL4」と呼ばれる言語です。

 

これはインジケーターやEAを開発する専用に開発された、メタエディター専用の言語になります。

 

ベースはC++言語が元になっているため、プログラミングを触ったことがある方でしたらすんなりと覚えることができるかもしれません。

 

MQL4自体はさほど難しい言語ではないため、完全初心者の方でも1ヶ月~3ヶ月ほど勉強すればある程度のインジケーターやEAは作れるようになります。

 

MT4で動くインジケーターを作成するメリットについて

 

自分でオリジナルのインジケーターやEAを開発できるといくつかのメリットがあります。

インジケーターの作成ができるようになることで何ができるのかを解説していきますね。

 

自分のエントリーロジックをツール化できる

 

自分のエントリーロジックをツール化できる点は最大のメリットだと思います。

インジケーターを作成することができたら、ほとんどのロジックをツール化することができます。

 

あなたが今エントリーをしているロジックをツール化してもいいですし、ネットで気になったロジックをツール化してみて検証してみることだってできます。

 

自分でRSIなどの数値を確認していたのをインジケーターが代わりに計算をして、サイン化することができます。

 

検証の時間が短縮されるため、ストレスも減りますし、どんなところで負けていて、どんな場面で勝っているのかなども検証しやすくなるでしょう。

 

ロジックをサインツール化できるのはとても大きなメリットですね。

 

また細かいパラメーターなども自由に変更できます。

 

例えば無料で配布されているインジケーターや購入したインジケーターなどにも

 

「サインが鳴ったらプッシュ通知が来るようにしたいなぁ・・」

「勝率表示の期間を変えられたらなぁ・・」

「RSIの設定値などをもっと細かく設定出来たらもっと勝率上がりそうなのに・・」

 

などといった改善してほしい点などがあると思います。

 

それらを自分で開発ができれば自分の理想通りの機能やパラメーターをつけることができますし、購入したインジケーターを自分でカスタムすることも可能です。

 

自分でプログラミングができれば、自分の理想のインジケーターを開発できるようになるのです。

 

バックテストをとることができる

 

自分のロジックをツール化することができれば、バックテストをとることも可能です。

インジケータープログラミングを覚えてしまえば、こんな感じでバックテストをとることも可能です。

 

 

バイナリーオプションは勝率を追っていくゲームですので、今のロジックがどれだけの勝率があってどれくらいプラスになるのか計算することはとても大事です。

 

いろんなロジックの設定を変えてバックテストをとることで、相場の傾向がつかめてくるためおすすめです。

 

また今の自分が使っているロジックが実は勝率が低かったり、ネットで勝率90%と書かれていた手法が実は勝率50%だったりと、情報や感覚に左右されずに正確なデータをとることができるのもポイントです。

 

また上の写真のように時間別の勝率を出して、相性がいい時間悪い時間を探すこともできますし、判定本数を1分・3分・5分など変えることも可能です。

 

手動でバックテストをとると数時間かかってしまうものが、プログラミングをすることで数年間のバックテストが10秒くらいで取れてしまうのも魅力的ですね。

 

本気で勝ちたいのであれば通貨ペアごとに相性のいい設定値を探したりとたくさんのパターンでバックテストを取る必要がありますので、バックテストの自動化は必須となります。

 

インジケーター開発の仕事もたくさんある

 

インジケーターを作成できるプログラミングスキルがあればそれを仕事にすることもできます。

 

僕もトレードをしながらインジケーターの開発の仕事もしており、収入源の1つとなっています。

 

インジケーターや自動売買の開発という仕事は、数こそ少ないですが、プログラマーの数も少ないためインジケーター開発だけでも十分に食べていける額になります

 

収入源を1つ増やせるという点も大きなメリットですね。

 

またインジケーター作成って難しいんじゃないの?と思う方も多いかと思いますが単純なサインツールなどでしたら1~2時間あれば完成します。

 

そのため副業でも十分できる仕事なのが魅力ですね。

 

MT4で動くインジケーターを作成するために必要なもの

 

インジケーターを作成するために必要なものは

  1. PC
  2. MT4
  3. MQL4プログラミングスキル

の3つです。

 

この3つされあればインジケーターは作成できます。

まずPCはプログラミングをするために必須ですね。

 

特別ハイスペックなPCでなくてもインジケータープログラミングはできます。

 

プログラミングというとハイスペックなPCが必要というイメージがありますがそんなことはありません。

 

家電量販店で売られているエントリーモデルのPCで十分ですね。

 

MT4は無料でインストールできるため、特別なことは何もありません。

 

最後にMQL4の知識です。

 

プログラミング初心者の方にとってはここが一番難しいところになります。

 

最初はわからないことばかりだとは思いますが、ネットで調べたり、インジケーターのソースファイルが落ちていることがあるため、それらを参考にして勉強してみるといいでしょう。

 

また当サイトのYOUTUBEではMQLプログラミングについて実際のコードをお見せしながら解説していますのでぜひそちらもご覧いただければと思います。

 

 

わからないことなどがあれば、プログラミングに詳しい知人などに相談してみるのもいいですね。

 

PCはほとんどの方が持っていると思いますし、MT4もダウンロードされているため、あなたがインジケーター作成をするためにはMQL4の知識さえあれば始めることができます。

 

MT4で動くインジケーターを作成するまでの流れ

 

インジケーターを作成するまでの流れもご紹介していきましょう。

今回はサインツールを例にして解説しますね。

 

ロジックを決める

 

まずは自分のロジックから考えてみましょう。

 

例えば、

ストキャスティクス(5.3.3)のメイン線が80以上で下矢印(売りサイン)

ストキャスティクス(5.3.3)のメイン線が20以下で上矢印(買いサイン)

というロジックを考えたとします。

 

作成して過去検証などをしてみて、結果がよくなければ、

サイン条件を90以上10以下に変えてみたり、

ストキャスティクスの設定を(7.1.1)に変えてみたり、

ロジックの修正をし、いい結果が出るまで検証するのが大事です。

 

どんなロジックでも一発でいい結果が出ることは正直少ないため、ある程度アイデアができたら、まず作成してみるのをおすすめします。

 

ロジックの言語化

ロジックをまず考えたら、その後はロジックをMQL言語で使われている関数というものを使い、数式に表していきます。

 

この部分が一番大事で、自分の頭の中のロジックをどうやって言語化するのかが一番難しい部分です。

 

MQLには様々な関数がありますのでそれを形にしていきましょう。

 

例えばストキャスティクスというのをmql関数で表すと

iStochastic(symbol,timeframe,Kperiod,Dperiod,slowing,method,price_field,mode,shift);

と表すことができます。

 

関数を使い

ストキャスティクスが80以上の時下矢印

ストキャスティクスが20以下の時上矢印

というようなプログラムを書いていきます。

 

ここがプログラミングの最も難しい部分ではあります。

 

プログラミングにはエラーがつきもので、1文字でも違うと正常に動かないからです。

 

原因を突き止めることができないと正常に動きません・・・

 

エラーが出たらネットで調べたり、それでもわからなければプログラミングに詳しい知人などに聞いてみるのがいいですね。

 

MQL4は一度覚えてしまえば難しくはないですし、3か月もあればある程度のインジケーターとEAは作成できるようになります。

 

一生もののスキルになりますのでここは頑張りましょう。

 

動作確認をする

 

ロジックを数式に表すことができたら、動作確認をし正常に動いているかどうか確認しましょう。

 

正常に動いていなかった場合は、どこかに間違いがあります。

 

プログラミングは1文字でも違う部分があると正常に動かないです。

 

さらに普段無意識に避けていた場面も、インジケーターはサインを出してしまうことも多いです。

 

原因を突き止め思い通りに動くまで修正する。

 

これを繰り返すことでインジケーターは完成していきます。

 

僕自身たくさんのツールを開発してきましたが、一発で思い通りの挙動をしたことは少ないです。

 

エラーと修正を繰り返してツールは出来上がりますので、あきらめずにやりましょう。

 

出来上がった自動売買ツールのバックテストを取る

 

一通り動作確認が出来たら、次はバックテストを取っていきましょう。

 

バックテストとは過去のチャートのデータを使い、作成したインジケーターを動かしてみるということです。

 

勝率や負けやすいポイントなどを分析してみるといいですね。

 

あまりいい結果が出ていなかった場合は、ロジックの修正をする。

 

これの繰り返しでインジケーターは作られます。

 

設定の修正を行うだけげなく、通貨ペアや時間足を変えることでいい結果が出ることもあるでしょう。

 

諦めずに納得のいくインジケーターを作れるといいですね。

 

MT4で動くインジケーターを作成し完成させるためのポイント

 

オリジナルインジケーターを完成させるためのポイントについても解説してきます。

 

似たツールがMQLファイルでネットに落ちていないか調べる

 

インジケーターを0から開発するのは大変なため、似たようなツールがネットに落ちていないか調べましょう。

 

ファイルがソースファイルで落ちていたらラッキーです(笑)

 

0からインジケーターを作成するよりも、ある程度のひな型があった方が作成難易度は下がります。

 

そのためまずは自分が作りたいインジケーターと似たものがネットに落ちていないか探してみるといいですね。

 

エラーが出ても諦めない

 

プログラミングにエラーはつきものです。

 

多くの方が諦めてしまう原因としてエラーが解決できない・・

という理由でプログラミングを諦めてしまっています。

 

しかし、プログラマーとして一人前になるにはエラーが出ても諦めずに完成させることが大切です。

 

マインド的なことになってしまいますが、エラーが出ても諦めない気持ちはとても大切。

 

エラーの原因をネットで調べたり、プログラミングに詳しい知人などに聞いたりしてエラーを解決しましょう。

 

僕も1つのエラーを解決するのに1週間以上かかってしまったこともあります。

 

ぜひ諦めずに最後までやり抜きましょう。

 

MQLリファレンスを活用する

 

 

関数などわからないことがあれば「MQLリファレンス」というネット上の辞書みたいなサービスがあるためそちらを参考にしましょう。

 

ほとんどのMQL関数はMQLリファレンスを見れば載っています。

 

ロジックの言語化に迷った時はMQLリファレンスを活用するといいですね。

 

まとめ

 

  • インジケーターはMT4の中に入っているメタエディターというソフトを使い作られている

 

  • メタエディターで使われてる言語は「MQL4」と呼ばれる言語

 

  • インジケーターはPC・MT4・MQL4の知識の3つがあれば作成可能

 

  • インジケーターを作るまでの流れは、ロジックを決める→ロジックの言語化→動作確認→バックテスト→修正の繰り返し

 

インジケーターを作るためには特別なものは必要ありません。

 

 

MQL4プログラミングの勉強をすれば、PC1台で自分の理想のインジケーターの開発ができます。

 

今後トレードで稼ぎ続けるために、インジケーターを作成するスキルはあると絶対に便利です。

 

なぜなら、バックテストや検証を自動化することにより、よりよい勝率のロジックを見つけ出すことができるためです。

 

インジケーターの開発ができればEAの作成もできるようになるため、将来的にはEAの開発をして自分のロジックを完全自動売買化してしまえば自分がチャートを見ていない間も稼ぎ続けることができます。

 

今後の将来のために勉強をしてスキルを身に着けておくとよいですね。

 

当サイトでもプログラミングスクールを開校しておりまして、完全プログラミング初心者の方でもMQLを使えるようになりオリジナルのインジケーターやEAを作成できるようなプログラムとなっています。

 

エラーやわからないことがあれば24時間いつでも質問ができる環境を用意しておりますので、最短でインジケーター開発ができるようになります。

 

「オリジナルインジケーターを作りたい!・プログラミングを覚えてバックテストをとりたい!」

という方は下の詳細ページをご覧ください。

Twitterでフォローしよう!!

おすすめの関連記事