閉じる
  1. そのEA、スプレッド耐性ある?
  2. Sunflowerの大幅アップデート
  3. 転んでも ただでは起きんぞ こうなれば
  4. Swallowタイアップキャンペーンと裏話
  5. 気になるEA:CycleTrapScalPro_EURUSD
  6. FXトレーダーにも便利なマネーフォワード
  7. シロクマさんEA復活傾向か?
  8. ビットコイン取引! bitFlyerの口座を開設しました。
  9. 1月4日、2016年始動!
  10. 指値決済による累積ポジティブスリッページの分析
閉じる
閉じる
  1. 機械学習のお勉強
  2. EAはどこに出品すべきか
  3. Swallowアップデートしました
  4. Swallowのバージョンアップ検討②
  5. Sunflowerの大幅アップデート
  6. 出品EAの今後の処遇
  7. 指値決済による累積ポジティブスリッページの分析
  8. 2018年始も好調継続中
  9. Swallow 低ボラ回避のバージョンアップ
  10. Swallowのバージョンアップ検討
閉じる

あっきー and Company

一定時間経過での手仕舞い

fx-onに出品させていただいているSwallowにはポジションをとってから一定時間(デフォルトでは36時間)経過した際にポジションを強制決済する機能を付けています。

最後のポジション取得から36時間、ということなので、両建て状態(売り買い1つずつのポジション)になった時は、1つ目のポジション取得から強制決済までの時間は最長71時間になります。

(つまり、例えば買いポジションを取って35時間経過した後に売りのシグナルが出て売りポジションを持った場合、時間のカウントはリセットされ、強制決済の時間は売りポジションを持ってから36時間になるということ)

プログラム的にはポジション取得時間をdatetime型で記録しておいて、その時間から36時間経過したら強制決済ということにしていたのですが…

フォワードテストで走らせているとある問題に直面。

それは、ポジションが週末持ち越し状態になると当然、月曜マーケットオープン時には金曜マーケットクローズ時から36時間以上経過しているわけなので、週明けで市場が開いた瞬間に持ち越しポジションが決済されてしまうということです。

気づいてみれば当たり前なのですが、気づかないままリリースしてしまっていました(~_~;)

そういうロジックなんだと思えばそれはそれでいいのかもしれませんが、マーケットオープンの瞬間はスプレッドが開いてトレード的には不利な状態になっていますし、元々意図していた挙動ではないのでまあ直した方がいいよねという話で。

行き過ぎからの戻りを狙うスイングEA
Swallow | fx-on.com

 

これを解決するにはどうしたらいいんだろうと思い、MQL4プログラミングのバイブル、FXメタトレーダー実践プログラミングを読んでみるとドンピシャのプログラム例を発見。

iBarShift関数を使って「バーがエントリー時から一定本数更新されたところで決済」とすればいいということらしい。

確かにこうすれば週末はバーの更新はありませんので、バーが36本更新されたら強制決済ということにすれば、マーケットが開いている間で36時間経ったら決済ということにでき、週明けでいきなりポジションが決済されてしまうという現象は防げますね。

それで早速プログラミングしてみたのですが…今度はバックテストしてみるとドローダウンが3割くらい大きくなるという問題に直面。

週末持ち越しするようにしてロジックが変わったんだから当たり前じゃね?と思われるかもしれませんが、試行錯誤する中で週末クローズ機能を付けてみても同じ結果になるんですよ。

つまり、「ポジション取得から36時間経ったら強制決済」と「週末23時に強制決済」というロジックは同じで、時間の経過をポジション取得からの秒数で判断するかバーの本数で判断するかというだけの違いなのですが、なぜかドローダウンが違うという状況。

損益は大体同じなんですけどね。

いろいろ原因を調べてはみたのですが、プログラムに間違いはなさそうだし、含み損益でドローダウンが大きく出ているわけでもなさそうだし…

Quant Analyzerを使ってポジションの保有時間を調べてみると確かにちょこちょこ違う点は見られるのですが、細かすぎて明確な違いを特定するには至らず。

どうしてなんだろうな~。

とりあえず週末決済する限りには元々の問題であった週明け決済という問題は回避できるので、プログラムとしては時間の経過は元と同じくポジション取得からの秒数で判断することにして、週末決済機能を付けることで落ち着きはしたのですが、原因がわからずどうもしっくりきません。

祝日での休場とか、そういうのが関係している可能性もあるんだろうか。

もう少し考えてみようとは思いますが、プログラミングは難しいですな(^_^;)

関連記事

  1. 他通貨ペア価格を参照しながらのバックテスト

  2. ボリンジャーバンドのクロスで売買するEA

  3. ブレイクアウトEAの開発進捗

  4. オリジナルEAの初取引

  5. 出来の悪いEAほど可愛くなる魔法

  6. Swallow 低ボラ回避のバージョンアップ

おすすめ記事

  1. EAはどこに出品すべきか
  2. Sunflowerの大幅アップデート
  3. 指値決済による累積ポジティブスリッページの分析
  4. ABLENETが速い! VPS上のMT4のレイテンシを比較
  5. 逆相関ロジックによるポートフォリオの重要性

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


SNS

記事の更新情報はこちらから。

Facebook、Twitterもやってます!



follow us in feedly

サイト内検索

スポンサードリンク

bitFlyer ビットコインを始めるなら安心・安全な取引所で
ページ上部へ戻る