【超入門】MQLプログラミングとは?実践をまじえ徹底解説!!!

どうも、あっちゃんです。

今回初投稿になるっす!

新年度になるしブログでもはじめてみちゃおうかな〜という軽い乗りで今、記事を書いてるっす!

これから、MQLに対する様々な記事を書いて行こうと思うけど、たまに脱線するかもしれないので生暖かく見守ってくれたら嬉しいっす!

サイトのコンセプトとしては、僕の備忘録兼これからMQLプログラミングをはじめようとする超初心者の方向けに記事を更新していくっす!

徐々にレベルを上げ行くつもりっすので付いてきてほしいっす!

今回の記事は『MQLとは?』『MQLで何ができる?』をお伝えするっす!概念的な内容なので興味ないという人は読み飛ばしてほしいっす!

早速、今回のお品書きっす!

MQLとは?

皆はFX取引をする時にどのように取引してるっすか?

基本的には何かしらのアプリを使って取引する人が大半だと思うっすけど、それ以外にも証券会社のWebから取引する人、証券会社に電話して取引する人、証券会社の窓口まで行って取引する等様々な取引方法があるとおもうっす

MQLはプラットフォームアプリの一つ、MetaTrader4(通称:MT4)のシステムを作る機械言語っす

MQLを身につけることで何ができる?

ここでは、MT4を使ったことがあると言う程で話しを進めていくっす!

後日MT4のインストールから基本的な使い方の記事を上げる予定なのでもし使ったことない人は後日MT4のインストールまでの方法の記事を書くつもりなので待っててほしいす!

注意としては証券会社によってはMT4が使えない所があるから注意が必要になるっすよー!

 【後日】MT4が使える証券会社は?の記事を書くっす!

MQLに必要なものとは?

ここでは、MQLプログラミングに必要なものを紹介するっす

パソコン

パソコン上にMetaTrader4をインストールしてコードを書いていきます。スマートフォンでもVPSなどを使えばできないことはないですがパソコンでプログラミングすることを推奨します。

インターネット環境

最低限インターネットをストレスなく閲覧できるレベルの環境をおすすめします。

MetaTrader4

スマートフォンのアプリにもMetaTrader4はありますが、そちらではプログラミングやカスタムインジケータは使えません。

証券会社口座

MetaTrader4が使える証券会社口座

デモ口座でも本口座でもどちらでも大丈夫です。

証券会社の選び方は記事にしてみたのでそちらを参照してみるといいっす!

【超入門】口座開設必見知識①

MQLを身につけることで何ができる?

さてさて、ここからがこの章の本題っす!

皆はこの条件になったら自動的にエントリし決済も自動で行ってくれたら便利なのにと思ったことはないっすか?それを自動売買システムやEA(expert adviser)と言うっす!

または、勝手にフィボナッチを引いてくれたら楽なのにと思ったことは僕だけじゃないはずっす!

それらのEAやカスタムインジケータを作成しMT4上で可能にしてくれるのがMQLと言うプログラム言語になるっす!

結論MQLプログラミングをマスターすれば、今まで時間がかかっていた環境認識の手間を減らせたり僕みたいに感情でトレードしてた人は機械的にトレードするためのツールを作れるようになったりと、活用方法は人によって変わってくるっす!

FX取引をやって利益を出したい人はMQLプログラミングをマスターして損はないと確信してるっす!

EAやカスタムインジケータは販売しているサイトがあるから自分で作るのがめんどくさいって人は探してみるといいっす!

MQLは難しい?勉強方法を紹介

「プログラミングは難しいそう!」というお声をよく聞くっす!

結論を先に言ってしまえば凝ったものを作ろうとしなければそこまでプログラミングは難しいものじゃないっす!

僕のイメージではプラモデルを組み立てるのと近い感覚がするっす!

実際に僕がどうやって作っているか見てもらったほうが感覚が伝わりやすいと思うので、これからEAやインジケーターを作る場合にどんな手順で僕が作っているか例をあげて紹介するっす!

まず、一番重要なことがこれから作ろうとしている物の構成を考えることっす!

どういうことか説明する前に日常生活で使っている物で例えてみるので一緒に考えてみるっす!

例)自転車を構成するパーツは?

      

答えは「ハンドル」「サドル」「フレーム」「チェーン」「タイヤ」そのほか様々な部品で構成されてるっす!

細かく分けるときりがないのでとりあえずこんな感じ構成する部分を分けていくっす!

次に重要なのが作りたい物の明言化することっす!

これは一般的な例をあげるなら手順書や説明書になるっす!

はじめのうちはざっくりとした大雑把なものでもいいっすが慣れてきたら細かく明言化できるといいっす!

勉強方法①独学

独学での勉強方法としてはYouTubeの動画やインターネットの記事、TwitterなどでMQLプログラミングを学習していく感じになるっす!
分からない箇所が出てきたらコメントなどの機能を使って投稿者に質問をする感じになるっす!

独学のメリット

独学のメリットとしては、やっぱり一番はこれっす!

低コスト!!!

お金がかからないことは正義っす!

