MQL言語の”基礎”を固める方法を紹介するよ
MQLプログラミング言語の効率的な勉強方法を教えるよ!で、『遅延評価勉強法』(遅延評価学習法)について解説しました。
『遅延評価勉強法』(遅延評価学習法)とは、「まず実践しながら、そのときに必要な知識を、その都度学習する勉強法」です。言い換えれば、インプットとアウトプットを同時並行しておこなう学習スタイルといえます。
MQL言語を学ぶにあたって、『遅延評価勉強法』(遅延評価学習法)が最適なのですが、まったくの初心者がいきなり成果物(オリジナルインジケーターやEA)を作ろうとしても無理がありますよね。やはり、最低限の基礎知識を学んでおく必要があります。
そこで今回は、MQL言語の基礎を固める方法を紹介します。
【2024年5月版】優位性の高いFX商材 Best4
基礎を固めるならばソースコードの『写経』が最短ルートだ
MQLの基礎を固める方法、それは良質なソースコードの写経です。ソースコードとは、プログラミング言語で書かれたテキストのことです。そして写経とは、文字を書き写すことです。
プログラミング学習において、ソースコードを写経することは上達の早道と言われています。もちろん、MQL言語においても例外ではありません。
センスのある人(天才)ならば、専門書を読み解くだけで、スラスラとソースコードを書けるようになるのかもしれませんが、凡人の私たちには無理です。
まずは、ソースコードをひたすら写経すること。この繰り返しを経てプログラミングを基礎を固めていくことが、上達への最短ルートです。
写経の利点は”実際に手を動かすこと=アウトプット”にある
ソースコードの写経をおこなう最大のメリットは、実際に手を動かしてキーボードを使ってコードを入力していくことにあります。これって、つまりアウトプット作業ですよね。インプットしながらアウトプットを同時におこなうこと。実は写経も『遅延評価勉強法』(遅延評価学習法)のひとつなのです。
ただたんに参考書(専門書)を読み進める(インプット)という学習ではなく、実際に手を動かしながらアウトプットしていくわけです。この学習方法によって、プログラミング言語の理解度は飛躍的に高まります。
初心者「コードを書き写すだけでスキルアップする…?」
残念ながら、プログラミング初心者ほど、写経学習を軽視します。
こんな簡単な作業でスキルアップなんてするかな?
それよりもどんどん本を読んでいったほうがいいんじゃない?
もしくは何度も繰り返し本を読んだほうが理解が早いんじゃないかな…?
写経なんて面倒なことしなくて、コピペでいいよね?
実践した人にしかわからないことですが、ソースコードの写経によって得られることは非常にたくさんあるんですよね。
そもそも、ソースコードを書き写すこと(写経)って、簡単なようで実は難しいのです。わずか数行のコードを書き写すだけでも、一発で正しく書き写すことは至難の業だったりします。たった一文字のタイプミスでも、プログラムは動かなくなります。テキストは基本すべて英語なので、タイプミスは容易に起こりえます。
入力ミスがあれば、コンパイルしてもエラーを吐き出し、プログラムは動きません。エラーの箇所を探そうとしても簡単に見つからないケースも多いのです。
写経をはじめた最初のうちは、こんなことばかりのはず。どれだけ目を皿のようにしてミスを探しても見つからない…っていうこともザラです。rates_totalをrate_totalと書いてしまっていたり、セミコロンが一箇所抜けていたり、{を閉じていなかったり…わずか数行のソースコードの写経ですら、このざまです。数十行〜百数十行のソースコードになれば、もはやお手上げです。
プログラミングにおいてコンパイルエラーは日常茶飯事です。エラーはメッセージとしてアナウンス(ここがエラーですよ!)されます。そのエラーを正しく読み取り修正していくこと。この作業に慣れることも写経の目的の一つです。
MQLソースコードの意味を考えながら写経を繰り返す
- MQLコードを写経したら、その都度コンパイルする
- コンパイルエラーが出たら、どこが間違っているかをチェックする
- 間違いを修正する
- エラーがゼロになったらMetaTrader4チャートにて稼働させてみる
- 正しく稼働したら次のコードに進む
これら一連の作業を繰り返しおこなうことで、MQL言語の基礎を身につけていくことが可能になります。
ただ、やみくもにソースコードを書き写せば良いというわけでもありません。当たり前ですが、全てのコードには必ず意味があります。一つ一つのコードの意味を考えながら実践に即した感覚でソースコードを書いていく(書き写していく)必要があります。
写経は、野球でいうところのバットの素振りやトスバッティングと同じです。野球では、ひたすら反復練習することでバッティングの「勘」を身につけていきますよね。もちろんやみくもに素振りやトスバッティングしても上達はしません。仮想のピッチャーが投げてくるボールを想定し、それを打つ。タイミングをあわせてバットを振る。こうした意味のある素振りをおこなうことが重要ですよね。
ソースコードの写経も、数だけを目的にたんたんと書き写すのでは意味がありません。実際に自分がプログラミングをしている感覚で意味を考えながらソースコードを書いていく意識が求められます。
頭の中でざっくりとしたソースコードの構成が浮かぶようになる
意味を考えながらMQLコードを書き写す作業を反復することで、1回目の写経で気が付かなかったことに2回めで気が付いたり、この意味なんだっけ?と調べたくなったり、このコードとあのコードって書き方は違うけど同じことができるんだ!と腑に落ちたり…ここを少し変えてみたらどうなるんだろう?などと面白くなってくるのです。
写経を繰り返しているうちに、ちょっとカスタマイズしたくなったりもします。ラインの色を変えてみたり、教本にのっていないインジケーター(例えばMACDやRSIなど)を作ってみたくなります。
写経を繰り返すことで、多くの気付きが得られます。どんな複雑なコードも突き詰めればシンプルな文法によって構成されていることが理解できるのです
インジケーターとEAではプログラミングの構成が異なりますが、写経の反復によって各々のプログラム基本構成が自然と身につきます。EAもインジケーターも、いくつかの基本文法の集合体なのだと腑に落ちます。
写経によって大きな自信も得られます。最初は複雑難解だった呪文のようなソースコードが、いつのまにかスラスラと読み解くことができるようになるのです。
写経は、いわばプログラム勘を鍛えるための「素振り」のようなものなのですね。
次回、MQL言語を写経学習するための教材選びについて手順を解説します。