さて前回は、 「旧SmoothMADIシステム 」の「ウォークフォワード分析 」結果を纏めようとしたところ、設定ミスがあり再スキャン中でForexTester2が使えないので、MetaTrader4(以下MT4)によるEA開発を進めるべく、FX業者を仮決めしたところまで話しました。
今回は、さっそく「旧SmoothMADIシステム 」のMT4EA化に向けて、「SmoothMADI 」「SmoothMABand 」というMT4で2つの独自インジケータを作っている様子を書いてみたいと思います。
さて、MT4をインストールして、過去データをたくさん取り込みたかったが、前回仮決めしたC社は、過去データが少ないところらしい。
でも、よくよく考えてみると、トレード手法という意味では、ForexTester2で検証すればいいので、過去データ取得に労力をかけることはやめることに。
なので、さっそくMQL4なるMT4のインジケータやEAを開発する為の言語を勉強せねば!
といっても、過去使い倒したC言語と似ているという事もあるので、ForexTester2よりかは構文的には結構楽。
とはいいつつも、相変わらずヘルプは英語だし、MQL4が故のクセも知りたいので、MT4関連書籍2冊を購入。
「FXメタトレーダー入門」 2,940円
「FXメタトレーダー実践プログラミング」 2,940円
累積していく購入書籍代と新規購入したPC代、
元が取れる日が来るのだろうか。。。
さっそくインストールにあたって本を読むと、我がPCのOSであるWindows7(書籍ではVista以上と書かれていた)だと注意点が!!
#実はそもそもMT4自体がWindows7を正式サポートしてないっぽい。。
インストールするときは、デフォルトのインストール先ではなく、”C:\Users\[ユーザ名]\”の配下にMT4をインストールしなきゃいけないらしい(セキュリティ制御の関係らしい)。
そして、MT4からMQL4プログラミングをする画面を起動。
そして、新規作成で表示されるウィザードに従って、テンプレートが完成。
そしてパコパコと、プログラミングを進めていると。
落ちた。。。
直前に保存してあったソースでプログラミング再開。
落ちた。。。
どうも、文字列をCtrl+Cでコピーしたとき落ちるっぽい。
そしたら、マウスの右クリックのメニューから文字列コピーしたらどうなる?
落ちた。。。
Windows7/64bitが原因かなぁなんて事をTwitterでつぶやいていると、またしても神の手が!!
IMEの設定がよくないみたい。
#確かに本にも書いてあった。。。
つまり、「Micro Office IME 2010」だとダメみたいで、
「Microsoft IME」への変更が必要とのこと。
購入した本に書いてある事。
ちゃんと読めよ
その後は、わりとサクサクとプログラミングが進んで無事独自インジケータ2つとも完成!
でも2点程、ForexTester2と構造が異なる事が。
それは、ForexTester2で独自インジケータを作る場合、バーが進む毎にコールバックされる関数に、インデックスが引数指定されてくるが、MT4にはそのインデックスが無い!
そこで登場するのが、「IndicatorCounted()」なる関数で、過去変化しなかったバーの数が返却される。これと、Barsを組み合わせて自分でループ処理を書かなければいけないって所。
もうひとつは、チャート上非表示にしたい途中計算用のバッファを作るときの構造。MQL4の通常のバッファ準備方法ではダメで、別途ForexTester2みたく、バッファを作成するAPIの呼び出しが必要な点。
あとは言語は異なるものの、考え方はほぼ同じ。
そして、楽勝!なぁんて思いながら「FXシステムトレード初心者奮闘記」は、MT4のEA開発へと進むのでした。これが思った以上に難敵とも知らずに。
#いつも助けていただいている方、ありがとうございます!
#まだ「ウォークフォワード分析 」のスキャン、4/5実行中。
0 件のコメント:
コメントを投稿