トレード備忘録 & MT4/MT5インディケータ及びEAの開発

日々のトレード備忘録及びMT4/MT5に関する事項

MT4/MT5でEAやインジを作成するにはC言語の知識が必須?

2017-11-05 22:27:06 | 投資

 「FXメタトレーダー入門」及び「FXメタトレーダー実践プログラミング」の著者豊嶋久道先生(神奈川大工学部教授)のもとには、読者から様々な質問が届くそうである。その質問の中身から、多数の読者が初歩的なところで躓いていることを知り、いささかがっかりされている様子が氏のブログからうかがい知ることができる。その結果、「メタトレ採用の言語MQL4やMQL5を理解するには、C言語の基礎を勉強した方が良い」とブログ中で述べられている。しかし、コンピュータやソフトウエアには全くの素人であった私の経験から申し上げると、先生の結論は正しいとは思えないのである。 

 初学者にとって、先ず躓くのはfor文であり、次に条件分岐(if、while、switch)、そして配列といったところであろう。これをCやC++の教科書で勉強すれば簡単に習得できるかというとそれはとんでもない誤解であり、初学者にとっては苦痛以外の何物でもない。語学を勉強するために文法から学ぶことと同じであり、これでは外国語を話すという最終目的を達成することはほとんど不可能である。

 コンピュータの得意とする繰り返し処理(for文)を理解することだけで恥ずかしながら半年近くかかってしまった。なぜ途中で投げ出してしまわなかったかというと、それはFXが好きだったからの一言に尽きる。もし、FXに関する知識を究めたいという動機がなければ、CやC++もどきのMQL4やMQL5を学ぶ機会など永久になかったということができる。 

 最初は簡単なインジを作ってみた。内容はよく解っていないが、見様見真似やコピペの世界である。それでも自分の作ったインジやEAが作動してくれた時には、新鮮な喜びを味わうことができた。幼児が言葉を覚えるステップに似ている。最初は二言三言から、そして徐々に話せるようになっていくのと同じプロセスである。 

 著者は異なるが、「iCustomで変幻自在のメタトレーダー」という教本がある。手っ取り早くとにかく自動売買プログラム(EA)を作成したいというのであれば、こちらがお勧めである。テクニカル指標(インジ)で売り買いのシグナルを出すEAであれば、2週間もあれば誰でもそれなりのプログラムが書けてしまう。ほぼすべてのMT4インジに対応することができるから、これだけでトレードする人も多数いる。 

 ただし、この教本ではテクニカル指標の作成や複雑なEA作成はできない。例えば、決済にトレーリングストップを組み込みたいとか、価格をベースにしたEA(例えばトラリピEA)のプログラムを書くことには無理がある。しかし、MT4を学びたいという人にはモチベーションの維持には繋がる。次への意欲が生じたところで、豊嶋著二本に戻ればよいのである。 

 CやC++を先ず勉強すべきであるという考えには反対である。インジやEAを作成する過程そのものが、CやC++の基礎の習得になっている。事実、上記二書籍はC言語に触れたことのない読者を対象にされていて、「FXメタトレーダー入門」ではC言語の基礎に相当する部分をプログラム作成の実際を通じて詳細に説明されている。FXプログラムを離れたCの教本など、FXトレーダーたる初学者には読めたものではない。

 私自身の経験では、インジやEAがまあまあ作成できるようになった後、興味の赴くまま、放送大学の「ハードウエアの基礎」や「ソフトウエアの基礎」を録画放送で学んだ。テキストも市販されているので、放送大学に入学する必要はない。また、関数の仕組み、構造体、クラス機能等をよりよく知るために、CやC++の教本を取り寄せて読んでいる次第である。最初から独学でCやC++を始めることなど文科系出身者には夢のまた夢である。演繹と帰納という考え方があるが、私の頭は後者でないと受け付けない。天才であれば、別であろうが。

 豊嶋先生、先生のメタトレ入門や実践の方が、本格的なCやC++の教本よりよほどFXトレーダーにとっては理解しやすいのです。どうか引き続きお力をお貸しください。