こんにちは!
シェリーです。
今回は、MT4における自動売買のプログラミングについて解説していきたいと思います。
この記事で解決できること
・自動売買のプログラミングを開発したいけどやり方がわからない
・MT4自動売買のプログラミングって実際簡単に出来るのか
・自動売買のプログラミング始めた90%が挫折している中で損しないために押さえるポイントって何?
FX取引をしている中で自分のロジックが確立され、そのロジックを使った独自の自動売買ツールを作りたいという人は多いと思います。
今までFXはやってきたけど、自動売買のプログラミングに関してはよくわからない。
そういった方の疑問を解決できる様にしているので、ぜひ参考にしてみてください。
この記事の目次
MT4自動売買のプログラミングとは?
普段、皆さんの中でもMT4で自動売買(EA)を利用している方はいらっしゃるかと思います。
自動売買(EA)、MT4(MetaTrader4)の中に搭載されているMetaEditerによって作られています。
MT4の自動売買のプログラミングは、MQL言語(Meta Quotes Language)と言われる、MT4で使用されるC++言語をベースとしたプログラミング言語で書かれており、MetaTrader4をインストールすれば、開発環境を整えることが出来ます。
このMQL言語を習得することにより、独自のEAを作る事や、ロジックのバックテストをとることが可能になります。
MT4自動売買の設定方法とは?
MT4のフォルダにEAが入っているだけでは自動売買は開始されません。
まだMT4の自動売買を使用したことがない方に向けて、自動売買ツール(EA)の設定方法を簡単に紹介していきたいと思います。
エキスパートアドバイザーの設定
まずエキスパートアドバイザーの設定をしていきます。
MT4画面の上部にある「ツール」から「オプション」を選択。
表示されたオプションから「エキスパートアドバイザ」を選択。
↓
「自動売買を許可する」「DLLの使用を許可する」にチェックを入れてください。
「OK」を選択すれば設定完了です。
チャートにEAを表示させる
使用できるEAは、MT4画面、チャート左側の「ナビゲーター」の中にある「エキスパートアドバイザ」に入っています。
「エキスパートアドバイザ」にある、ex4ファイルまたは、mq4ファイルを指定。
↓
チャート画面上にドラッグ
EAの詳細・パラメーターの設定画面が表示されます。
「OK」を選択するとチャート上に反映され、「EA名・スマイルマーク」がチャート上に表示されていたら成功です。
自動売買を稼働させる
上記まで出来たらあとは稼働させるだけです。
MT4画面の上部にある「自動売買」クリックします。
再度「自動売買」をクリックすると、自動売買を停止させることが出来ます。
アイコンが緑の時は稼働中、アイコンが赤い時は停止中のサインなので、反映させた際は必ず確認してください。
なおEAを稼働させる際には、必ずバックテストをとってください。
自作のEAでも、サイトで購入したEAでも、そのEAのロジックにどれくらいの優位性があるか必ず確かめて取引を行わなければ、思わぬ損失を生む可能性があるので、十分に注意してください。
MT4自動売買にプログラミングは必要?
購入したEAや、無料で配られているEAを利用して、MT4で自動売買を行う分にはプログラミングは必要ありません。
ですがその場合、人のロジックによって自分の取引が制限されます。
FXは、やればやるほど独自のロジックや検証してみたいデータなどが出てくるものです。
プログラミングのスキルがない場合には、ロジックをツール化したり、バックテストをとって研究したりという事が難しくなってきます。
その場合に、自分でプログラミングスキルを持っていると、人のロジックに制限されることがなく、自分の思う取引をすることが可能です。
MT4自動売買のプログラミングのメリット・デメリットは?
MT4自動売買のプログラミングを始めるにあたり、不安の多い人もいるかと思います。
メリット・デメリット下記の様にまとめてみました。
メリット
・独自のロジックをツール化出来る
・0から作成するわけではない
・コストが大幅に削減できる
デメリット
・ロジックの言語化が必要
・経験と知識が必要
では、これらの点を踏まえながら解説していきましょう。
メリット①独自のロジックをツール化出来る
FX取引を重ねていくことで生み出した、独自のロジックで作られたオリジナルツールを作ることができる。
これがMT4のプログラミングを始めるにあたって、一番大きなメリットと言えるでしょう。
ツールとして完成した後でも、検証や改良を自由にする事が可能なので、より優位性の高いものにしていく事ができます。
世の中にはたくさんの自動売買ツールが存在していて、有料で売られているものや、無料で配られているものなどたくさんあります。
FX取引をしている方の中には、「色々なツールを購入したが成功した試しがない」という方もいるかと思います。
そういったツールを使っていて「もう少しこんなツールだったら使いやすいな」「自分だったらこうするのに」などと思ったことはありませんか?
プログラミングを習得することで、そんなモヤモヤを解消することが出来ます。
メリット②0から作成するわけではない
自動売買について調べた時に、初めてサンプルコードを目にして、自分には無理かもと一歩引いてしまった事はありませんか?
あの英数字の羅列を全て書こうと思ったらとても大変です。
何もない状態からプログラムのコード書くのは熟練者でも難しいですが、MT4のプログラミングを始めるにあたり、
0から作成することはありません。
MT4(MetaTrader4)には、MetaEditorというツールが搭載されており、各プログラムを作成する上でのテンプレートが既に備わっているので、
0からコードを書くのではなくテンプレート内容を書き換えていくという形になります。
メリット③コストが大幅に削減できる
上記で、オリジナルのツールを作るにはプログラミングスキルが必要と述べましたが、必要のない場合もあります。
それは、専門のエンジニアに依頼する場合です。
自動売買ツールには、作成代行を依頼することで自分のロジックを代わりにツール化してくれるサービスが存在します。
ですがその場合、代行費用がかかり、¥20,000〜¥300,000が相場です。
ロジックが複雑で難易度が高いものほど料金も高くなり、ロジックが単純で簡単なものほど安くなりますが、どちらの場合でも必ずコストがかかります。
自信がプログラミングスキルを身につけていれば、代行を依頼する必要が無いので、そのコストを大幅に削減する事が可能です。
デメリット①ロジックの言語化が必要
MT4でプログラミングをする上で避けては通れないのが、ロジックの言語化です。
プログラミングをする上で、言語化が一番大切と言われるくらいです。
コードを書く上で、プログラムには細かく指示をする必要があります。
例えば、
「陽線が三本続いた時」という表現も、
「三本前のローソク足の終値が始値より高く、二本前のローソク足の終値が始値より高く、一本前のローソク足の終値が始値より高い時」
と、表現する必要があります。
少し複雑に感じるかもしれませんが、その分、理解する事ができれば、プログラミングだけでなくFXに対しても理解や見解が深まるので、必ず抑えておきたいところです。
しかし、ここをネックに挫折してしまう人も多いので注意しましょう。
デメリット②経験と知識が必要
当然のことだとは思いますが、MT4のプログラミングには経験と知識の両方が必要になってきます。
「FX」の「プログラミング」をするわけですから、FXに関する経験と知識、プログラミングに関する経験と知識の両方が必要になってきます。
ロジックが簡単なものに関しては、比較的にまだ浅い経験と知識で済みますが、ロジックが複雑になればなるほど、プログラミングとFXの両方の経験と知識が求められてきます。
MT4自動売買のプログラミングを簡単にする方法とは?
MT4自動売買のプログラミングは比較的に簡単に出来ると言えます。
それは上記でも述べた様に、テンプレートがあるから0から作るわけではないというのと、既存のプログラムのコードを書き換えることでツールを作れるからです。
MT4では元々搭載されているツールやネット上で配布されているツールのコード書き換える事が出来ます。
既に完成しているツールの数値を変更したり、サインを追加したりすることで、それだけでもオリジナルツールを簡単に作る事が可能です。
配布されているツールに関しては、実行ファイルであるex4ファイルではなく、ソースコードであるmq4ファイルでないと編集することが出来ないので、注意してください。
MT4自動売買のプログラミングでインジケーターも作れる?
MT4のプログラミングでは、自動売買ツールのEAだけでなく、オリジナルのカスタムインジケーターを作ることも可能です。
どちらもMQL言語なので、どちらから始めた場合でも両方に応用することが可能です。
どちらかを作っていると、もう一方ツールにも使えそうなアイデアが湧いてきたりするので、どちらか片方だけと限定してしまうと勿体ないです。
一度に沢山のことをやろうとすると大変ですが、片方を覚えていくともう一方もスムーズにできると思うので、ぜひ挑戦してみてくだい。
MT4自動売買のプログラミングで挫折しないための3つのポイントとは?
MT4のプログラミングを始めた人の内、実に90%が挫折してしまうと言われています。
新しいことを始めたら、知らないことばかりで大変なのは当然です。
ですが、せっかく新しく始めようと思ったことを諦めてしまうのは非常に勿体ないです。
MT4のプログラミングは習得する事で、できる事の幅は大きく広がっていきます。
挫折しないためのポイントを大きく3つに分けたので、紹介していきたいと思います。
知らない単語・用語はすぐに調べる
みなさんはどうやってプログラミングを勉強していますか??
ネットで調べてみたり、「MT4入門」の様な書籍を買って勉強をしている方が多いのではないでしょうか。
もちろんどういった形で勉強を進めていくのは自由なのですが、挫折してしまう方に多いのが、一度マニュアルを読んでみたけど意味が全く理解できずに心が折れてしまったという方です。
自分もそうかも。と思った方は、思い返してみてください。
知らない、わからない単語・用語をなんとなくの解釈で読み進めていませんか?
プログラミングが初めての人はもちろん、MQL言語が初めてという方も、初めて聞く言葉や、今まで意味を曖昧に解釈してた用語が沢山出てくると思います。
小さな疑問をすぐに調べるかどうかで、理解の度合いは大きく変わってくるのです。
始めは小さい疑問かもしれませんが、進むにつれて小さい疑問が積み重なり、とても大きなものへと変貌を遂げてしまいます。
その為、一通り読み終えたりした後でも、疑問が多く積み重なり、理解できなかったという事になってしまうのです。
経験が無い人ほど、知らない事を調べるという工程が多く、なかなか内容が進まない事もあるかもしれません。
ですが、大切なのは密度です。
中身がなければアニュアルを読んでもなんの意味も無くなってしまうので、焦らずに着実に進めていきましょう。
壁に当たったら一度戻ってみる
上記の様な形で学習を進めていき、それでもわからないという方も少なく無いと思います。
実際、僕がそうでした。
ですが、上記の様に進めて理解出来なかった場合、一度戻って再度やってみてください。
2回目の方が、確実に理解出来ているはずです。
調べながら進めていったことにより、知識量が必ず増えています。
一度目に調べた内容を忘れてしまっている事もあると思いますが、再度調べれば何も問題ありません。
繰り返す事で知識が増え、理解を深めていくことに繋がっていきます。
「全て独学」は避ける
上記の内容に似ているかもしれませんが、わからない内容を聞ける人がいると大きいです。
単語や用語は調べると出てきますが、意味の解釈やロジックなど、自分の考えだけではどうしても難しい場合があります。
その際に、疑問に応じてくれる存在があると非常に助けになります。
ネットや書籍などを見ていると、「全て独学で習得しました」という人も目にしますが、それ極一部の人です。
プログラミング経験のある人ならともかく、未経験の方の場合は全て独学は難しいと思ってください。
身近に相談を出来る人がいればいいですが、いない場合はネット上の掲示板を利用したり、プログラミングスクールを利用すると良いです。
オンラインのプログラミングスクールもあり、学習教材はもちろん、メールやチャットなどでも質問や相談に乗ってもらうことができます。
そういったサービスを利用する事で、疑問の早期解決をするのをおすすめします。
まとめ
いかがでしたでしょうか??
自動売買のプログラミングに関して、気になっていた点を解決出来たら幸いです。
実際にMT4のプログラミングを始めようか悩んでいる方もいると思います。
自動売買ツールやカスタムインジケーターのプログラミングができる様になる事で得することは沢山あります。
FX取引をしていく中でも、オリジナルロジックのツールがあれば、その幅は大きく広がっていきます。
自分がどうしたいかに合わせたスキルを習得して、より良いものにしていきましょう。