窓埋め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表示のロジックにも同様に追加)

修正したファイルは以下のリンク先からダウンロードできます。

週明けの窓を使ったEA SundayTrader まとめ

謝辞

sin 様

ご報告ありがとうございました。

近々、ブローカー移行のためMT4を入れ替える予定でした。入れ替えが完了して、本稼動開始してから気がついていたら大惨事になった可能性もあります;;

コメントにて返信もしておりますが、ソースコードを入れ替えてコンパイルしなおしてくてください。

※僕はMT4 Build745で確認しました。

最後に

SundayTraderを(試験稼動も含めて)1年以上稼動させてきましたがコンスタントに稼いでくれる、なかなか優秀なEAです。

実はあまり広めるつもりがなかったので、SundayTraderの記事は記載しない予定でしたが・・・もう一度、稼動結果をまとめて記事にしようかなと思っています。

コメント

  1. 尻引克和 より:

    興味深く拝見させていただいてます。
    情報の公開ありがとうございます。

    提供いただいた『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;

  2. emija より:

    コメントありがとうございます。
    思い当たる節があるとしたら・・・

    ・「DLLの使用を許可する」にチェックがついているかどうか
    ・Pair1~7に通貨ペアが入力されているか
    (入力されている通貨ペアのみ動作します)

    このあたりでしょうか。。。

    • 尻引克和 より:

      早速のご回答ありがとうございます!
      たびたび恐れ入ります。
      知っていたら教えてください。
      こちらのEAは、デフォルトではFXDD社のMT4でしか動作しないのでしょうか。(OANDA他、いくつかのMT4でテストしましたが、動作はするようです、発注しないようです。タイムゾーンの違いが原因!?)

      • emija より:

        いえ、業者による影響はないはずです。
        期間が短くて本当に発注していないとか・・・(週に1回、条件にあった場合のみ動作するので用意されているヒストリーデータが少ないと動かない可能性があります)

        あ、前回の回答でPair1~7に通貨ペアが入力されているか、と書きましたがちょっと誤りがありました。
        これは実際にデモやリアルで動かす場合の設定で、
        バックテストの場合はパラメーターは無視して、指定したペアでバックテストします。

        MaxSpreadの設定があるので、テストで使用するスプレッドが大きすぎても動かないです。
        思い当たる節はそのくらい・・・です。

  3. ttssmm より:

    はじめまして。
    窓埋めEAを探して流れ着いたものです。

    DLしてコンパイルしてみたところ、コンパイルでエラーが出てしまい、使えません(MT4は最新になっています)。
    すみません、対応のほうお願いいたします。

    • emija より:

      さきほどBuild 1090で試してみましたが、コンパイルエラーはでませんでした。(警告はでていますが)
      ex4が生成され、チャートに設置されるところまで確認しています。

      なお、当EAに関しましては当方で開発したものではなく、永続的なサポートを実施するものでもありません。
      予めご了承ください。

タイトルとURLをコピーしました