今回はMT4プログラミングで利用する言語について記事を書きました。
MT4上で動くソフトはどんな言語を使っているのかご存知ですか?
MT4上で動作するプログラムの詳細、実際にどういったものを作ることができるのか、覚えるメリットまで紹介していきます。
あなたもMT4上で何かしらインジケーターなどのツールを使っているはずです。
そのツールがどんな言語で作られているか、基本的なことを知っておくのはとても大事なことです。
ぜひ最後までご覧になってください。
この記事の目次
MT4プログラミングで使用する言語とは?
MT4で動作するソフトウエアには独自の言語が存在します。
MT4上でプログラムを組みMT4を動かすには、「MQL4」という言語を使用する必要があります。
MQL4とはMT4を開発したメタクォーツ社が開発したプログラミング言語で、MT4上でプログラムを動かすことができるものになります。
MT4自体は2005年に開発されたものですが、MQL4による拡張性の高さから現在でも多くのトレーダーに使われているチャートツールになります。
MQL4言語専用ソフトと作れるもの
そんなMT4上で動かすツールをMQL4言語で作るのですが、「メタエディター」という専用のソフトを使います。
メタエディターでは主に
- スクリプト
- カスタムインジケーター
- エキスパートアドバイザー
- ライブラリ
の作成ができるようになっています。
メタエディターはMT4を導入すれば、一緒にインストールされるため基本的に無料で使用することができます。
またPCのスペックなどもそんなに高くなくても動かすことができるため、MT4プログラムを始めるにあたって、最新のPCを買ったり、ソフトウエアを買ったりしなくても始められるのはとても魅力的であります。
MQL4のベース言語
MQL4は「C++」言語をベースとしているため、プログラムを少しでも触れたことがあるという方ならそんなに難しいものではないと思います。
またMT5で動作する「MQL5」という言語も存在するが、「MQL4」はアップデートをしておりMQL5とほぼ同等の機能を備えているのと、MQL4とMQL5の互換性がないことから「MQL4」を使いプログラミングをしている方が多い印象です。
MT4上で動作するソフトは、ほぼMQL4言語を使い動かしているため、インジケーターやEA開発をしたいと思っている方には必須のスキルです。
もし興味がある方は学んでみてはどうでしょう。
MT4のプログラミング言語「MQL4」で出来ることとは?
メタエディターでは何ができるのでしょうか?
- スクリプト
- カスタムインジケーター
- エキスパートアドバイザー
- ライブラリ
という機能があります。
1つ1つ機能を紹介していきますね。
スクリプト
スクリプトとは、実行すると一度だけ処理が実行されるプログラムのことを言います。
あなたももしかしたら、一度は使ったことがあるのではないでしょうか?
例えば
チャートの時間軸を一括変更することができるスクリプト
クリックするだけで全チャートのオブジェクトを一括削除することができるスクリプト
クリックするだけで表示中のインジケーターをすべて削除することができるスクリプト
などなど実行すると、1度だけプログラムが通るソフトをスクリプトといいます。
確かに時間軸を一括で変更できるスクリプトなんかはとっても便利ですよね・・
16通貨をいっぺんに表示させているトレーダーさんでしたら、1つずつ時間軸を変えていたら大変ですよね。
それを一括で変更することができるソフトはスクリプトで作成ができます。
難易度としても難しくないため、少し勉強すればすぐに作れるようになるかと思いますよ。
カスタムインジケーター
カスタムインジケーターとは、その名の通りカスタマイズをしたインジケーターになります。
MT4内にはRSIや移動平均線、CCI、ストキャステイクスなどの標準で入っているインジケーターがありますが、それ以外にも自分たちで開発することができるのです。
あなたもカスタムインジケーターの1つや2つ使ったことがあると思います。
例えば
指定したローソク足が出たら知らせてくれるインジケーター
移動平均線がパーフェクトオーダーになったときに知らせてくれるインジケーター
RSIが指定の数値になったら知らせてくれるインジケーター
自動でトレンドラインを引いてくれるインジケーター
自分で引いたラインに価格が到達したらアラートで知らせてくれるインジケーター
などなどカスタムインジケーターでは、カスタマイズがかなり幅広くできるため、作業効率化になります。
さらにいろんなトレーダーが開発したものをネットで配布していたり、販売したりしているためとてもたくさんの種類があるのです。
そんなカスタムインジケーターですが、MQL4言語を覚えることであなたでもオリジナルのインジケーターを開発することができます。
インジケーターを開発することができたら、あなただけのオリジナルのサインインジケーターが作れたり、あなた専用の作業効率化ツールを作ることができます。
特にサインツールなどを開発することができればお金にも直結しますし、時間短縮にもなるためとても便利です。
ツール開発は簡単なことではありませんが、勝率のいいサインツールが存在するのも事実です。
お金に直結するツールを開発することはとても夢のある話だと思いますのでぜひチャレンジしてみてくださいね。
エキスパートアドバイザー(EA)
エキスパートアドバイザーとは、MT4上で動作する自動売買ツールのことを言います。
カスタムインジケーターは、チャートのテクニカル分析をするツールなのに対して、エキスパートアドバイザーは実際に売買を行うツールになります。
例えば
移動平均線がゴールデンクロス、デットクロスをしたときに売買し、利確損切は10pips
ある一定の値幅の時に10pipsごとにポジションを持ち一定の利益が出たら決済(トラリピ)
全ポジションが100pips以上利益が出ていたら自動決済
などなど実際の売買をツール化することができるのが、エキスパートアドバイザーの特徴になります。
自動売買って難しそうというイメージがあるかもしれませんが、MQL4にはオーダー関数という決済を自動で出す専用の関数が存在するため、そんなに難易度は高くないです。
さらにストラテジーテスターという機能がMT4にはついているため、過去のバックテストも簡単にとることができます。
ロジックを組んでバックテストをとりいい結果が出るまでやり続ける。
これを続ければ不労所得も夢ではありません。
僕自身も更によいエキスパートアドバイザーを作ろうと日々研究しております。
こちらもお金に直結するスキルのためとても夢のあるスキルですね。
ライブラリ
ライブラリとは、よく使う関数をライブラリに保存をすることで簡単に呼び出すことができるものになります。
ライブラリ単体ではプログラムを動かすことはできませんが、インジケーターの開発をしているとよく使う関数というのが出てきます。
よく使う関数をライブラリに保存しておくことで簡単にライブラリからコードを呼び出すことができるため、作業効率化につながります。
複雑なコードを書く際はコードがどうしても長くなってしまうため、ライブラリを活用するとコードがすっきりとすることができます。
MQL4プログラミングをするにあたって必須の機能ではないですが、覚えておくと便利だと思います。
MT4のプログラミング言語「MQL4」を覚えると便利な理由
MT4プログラムができるようになると、便利な理由も紹介していきたいと思います。
オリジナルのツールが作れる
MQL4のプログラムができるようになることで便利な理由は、オリジナルのツールが作れるようになるということです。
あなたもインジケーターを使用していて
「インジケーターの数値が○○以上の時に知らせてほしいな・・」
「上位足のインジケーターを表示することはできないだろうか・・」
などといったことを思ったことはありませんか?
MQL4言語を使いこなすことができれば、お持ちのインジケーターをカスタマイズしてオリジナルのツールにすることができますし、サインツールなども作成することができます。
もしあなたがオリジナルのロジックを持っていてそれをインジケーター化することに成功したら、かなりの作業効率化に成功することでしょう。
いいツールができれば不労所得も夢ではない
MQL4言語をマスターすることで不労所得も夢ではなくなります。
特に成績のいいEAを作ることができれば、何もしなくても利益を出すことができるのです。
実際に月利20%ほどを安定して出すことができているEAも存在するため、開発することができれば不労所得も夢ではありません。
また自分でMQL4をいじることができれば、相場に合わせた調整もできるようになります。
その時の時代や相場に合わせて自動売買のロジックを組みなおすことができれば自動的にプログラムが取引をし、利益を出すことができるでしょう。
インジケーター・EA開発の仕事もたくさんある
MQL4プログラミングを覚えることで、インジケーターやEA開発の仕事を受けることもできるようになります。
「クラウドワークス、ランサーズ、ココナラ」といったクラウドソーシング系のプラットホームを見てみるとインジケーターやEAの開発系の仕事がたくさんあります。
相場としては
- インジケーター作成 10000~50000円
- EA作成 30000~100000円
ほどの相場となっています。
インジケーターやEAの開発はそれほど難しくないため時給にしたらかなり高いです。
簡単なインジケーターなら、1~2時間ほどでできるため20000円の案件だったら時給10000円です。
このくらいでしたら副業でもできますし、とても魅力的ですね。
インジケーターやEA開発はお金に直結する案件のため、お客さんも多少払っても作りたいと思っています。
ぜひMQL4プログラミングをマスターして、開発の仕事もしてみてはいかがでしょうか。
最短でMQL4プログラミングを習得できるスクールを紹介!
最後にこの記事のまとめです。
- MT4上でプログラムを組みMT4を動かすには「MQL4」という言語を使用する必要があります
- MQL4とはMT4を開発したメタクォーツ社が開発したプログラミング言語
- MQL4はメタエディターという専用のソフトがありスクリプト・カスタムインジケーター・エキスパートアドバイザー・ライブラリといったものが作成できる
- MT4プログラミング言語を覚えると、オリジナルのツールが作れる・いいツールができれば不労所得も夢ではない・インジケーター・EA開発の仕事もたくさんなどメリットがたくさん
MT4でオリジナルのツール作成や、検証や研究をしたいときにMQL4言語を覚えることは必須スキルです^^
マスターすれば大きなお金を稼ぐことも可能なため、夢のある分野ですね。
僕自身もMQLを勉強する前は、感覚でエントリーをすることが多かったですが、
MQLを覚えることでロジックの期待値や負けるポイントの傾向などをつかむことができるようになったため、勝率も安定しましたし自信を持ってエントリーすることができるようになりました。
今後はのMQL4プログラミングをたくさんの人に教えて、チームを作り最強のツールを開発していきたいと考えています。
プログラミング初心者の方でもオリジナルサインツールやEAを作成できるようになる環境を用意していますし、プログラミングチームみんなで最強のツールを作り、みんなで爆益を目指していきたいと考えております。
もしツール開発に興味がある方はこちらをご覧になってみてください。