【保存版】MQL言語入門まとめ~EA自作への道~

 

せっかくMT4(MetaTrader4)を利用するなら、オリジナルのEA(Expert Advisor)やインジケーターを自作してみませんか。

 

この記事では、初心者向けに、MQL言語を使ったプログラミングについて解説します。

「プログラミングなんて自分にはとても無理だ」と思われるかもしれませんが、そんなことはありません。実は超簡単なんです。アラフィフのおっさんが言うんだから間違いありません。

なぜ超簡単なのかというと、ここで作るどのプログラムも、基本的に、すでに出来上がっているサンプルEAのソースコードの一部を書き換えるだけだからです。

ホントに超簡単ですので、ぜひ挑戦してみてください。

 

MQL言語とは

MQL言語(Meta Quotes Language)とは、MetaTrader4で使用されるプログラム言語です。

MQL言語のベースはC言語です。

MetaTrader4で使用されるEAやインジケーターは、このMQL言語で書かれています。

 

基礎編~プログラミングの基本~

まずは、プログラミングの基礎を理解しましょう。

ここの内容をきちんとインプットできれば、以降のアウトプットがスムーズにできます。

 

変数と配列

変数はデータを入れる箱のことで、配列は整列された複数の変数の箱のことです。

MQL言語入門|変数と配列を使いこなそう!
MQL言語入門として、変数と配列について解説します。変数や配列を使えば、複雑な計算式を何度も書く必要がなくなるので、プログラムを読みやすくし、処理も速まります。EAやインジケーターを思いどおりに自作するために、ぜひ使いこなせるようになってください。

 

if文とfor文

if文は条件分岐を処理する構文、for文はループ処理する構文です。

MQL言語入門|if文とfor文を使いこなそう!
MT4をこれから始めようとする方を対象に、MQL言語入門として、if文とfor文について解説します。if文とfor文は、思いどおりにEAやインジケーターを自作するために、ぜひ使いこなしたい構文です。難しそうに思うかもしれませんが、そんなことありません。

 

よく使う用語だけに絞った手軽に見れるリファレンス

よく使う用語だけ集めました。

EAやインジケーターを自作するときに、きっと役立つと思います。

MQL言語入門|お手軽リファレンス
MQL言語入門用に、よく使う用語だけを集めて、手軽に見れるリファレンスを作りました。EAやインジケーターを自作するときに、きっと役立つと思います。コメントの記述方法、データ型(変数の宣言)、定義済み変数・配列、口座情報関数、取引関数、テクニカル指標、カスタム指標

 

実践編~EAやインジケーターの自作~

 

サンプルEAを使ってオリジナルEAを自作しよう

MT4のサンプルEAの一部をササっと書き換えて、MACDとスローストキャスティックスの2つのインジケーターで売買判断を行うオリジナルEAを作ります。

完成品をダウンロードできます。

MQL言語入門|オリジナルEAの超簡単な自作方法
オリジナルEA「MAC-STOC.mq4」の超簡単な自作方法を解説します。完成品のダウンロードもできます。MT4をこれから始めようとする初心者を対象にしています。なぜ超簡単なのかというと、サンプルEAのソースコードの一部を書き換えるだけだからです。

 

サンプルインジケーターを使ってカスタムインジケーターを自作しよう

MT4のサンプルインジケーターの一部をササっと書き換えて、カスタムインジケーター「HiLoバンド」を作ります。

「HiLoバンド」とは、チャート上に、過去n日間の高値・安値のラインを描き、レジスタンスやサポートを確認したり、高値・安値のブレイクアウトを判断するテクニカル指標です。

完成品をダウンロードできます。

MQL言語入門|カスタムインジケーターの超簡単な自作方法
カスタムインジケーター「HiLoBand.mq4」の超簡単な自作方法を解説します。完成品のダウンロードもできます。MT4をこれから始めようとする初心者を対象にしています。なぜ超簡単なのかというと、既存のソースコードの一部を書き換えるだけだからです。

 

カスタムインジケーターをEA化してみよう

前回作ったカスタムインジケーター「HiLoバンド」を使って、ブレイクアウト戦略をEA化します。

ブレイクアウト戦略とは、過去一定期間の高値・安値を突破したことをシグナルとする投資手法です。

完成品をダウンロードできます。

MQL言語入門|カスタムインジケーターをEA化する超簡単な方法
カスタムインジケーター「HiLoBand.mq4」を使って、ブレイクアウト戦略をEA化する方法を解説します。完成品のダウンロードもできます。いつもどおりの超簡単な自作方法です。この記事を通じて、カスタムインジケーターをEA化する方法を理解してください。。

 

