File 015 『FXメタトレーダー実践プログラミング 高機能システムトレードソフト超活用術』
著者の豊嶋久道 さん にお聞きしました。
|
Q. システムトレードの勉強に大変参考にさせて頂いています。『入門編』の108ページでも紹介されている「カスタム指標の平滑化とその活用」についてです。
『入門編』の「Ex8.mq4」を参考に、RSIをiMAOnArray()を使ってチャート化しました。そして、次にiRSI()とiMAOnArray()を組み合わせ、iMAOnArray()の値によるシグナル発生のEAを作成してみました。コンパイルしてもエラーは出ないのですが、ストラテジーテスターでバックテストをすると1回も売買が行われません。どこかにコードのエラーがあると思いますが分かりません。
このようにiMAOnArray()など組み込み指標関数を組み合わせてEAを作成する場合、コードはどのように書けばいいのでしょうか。
A. ほかのプログラミング言語でも同じですが、「コンパイルではエラーが出ないけど、実行してもうまく動かない」という場合がよくあります。プログラムの間違いを見つけにくいパターンのひとつです。
こういう場合は、プログラムを分解して考えてみましょう。つまり、テクニカル指標の平滑化の部分はカスタム指標プログラムに、それを使った売買ルールはエキスパートプログラムに、と役割を分けてあげるのです。
例えば、iRSI()とiMAOnArray()を組み合わせた指標を使うのであれば、まず、その指標をカスタム指標プログラムとして作成します。
そして、エキスパートプログラムの中で、その指標プログラムをiCustom()という関数で呼び出して使う、という方法を取ることをお勧めします。
iCustom()の使い方は『実践編』に解説がありますので、そちらを参考にしてみてください。
Q. メタトレーダーでは、ユーザーが設定した売買プログラムの内容が、FX業者に筒抜けになる、だから利益を上げられる売買プログラムが販売されたとしても、すぐに使えなくなると聞いたことがありますが、本当でしょうか。
A. メタトレーダー上で売買プログラムを動かしていたとしても、それだけでFX業者にそのプログラムの具体的な売買ロジックが知られるということはありません。また売買プログラムの内容がFX業者に知られたからといって、それで売買システムが使えなくなるとういうことはまずないと思います。あったとすれば、それは悪質な業者でしょう。
売買システムがすぐに使えなくなるというのは、そのシステムがカーブフィッティング(過剰最適化)で過去のチャートだけで利益が出るように作られていた可能性があります。そうでないとしても、永久に機能し続ける売買システムもあり得ないので、相場の性質が変わったために機能しなくなったということも考えられます。
相場の世界というのは、後付けでどんな解釈もできるので、システムトレードに関してもいろいろな噂が飛び交うのだと思います。
Q. メタトレーダーの情報最新情報を入手するには、外国のどのサイトを見ればいいのでしょうか?
A. メタトレーダーのオフィシャルな情報であれば、MetaQuotes社のサイト でしょうね。
同じくMetaQuotes社の MQL4のコミュニティ もメタトレーダーの開発者に近い人の話が聞けるので、参考になるかと思います。
その他にもForex Tsdというメタトレーダーのフォーラム(http://www.forex-tsd.com)も、さまざまな売買システムの話題が議論されているのでおすすめです。ただ、非常にたくさんのテーマが並行して議論されているので、欲しい情報を探すのも一苦労です。
意外にこれらのサイトからの情報を引用して紹介してくれている日本語のブログのほうが、必要な情報を見つけやすいかもしれません。Googleなどの検索サイトを利用すれば、有益な情報を提供してくれるサイトが見つかると思います。
Q. ありがとうございました。