窓埋めEA SundayTraderの不具合対応とMT4 Build700以降のMarketInfo関数仕様変更について
SundayTraderの不具合
MT4をBuild700以降でSundayTraderの通貨ペア設定を(一箇所でも)空欄にすると、不具合が発生するという報告がありましたので、調査してみました。
問題点
MarketInfo(””, MODE_TRADEALLOWED);
このように通貨ペアが入る箇所に””を渡すと、これまでは0が返ってきていた戻り値が1になります。
MarketInfo(”A”, MODE_TRADEALLOWED);
存在しない通貨ペアを指定した場合は、これまでどおり0が返ります。
MarketInfo(“”, MODE_SPREAD)
スプレッド取得(MODE_SPREAD)でも同様に、””を渡すと何かの値を取得します…(´~`;)
これ仕様変更・・・?バグにしかみえないんですけど・・・(困惑)
修正
通貨ペアが空文字の場合にはトレードしないように修正しました。
【修正例】
if ( MarketInfo(Pair_1, MODE_TRADEALLOWED)!=0 && !IsTesting() && Pair_1 != “”)
※太字部分を追加(Pair_2~7も同様に追加、Spread表示のロジックにも同様に追加)
修正したファイルは以下のリンク先からダウンロードできます。
謝辞
sin 様
ご報告ありがとうございました。
近々、ブローカー移行のためMT4を入れ替える予定でした。入れ替えが完了して、本稼動開始してから気がついていたら大惨事になった可能性もあります;;
コメントにて返信もしておりますが、ソースコードを入れ替えてコンパイルしなおしてくてください。
※僕はMT4 Build745で確認しました。
最後に
SundayTraderを(試験稼動も含めて)1年以上稼動させてきましたがコンスタントに稼いでくれる、なかなか優秀なEAです。
実はあまり広めるつもりがなかったので、SundayTraderの記事は記載しない予定でしたが・・・もう一度、稼動結果をまとめて記事にしようかなと思っています。
興味深く拝見させていただいてます。
情報の公開ありがとうございます。
提供いただいた『SundayTrader』がMT4の
テスターで発注しません…。助けてください、、、
(特段エラーは出てません。。デフォルト設定です)
他のEAでは問題なくテストできているので、
パラメータの問題なのかと思っていますが、
どのパラメータに問題がありそうか、心当たりは
ありますでしょうか。
(OANDAのMT4を使っています)
2016.01.22 07:43:57.086 2015.06.27 00:00 SundayTrader_Rev4 inputs: MoneyManagement=1; Risk=2.5; FixedLots=0.1; MaxSpread=5; Slippage=3; Fixed_TP=0; TP_Pips=25; TP_Percent_of_Gap=80; TP_1_Percent_of_Lot=50; Use_TP_2=0; TP_2_Pips=75; TP_2_Percent_of_Gap=150; Use_SL_Percent=1; SL_Percent_of_Gap=100; SL_Pips=50; Add_Spread_to_SL=1; BreakEven=25; BreakEven_Buffer=5; Min_Gap_Size=7; Max_Gap_Size=80; Trade_Direction_of_Gap=0; Trade_All_Gaps=0; Pyramiding=0; Pyramid_Risk=1; Max_Levels=2; Use_Pyramid_Gap_Percent=1; Percent_per_Level=20;