今日はSundayTraderのソースコードをみながら問題点を確認していきます。
SundayTraderについては、前回の紹介記事をご覧ください。
SundayTraderについては、前回の紹介記事をご覧ください。
まず、このEAの変わっているところは「自動的に7つのペアに対してトレードする」ところです。
どのチャートにEAを設定するか?は無関係です。
どのチャートにEAを設定するか?は無関係です。
知らずに複数チャートに設定するとフリーズするなど、不具合が起きるので必ず1つだけ設定しましょう。
バックテストのときには指定した通貨ペアを使うが、そうでなければパラメータで指定されている通貨ペアを使うことになってたぜ。
動いてほしくない通貨ペアはパラメータを空にしてやればいいんじゃないかな。
※通貨ペアはPairs UsedのPair_1~Pair_7で設定
問題点の確認
では、前回のバックテストで発見された「2005年~2009年頃のテスト結果が良くない」という問題について調査していきましょう。
バックテストを見た感じでは、トレンドを無視しているんじゃないかって気がするぜ。
強いトレンドに逆らってトレードして負けてるんじゃないか?
明らかにLong(買い)とShort(売り)の勝率に偏りがあったり、サブプライム問題のあった2007~2008年頃に急激に悪化していたり・・・というのが確認できたからね。
他にも何かあるかもしれないから、まずはソースコードを見ていこう。
//スプレッドチェック if (MaxSpread>MarketInfo(Symb, MODE_SPREAD)/PipValue[Numb]) { //トレーリングストップ if (Pyramiding) Pyr_Trail(); else Trail(); //週明けか if ( !Trade_All_Gaps && (DayOfWeek()!=1 && DayOfWeek()!=0) ) return; if (New_Candle() && !Pyramiding) //窓の大きさが範囲内か if (Gap_Size()>=Min_Gap_Size && Gap_Size()<=Max_Gap_Size) OpenOrd();//発注
仕掛けは非常にシンプル。週明けの窓が指定した大きさの範囲内であれば仕掛ける。以上!
Trade_All_Gapsをtrueにすると、曜日に関係なく窓が開いたら仕掛ける模様。(デフォルトはfalse)
仕掛けよりも手仕舞いの方に力を入れている印象だね。
トレーリングストップはいくつか種類があるようだし、ブレイクイーブンの設定もある。
トレーリングストップはいくつか種類があるようだし、ブレイクイーブンの設定もある。
予想通り、トレンドを判断するロジックはなかったわけだ。
入れたらよくなるのか・・・?ちょっと試してみようか。
入れたらよくなるのか・・・?ちょっと試してみようか。
だね。やってみる価値はありそうだ。
というわけで次回はトレンド方向を確認するフィルターの実装を試みてみます。
ばいにゃーん。(あれ?出番少ない・・・)
コメント