そして、もう一つのメリットが縛りがないことっす
自分の好きな時間、好きな場所、好きな項目自由に選択して学習できることが魅力っすね!

独学のデメリット

独学でのデメリットはいくつかあるっすけど

挫折しやすい!!!

僕も独学で勉強していた時期があったので共感できるんすけど、これが一番多いデメリットじゃないかと思ってるっす!

あとは上記で少し独学の勉強方法について解説したっすけど投稿者に質問をする場合、レスポンスに時間がかかったり帰ってこない場合があるっす!

かと言って何度も同じ内容を送ったり、催促の内容を送ったりするのはおすすめできないっす!

投稿者の方もいろいろあるっすからね!

相手の立場に立ってコメントしていくといっすよ!

勉強方法②本

本についての学習方法っすけど、僕はMQLプログラミングを学習していた時は本を全く使わなかったのであまりアドバイスができないっすけど書いておくっす!

本でのメリット

本でのメリットは独学のセクションでも話した内容とほぼかぶると思うっす!

1.時間の制約がない 2.場所の制約がない 3.好きな教材を勉強できる 4.低コストですむ

この4つだと思うっす!

ただし、3と4に関しては独学ほどメリットがなく好きな教材というのは本で記述されているセクションから選択しないといけなく、低コストには低コストっすけど本を買うお金は必要になってくるっす!

もしかしたら、図書館とかに行けば置いてある可能性があったりMQLを勉強している友達とかがいれば借りて勉強するのもありだと思うっす!

僕の見解としては、本で勉強するなら借りるより買って本がぼろぼろになるまで何度も読むことをおすすめするっす!

本でのデメリット

本でのデメリットも独学とほぼ同じになるかと思うっす!

1.挫折しやすい 2.多少なりお金がかかる 3.勉強の時間がかかる 4.不明な点を質問できない 5.参考書が少ない 6.モチベーションの維持が難しい

少し調べてみたっすけどMQLの本は思ったほど多くなく選択肢が限られてるっす!挫折する人の原因の多くが4・5が原因で挫折する人が多発してる気がするっす!

勉強方法③プログラミングスクール

僕もプログラミングスクールに通っている立場からこちらに関しては多少アドバイスができると思うっす!

プログラミングスクールでのメリット

やはり一番のメリットがこれかと思うっす!

挫折しにくい!!!

スクールでは講師や受講生がいるため、一人で学習してるという意識が少なくなり周りも頑張ってるから自分もがんばらなくてはという気持ちになり挫折しにくくなります

挫折しにくい要因として考えられるものは以下の通りっす

もう一つのメリットが習慣化しやすくなるというメリットがあるっす!人のほとんどの行動が習慣的に行われていると言われてるっす!なら、MQLプログラミングの学習も習慣化したほうが強くないっすか?!

習慣化のメソッドの一つに人と会う約束をすると習慣化しやすくなるというものがあるっす!つまり人と会うという制約を作るということっすね!もしすっぽかしたら人としてどうなんだろうという気持ちを利用する感じっす!

高いお金を払うことで逆に元を取ろうと一生懸命に勉強するっす!

講師がいるからわからないところは早く聞けてレスポンスも早い為、すぐに身に着けることができる!

まとめるとこんな感じになるっす!

1.挫折しにくい 2.習慣化しやすい 3.払った分の元を取ろうとする 4.レスポンスが早い 5.身につく速度がはやい

プログラミングスクールでのデメリット

スクールのネックな点としては金額が大なり小なりかかるというのが一番のネックになると思うっす!

次に時間や場所に制約があることっす!講義を行うようなスクールでは講義の時間にその場所に行かなければならない為、予定を割かなくてはいけないっす!

スクールによっては当たりはずれがある

ここからは個人の問題になってしまうかもしれないっすけど、スクールに通ってるだけで安心感を得てしまい学習してると勘違いしてしまいがちになってしまう。

勉強方法④その他

他にも学習方法はいろいろあるっすけど、簡単に書いていくっす!

1.学習サイトを利用する 2.商材を購入する 3.コードから学習する

などっす!

学習するに関してはUdemyなどの学習サイトを使えばいいと思うっす

商材も金額の幅が大きく安いものから高いものまであるっす!

ある程度、学習が進んできたら、インターネットにあるサンプルコードなどを読み解いてまねていくのもありだと思うっす!

僕的に一番おすすめはやはりプログラミングスクールに通うことっす!

お金はかかってしまうっすけど、挫折さえしなければ簡単なインジケータを作れるようになるまでの時間は最短で効率よく作れると思うっす!

せっかくなので僕が通っているスクールの方を簡単に説明するっす!

現在通わせてもらってるスクールはキャンドルマツさんがやっている

Programming master school

というところっす!

主観で申し訳ないっすけどこちらのスクールに通って僕が感じたことを赤裸々に書いていくっす!

まず、インターネット上で行っている為、時間と場所の制約が少ない!

分からない箇所があればすぐに講師に質問ができる点もいい点っすね!

そして、何より驚いたことは

