閉じる
  1. シロクマさんEA復活傾向か?
  2. Nekoboo_Core2_Spec.Lを新規導入!
  3. そのEA、スプレッド耐性ある?
  4. 逆相関ロジックによるポートフォリオの重要性
  5. ゴゴジャンの中の人に初めて会った話
  6. 2016年2月第5週~3月第1週の運用成績
  7. 新Sunflowerを出品しました
  8. 1月4日、2016年始動!
  9. 気になるEA:CycleTrapScalPro_EURUSD
  10. 転んでも ただでは起きんぞ こうなれば
閉じる
閉じる
  1. 絶望的に低ボラなドル円相場
  2. セット販売とタイアップのお知らせ
  3. EA-BANKで11月首位獲得!
  4. EA-BANKでの提供開始!
  5. 儲かるなら売らない?
  6. 新Sunflowerを出品しました
  7. 機械学習のお勉強
  8. EAはどこに出品すべきか
  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. EA-BANKでの提供開始!

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

  3. オリジナルEA開発に着手

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

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

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

おすすめ記事

  1. セット販売とタイアップのお知らせ
  2. EA-BANKでの提供開始!
  3. 新Sunflowerを出品しました
  4. EAはどこに出品すべきか
  5. Sunflowerの大幅アップデート

コメント

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

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

CAPTCHA


Twitter

サイト内検索

スポンサードリンク

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