閉じる
  1. FXトレーダーにも便利なマネーフォワード
  2. 武藤嘉紀のスポンサー! LAND-FXを使ってみる
  3. ストップレベル、気にしてますか?
  4. 初のcBot作成と個人的に躓いた点
  5. docomo解約して格安SIMのmineoに移行したぜ!
  6. オリジナルEA開発に着手
  7. Genesis Traderのスキャルロジックを最適化!
  8. 2015年度好調なEAその1:3BTS
  9. 2016年2月第5週~3月第1週の運用成績
  10. 試用版EAの配布を始めてみる
閉じる
閉じる
  1. ホワイトフェニックス
  2. 順張りと逆張りのポジション保有時間
  3. 順張りと逆張りの損益分布
  4. FFCalのサマータイム認識
  5. まだまだ使える!カコテンiIchimoku AUDJPYのチューニング…
  6. ABLENETが速い! VPS上のMT4のレイテンシを比較
  7. 自作EAにニュースフィルターを実装
  8. Genesis Traderの運用を再開
  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. 【宣伝】オリジナルEA第1弾出品中!

  3. Swallow試用版を用意しました

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

  5. オリジナルEAをリアル口座でテストしてみる

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

おすすめ記事

  1. ABLENETが速い! VPS上のMT4のレイテンシを比較
  2. 逆相関ロジックによるポートフォリオの重要性
  3. 初のcBot作成と個人的に躓いた点
  4. cTraderでの自動売買に挑戦
  5. Swallowタイアップキャンペーンと裏話

コメント

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

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

CAPTCHA


SNS

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

Facebook、Twitterもやってます!



follow us in feedly

サイト内検索

スポンサードリンク

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