受講生・講師共にレベルが高いことっす!

そのおかげで他の受講生に負けていられないという気持ちになりモチベーションが非常に高くなるっす!

皆が気になっているのはあとはお金がどのくらいかということじゃないっすか?

結論から言うと費用対効果がとても高いと感じたっす!ほかのスクールはここまで安くないのでは?!と思うほどだったっす!

月額、15,000円のスクールは少ないと思うっす!

Programming master school分割払い *月/15,000円を12回払いで180,000円

また、一括だとさらに安くて149,000円になるため月額12,500円弱で受けられることになるっす!

Programming master school 一括払い*149,000円

まぁ、でもこれは僕の個人的な見解なので、自分にあった勉強方法で取り組むのがいいとおもうっす!

では、前置きが長くなってしまったっすけど、例をあげてやり方を紹介していくっす!

MQLプログラミング実践

今回は単純移動平均線のゴールデンクロスの時にロングエントリーとデッドクロスで決済するEAを作るという前提で話を進めるっす!

まずは構成する要素を考えるっす!要は必要な部品を集めるっす!

今回は「短期の単純移動平均線」と「長期の単純移動平均線」が必要になるっす!

※単純移動平均線の説明は今後ブログ記事にして説明する予定です。

あとEAを作るにあたり忘れてはいけないものがエントリー(仕掛け)とイグジット(決済)っす!

僕の場合はブロックごとにプログラムを書き完成したらデバグをして想定通りに動いていたら次のブロックのプログラムを書きデバクをするこの作業を繰り返して続けていくっす!

これよりプログラムを記述していきますが、コードの詳細な解説は今回しません。

僕のコードの書き方はロジックの一番内側から書いて行きます。慣れてきたら枝からも書ける様になります。

エントリーのブロックを作成

 条件なしで成行注文するプログラムを作成

では、実際に上記のコードを書いた場合どのように動作するかストラテジーテスターを使って確認します。

このコードでは値段が動く度にエントリーするというコードになるので、まずは保有ポジションは最大で1つというコードに変更してみます。

では実行してみましょう。

エントリーした回数は一回になりました。

エントリーしたらすぐに決済するプログラムを作成

こちらでエントリーしたらすぐに決済するコードが完成しました。

エントリーロジックの条件を追加

今回はゴールデンクロスになったらエントリー

先にゴールデンクロスクロスについて要素を分解していきます。

【ゴールデンクロスとは?】

  ①一本前の短期線の値が長期線の値より下にある

  ②今回のロウソク足が確定した時点で長期線の上に短期線がある

今のコードのままだとエントリーしたらすぐに決済しまたすぐにエントリーしてしまうの決済ロジックをコメントアウトして使用不可にし、ゴールデンクロスの時にエントリーしているか確認します。

無事にゴールデンクロスの時にエントリーするロジックになりました。

決済する為のロジックを追加

デッドクロスで保有中のポジションを決済します。

ゴールデンクロス同様にデッドクロスの要素を分解してみましょう。

【デッドクロスとは?】

  ①一本前の短期線の値が長期線の値より上にある

  ②今回のロウソク足が確定した時点で長期線の下に短期線がある

これでゴールデンクロスの時にエントリーし、デッドクロスになったら決済するコードが完成しました。

どうだったっすか?

僕がプログラムを組む時はこんな感じでいつもやってるっす!一度にプログラムを組もうとすると大変っすけど、要素に区切って組むと以外に簡単だったりするっす!

まとめ

まずはMQLとは何かについて説明したっす。みんな覚えてるっすか?

そう、MT4で使うプログラム言語だったっすよね!

MQLプログラミングに必要なものはここでは主に必要なものしかあげないっすけど「MetaTrader4」「証券会社口座」だったっすね

次にMQLを身につけるとオリジナルの自動売買システムの作成だったりオリジナルインジケータを作れるという説明をしたっす!その後に僕がプログラムをする時の説明をしたっす、ここで重要だったことが「明言化」と「要素の分解」だったすね!

上記で上げた「明言化」と「要素の分解」は今後何度も出てくると思うので絶対にわすれないでほしいっす!

最後にここまで読んでくれてありがとうっす!

今回は初投稿ということもあってMQLプログラミングを全く知らない人向けに記事を書いていったっす!読みにくい箇所が多かった思うけど今後も投稿してより良くしていくつもりっすので、気が向いた時に読みに来てほしいっす。

それでは次回もお楽しみに♪♪♪

っと忘れていたっす!最後に次回何をするかについて説明してなかったっす!

次回は証券会社の開設からMetaTrader4のインストールまで行う予定っす!

順序立ててブログの記事を更新していくつもりなので本格的なプログラミングはもう少し待ってほしいっす。

【公式】LINE@

公式ラインを作成したので友達登録していただければお得な情報やプレゼント情報などをお送りいたします。

また、インジケータをご希望の方はチャットより「プレゼント希望」と送ってください。

※返答AIで対応していただいていますので「」や他の文言を入れてしまうとちゃんと動作しない可能性があるので注意してください。

おすすめの記事