閉じる
  1. 誠に遺憾ながら。S.E.L EURCAD稼働停止
  2. 気になるEA:CycleTrapScalPro_EURUSD
  3. 武藤嘉紀のスポンサー! LAND-FXを使ってみる
  4. Sunflowerの大幅アップデート
  5. 期待利得を見ればEAのスプレッド耐性がわかる
  6. 試用版EAの配布を始めてみる
  7. 指値決済による累積ポジティブスリッページの分析
  8. ゴゴジャンの中の人に初めて会った話
  9. ビットコイン取引! bitFlyerの口座を開設しました。
  10. docomo解約して格安SIMのmineoに移行したぜ!
閉じる
閉じる
  1. 儲かるなら売らない?
  2. 新Sunflowerを出品しました
  3. 機械学習のお勉強
  4. EAはどこに出品すべきか
  5. Swallowアップデートしました
  6. Swallowのバージョンアップ検討②
  7. Sunflowerの大幅アップデート
  8. 出品EAの今後の処遇
  9. 指値決済による累積ポジティブスリッページの分析
  10. 2018年始も好調継続中
閉じる

あっきー 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. Swallow試用版を用意しました

  3. Swallowアップデートしました

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

  5. ブレイクアウトEAの原型完成

  6. 逆相関ロジックによるポートフォリオの重要性

おすすめ記事

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

コメント

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

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

CAPTCHA


SNS

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

Facebook、Twitterもやってます!



follow us in feedly

サイト内検索

スポンサードリンク

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