閉じる
  1. オリジナルEA開発に着手
  2. EA-BANKでの提供開始!
  3. ブレイクアウトEAの原型完成
  4. cTraderでの自動売買に挑戦
  5. Swallowがfx-on収益率ランキング2位!
  6. セット販売とタイアップのお知らせ
  7. 2015年9月の運用成績
  8. 2015年度好調なEAその1:3BTS
  9. シロクマさんEA復活傾向か?
  10. 大きな期待を寄せて、BandCross3を再稼働
閉じる
閉じる
  1. 言い訳をさせてくれ
  2. 魔改造Ku-chart
  3. お名前.com FX VPSのレイテンシー計測
  4. EA-1グランプリ参加
  5. 全力アフィ記事
  6. 緋焔 販売開始!
  7. 絶望的に低ボラなドル円相場
  8. セット販売とタイアップのお知らせ
  9. EA-BANKで11月首位獲得!
  10. EA-BANKでの提供開始!
閉じる

あっきー 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. Swallow 低ボラ回避のバージョンアップ

  2. セット販売とタイアップのお知らせ

  3. 人気のスイングEAにヒントを得た新EA

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

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

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

おすすめ記事

  1. お名前.com FX VPSのレイテンシー計測
  2. 緋焔 販売開始!
  3. セット販売とタイアップのお知らせ
  4. EA-BANKでの提供開始!
  5. 新Sunflowerを出品しました

コメント

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

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

CAPTCHA


Twitter

サイト内検索

販売中オリジナルEA

マネーアップ

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