閉じる
  1. Sunflowerの大幅アップデート
  2. 2016年末にあたり思うこと:EA選定基準など①
  3. 逆相関ロジックによるポートフォリオの重要性
  4. 気になるEA:CycleTrapScalPro_EURUSD
  5. Genesis Traderのスキャルロジックを最適化!
  6. docomo解約して格安SIMのmineoに移行したぜ!
  7. 紙一重の差?生き残ったマーチン
  8. そのEA、スプレッド耐性ある?
  9. Titan FX Blade口座のスプレッドはどれくらい狭い?
  10. ストップレベル、気にしてますか?
閉じる
閉じる
  1. Swallowアップデートしました
  2. Swallowのバージョンアップ検討②
  3. Sunflowerの大幅アップデート
  4. 出品EAの今後の処遇
  5. 指値決済による累積ポジティブスリッページの分析
  6. 2018年始も好調継続中
  7. Swallow 低ボラ回避のバージョンアップ
  8. Swallowのバージョンアップ検討
  9. ホワイトフェニックス
  10. 順張りと逆張りのポジション保有時間
閉じる

あっきー 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第2弾出品開始

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

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

  4. Swallowのポジション保有時間に関するコード修正

  5. 試用版EAの配布を始めてみる

  6. 【宣伝】オリジナルEA第1弾出品中!

おすすめ記事

  1. Sunflowerの大幅アップデート
  2. 指値決済による累積ポジティブスリッページの分析
  3. ABLENETが速い! VPS上のMT4のレイテンシを比較
  4. 逆相関ロジックによるポートフォリオの重要性
  5. 初のcBot作成と個人的に躓いた点

コメント

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

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

CAPTCHA


SNS

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

Facebook、Twitterもやってます!



follow us in feedly

サイト内検索

スポンサードリンク

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