応用編~さまざまな機能を追加~

 

自作EAにトレーリングストップを実装してみよう

トレーリングストップは、価格の動きにロスカットラインを追跡させていく投資手法です。

損失を抑えつつ、利益を伸ばせる有効な手仕舞い方法として人気があります。

MQL言語入門|自作EAに簡単に実装できるトレーリングストップ
MT4のサンプルEA「MACD Sample.mq4」を使ってトレーリングストップのソースコードを解説します。仕組みさえわかれば、自作EAに簡単に実装できるようになります。ぜひあなたの勝てるEA作りに役立ててください。

 

自作EAにnバーストップを実装してみよう

nバーストップは、過去nバーの期間の高値または安値超えを基準にストップロスオーダーを設定します。

直近の価格変動を重視した手仕舞い方法で、広く使われています。

MQL言語入門|自作EAに簡単に実装できるnバーストップ
MT4のサンプルEA「MACD Sample.mq4」のソースコードの一部を書き換えて「nバーストップ」を実装します。仕組みさえわかれば、自作EAに簡単に実装できます。ぜひあなたの勝てるEA作りに役立ててください。

 

自作EAにATRストップを実装してみよう

ATRとは、平均的な1日の値幅のことです。

ATRストップとは、トレーリングストップのトレール幅をATRで算出する投資手法です。

システムトレーダーのバイブル『魔術師たちの心理学―トレードで生計を立てる秘訣と心構え』でも、ATRを使ったストップロスの設定が推奨されています。

MQL言語入門|自作EAに簡単に実装できるATRストップ
MT4のサンプルEA「MACD Sample.mq4」のソースコードの一部を書き換えて「ATRストップ」を自作します。仕組みさえわかれば、自作EAに簡単に実装できます。ぜひあなたの勝てるEA作りに役立ててください。

 

自作EAに複利システムを実装してみよう

複利とは、トレードで得た利益を再び投資することにより、利息が利息を生んで大きくふくらんでいく効果のことです。

うまく活用できれば、資金効率が上がり、爆発的に資金が増えます。

MQL言語入門|自作EAに簡単に実装できる複利システム
MT4のサンプルEA「MACD Sample.mq4」のソースコードの一部を書き換えて「複利システム」を実装させます。仕組みさえわかれば、自作EAに簡単に実装できます。ぜひあなたの勝てるEA作りに役立ててください。

 

まとめ

この記事では、初心者向けに、MQL言語を使ったプログラミングについて解説しました。

せっかくMT4(MetaTrader4)を使ってるんですから、ぜひオリジナルのEAやインジケーターを自作してみましょう。

すでに出来上がっているサンプルEAのソースコードの一部を書き換えるだけで、こんなにいろいろ出来ます。

アイディア次第では、ものすごいEAを自作できるかもしれませんよ。

 

もし、あなたが本格的にMQL言語を使いこなしたいと考えているなら、以下の書籍がおすすめです。私も読みましたが、実践的な内容をわかりやすく説明しています。

FXメタトレーダー実践プログラミング (現代の錬金術師シリーズ)

 

【追記】
トラリピなどの「リピート系注文」の長所はそのままに、短所をカバーするさまざまなアイデアを盛り込んだEAを作りました。当サイトからXMに口座開設していただいた方にプレゼントします。

【プレゼント企画】自作EA「繰り返し注文万能型」無料配布
下のバナーからリアル口座を開設していただくことを条件に、EA「繰り返し注文万能型」をプレゼントします。トラリピなどの「リピート系注文」の長所をそのままに短所をカバーするものです。デモ口座で検証を重ね十分、実運用に十分に耐えられることを確認しています。

もしあなたが、MT4をリアル口座で稼働しようと考えているなら、XMTradingがおすすめです。
XMは、海外FX業者の中で、日本人による口座開設数No.1、豊富な入出金方法、24時間対応の日本語サポートなどにより、日本人でも安心して利用できます。

XMの口座開設はこちらから

MT4でシストレ

●免責及び注意事項●
当サイトの全てのコンテンツは管理人自身による情報の提供を目的としており、決して投資行動を勧誘・助言するものではありません。
投資商品、売買価格決定等の投資行動につきましては、ご自身の判断と責任に基づいて行われるようお願いいたします。
また、個々の取引において生じたいかなる損失についても、本ブログサイトおよびその管理者は一切の責任を負いかねます。

Startup!

コメント