タートルトレーディング 3日間反転戦略


作成日: 2023-10-13 15:37:18 最終変更日: 2023-10-13 15:37:18
コピー: 0 クリック数: 867
1
フォロー
1621
フォロワー

概要

海取引の3日逆転戦略は,ラリー・コノスとセサール・アルベレスによる”高確率ETF取引“の3日平均回帰戦略の修正に基づいています. 本の著者は,高確率ETFの平均回帰戦略について議論し,その簡単なルールは:

  • 昨日の閉店価格が5日間の移動平均より低かったなら,今日買いなさい.
  • 今日閉店価格が5日間のSMAより高くなったら,今日売ります.

練習と反省によって,この戦略は,SMAではなくEMAを使ってトレンドラインを計算すると,より効果的であることがわかりました.

戦略原則

この戦略の仕組みは以下の通りです.

  • 購入の条件を満たしている場合,追加してください.
    • 閉盤価格は200日EMAより高い
    • 5日EMA以下で終了した
    • 今日最高値が昨日の最高値より低い
    • 今日最低価格は昨日の最低値より低い
    • 昨日の最高値が前日の最高値より低い
    • 昨日の最低価格は前日の最低値より低い.
    • 前日の最高値より低かった
    • 前日の最低値より低かった
  • EMAから外れた時,平仓

このうち,退出EMAはデフォルトで5日EMAで,長さを調整できます。

この戦略の主な考えは,短期反転効果を利用することです. 株価が連続した下落の後,弱くなると,短期反転が発生する可能性が高いのです. この戦略は,価格が3日連続で収縮し,短期平均線より低いかどうかを判断することによって,反転の機会があるかどうかを判断します.

優位分析

従来の移動均線交差策と比較して,この戦略は以下の利点があります.

  1. 3日連続の収縮判断の逆転の機会を利用して,取引信号の質を向上させました.

  2. 長短平均線フィルターと組み合わせて,トレンド市場での取引を避ける.

  3. EMAではなくSMAを用いたトレンドラインの計算は,より敏感で,反転を捕捉するのにより適時である.

  4. EMAからの離脱の長さは調整可能で,市場に応じてストップ・ロスの戦略を調整することができる.

  5. 取引頻度が低く,一度に1-2日しかポジションを保有しないため,多頭ポジションのリスクを避ける.

リスク分析

この戦略には以下のリスクもあります.

  1. 逆転の失敗のリスク. 逆転のシグナルが発生した後に,価格は破綻し,反発する代わりに下落を続ける可能性があります.

  2. 頻繁にストップするリスク. 変動の状況では,価格が頻繁にストップを誘発する可能性がある.

  3. パラメータ最適化リスク 退出EMA その他のパラメータは,市場に応じて継続的にテスト・最適化が必要で,調整しなければ効果の差を招く可能性があります.

  4. 過剰最適化のリスク オーバーフィットしないように注意し,パラメータの設定を安定にしてください.

リスクは以下の方法で軽減できます.

  1. ストップ・ロスのルールを厳格に遵守し,単一損失をコントロールする.

  2. リスクと利益のバランスを取るために,最適化時に堅牢なパラメータの設定を行います.

  3. ポジションのサイズを調整し,単位のポジションを削減し,リスクを分散する.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 市場への入場と出場の指標として,異なる長さのEMAをテストし,より適切なパラメータを見つけます.

  2. 量能指数などの他のフィルタリング条件を追加し,反転信号をより信頼できるようにする.

  3. ATRのストップ,ストップトラッキングなどのストップ戦略を最適化して,ストップを柔軟にします.

  4. トレンド判断と組み合わせて,反転シグナルがトレンドの中で誤った取引を避ける.

  5. ポートフォリオの最適化,他の戦略の組み合わせ,非関連性の分散リスクの利用.

  6. 機械学習などの方法を用いてパラメータの自適化最適化を行い,パラメータを動的に調整する.

要約する

海取引3日逆転戦略は,価格が3日連続で収縮し,短期EMAより低い形状を判断することによって,短期逆転の機会を探します.従来の移動平均線戦略と比較して,その入場信号はより信頼性が高く,退出EMAパラメータの最適化ストープを調整します.この戦略は,振動的な市場を整頓するために適用され,短期反転を捕捉することができます.しかし,パラメータ最適化,ストープストープ戦略などの面で最適化の余地があります.トレンド判断と他の戦略の組み合わせにより,効果をさらに高めることができます.

ストラテジーソースコード
/*backtest
start: 2023-10-05 00:00:00
end: 2023-10-12 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version = 5
// Author = TradeAutomation


strategy(title="ETF 3-Day Reversion Strategy", shorttitle="ETF 3-Day Reversion Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_order, commission_value=1, initial_capital = 10000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time')
InDateRange = true

// Strategy Rules //
DayEMA5 = ta.ema(close, 5)
Rule1 = close>ta.ema(close, 200)
Rule2 = close<DayEMA5
Rule3 = high<high[1] and low<low[1] and high[1]<high[2] and low[1]<low[2] and high[2]<high[3] and low[2]<low[3]
ExitEMA = ta.ema(close, input.int(5, "EMA Length For Exit Strategy", tooltip = "The strategy will sell when the price crosses over this EMA"))
plot(DayEMA5)
plot(ExitEMA, color=color.green)

// Entry & Exit Functions //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3)
//    strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop))
    strategy.close("Long", when = ta.crossover(close, ExitEMA))
if (not InDateRange)
    strategy.close_all()