MetaTrader4のEAやインジケーターを開発する過程で得られた気づきやコツをブログで公開するに当たり、意識しているポイントを紹介します。
基本は、FXトレードをメインでやっている妻のオーダーや不便を解消するために作るコトが多いですが、たくさんの方にとって有益な情報となるよう3つのことを注意しています。
①想定読者を決める
どういう人を読者としてイメージするか?
プログラムの解説をすると決めたときに1番最初に考えたことです。開発スキルが高くて、プログラムをバリバリかける人は当然対象にはしませんでした。
こんなブログなんて読まなくても、どんどん自分でEAやインジケーターを作成できるでしょうからね。
逆にプログラムが全くわからない、超がつく初心者の方も対象外としました。本当に右も左もわからないという方への解説は、それこそ1行1行丁寧な説明が必要でいたずらにボリュームが増えてしまい、私の思う「ポイント」がボケてしまう気がしたからです。
結論として、MetaTraderの開発言語であるMQLの基本的な文法がわかる、EAやインジケーターの枠組みがある程度理解できる、という方を対象にしました。
これは、私がプログラミングを学び始めたときの原体験がベースにあります。
私が最初に学んだプログラミング言語は「C言語」でした。
Web開発やスマートフォンアプリの開発ではほとんどつかわれることはありませんが、今でも組み込み機器、OSのコアな部分の開発、デバイスドライバなどはC言語が使われることが多いと思います。言語仕様が若干古く、何でもできる反面、何でも自分でやらないといけないという玄人向け?のプログラミング言語です。
C言語を学び始めたころの私は、他の初学者もやったであろうことと同じ、初心者用の書籍やWebサイトを見ながらサンプルコードを入力して動かしてみるということを繰り返しました。
わからなくても何でも、プログラムを打ち込んで実行するをひたすら繰り返しました。(これを一般的に「写経」というらしく、プログラミング上達の近道らしいです)
その結果1ヶ月後くらいには、なんとなくの文法と他人の書いた簡単なソースコードがなんとなくわかるようになりました。
しかし、いざこういうことがやりたい!こんなアプリケーションを作りたいと思って、キーボードに向かうとさっぱり手が動かない・・・という状態におちいりました。 「わかる」と「できる」は違うと痛感した瞬間でした。
このような体験から「なんとなくプログラムはわかるけど、次にどうしたらいいかわからない」という方をターゲットに解説することにしました。
②解決への考え方を明確にする
EAやインジケーターが必要になる理由は様々だと思いますが、その根底には「○○したいけどできない・やりづらい」「もっと便利にしたい」という思いがあるはずです。
ボリンジャーバンドを使ったインジケーターの解説をした「【MT4インジケーター】ボリンジャーバンドσ間の値を表示」を例に説明したいと思います。
これは、妻の「相場のボラティリティが把握しづらい」という『問題』の解決として、「ボリンジャーバンドのσ間の値を取得する」という『課題』をゴールに設定し、「最新価格でのボリンジャーバンドのσ間の値をチャート上に表示するインジケーターを開発する」という『対策』を提示しました。
ですので、このエントリーの前半で「課題を解決するための考え方」を丁寧に説明したつもりです。
ブログを読んでいる方の中には、サンプルコードをコピーして動けばそれでいい、という考えの人もいると思います。しかし、それではネット上のどこにも落ちていない問題点にぶち当たったときに解決することができません。
もっとも大事なのは「問題を解決するときの考え方」を鍛えることだと思います。これを身につけておけば、多少プログラミング言語やMetaTraderの仕様が変わろうと太刀打ちができます。
③私自身も学べるものにする
最後はちょっと言い訳っぽくなってしまいますが、このブログは私がEAやインジケータの作成方法やコツを紹介しています。しかし、偉そうに解説している私も勉強しながら記事を書いています。
自分が理解している(つもりの)ことを文章にすることで、あやふやな部分が明確になったり新しい気づきがあります。
曖昧な理解でサンプルコードをコピペしてしまっていたところを、いざ説明しようとすると全然説明できなかったりすることもあります。「わかる」と「できる」は違う、さらには「教える」ことはもっと違うと痛感します。
記載内容に間違いがあった場合は遠慮無くご指摘いただきたいし、不明なところはどんどん質問していただければ幸いです。
可能な限り迅速に、修正・加筆・回答をしていきたいと思います。
試行錯誤でこれからもがんばっていきますので、ぜひ暖かく見守ってください。
コメント