閉じる
  1. ブレイクアウトEAの原型完成
  2. ABLENETが速い! VPS上のMT4のレイテンシを比較
  3. 2015年度好調なEAその2:2Guns
  4. ビットコイン取引! bitFlyerの口座を開設しました。
  5. Sunflowerの大幅アップデート
  6. 試用版EAの配布を始めてみる
  7. 気になるEA:CycleTrapScalPro_EURUSD
  8. 逆相関ロジックによるポートフォリオの重要性
  9. 2015年9月の運用成績
  10. 1月4日、2016年始動!
閉じる
閉じる
  1. EA-BANKで11月首位獲得!
  2. EA-BANKでの提供開始!
  3. 儲かるなら売らない?
  4. 新Sunflowerを出品しました
  5. 機械学習のお勉強
  6. EAはどこに出品すべきか
  7. Swallowアップデートしました
  8. Swallowのバージョンアップ検討②
  9. Sunflowerの大幅アップデート
  10. 出品EAの今後の処遇
閉じる

あっきー 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第1弾出品中!

  2. EA-BANKでの提供開始!

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

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

  5. 【宣伝】自作EA第2弾出品開始

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

おすすめ記事

  1. EA-BANKでの提供開始!
  2. 新Sunflowerを出品しました
  3. EAはどこに出品すべきか
  4. Sunflowerの大幅アップデート
  5. 指値決済による累積ポジティブスリッページの分析

コメント

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

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

CAPTCHA


Twitter

サイト内検索

販売中オリジナルEA

スポンサードリンク

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