8日間の逆転戦略

作者: リン・ハーンチャオチャン, 日付: 2023-12-05 10:56:37
タグ:

img

概要

この戦略は,中期および短期間のモメンタム効果を把握するために,主に5日間の単純な移動平均線以上または以下に8日間継続的に閉じた後の価格の逆転特性を利用する.閉じる価格は8日間継続的に5日間のラインを下に閉じた後に5日間のラインを下に再び閉じる場合,閉じる価格が8日間継続的に5日間のラインを下に再び閉じる場合,ロングに行く.

戦略の論理

  1. 5日間の単純な移動平均 SMA を計算する.
  2. 上向きトレンドUpはSMAより大きいまたはそれと同等で,下向きトレンドDownはSMAより小さいまたはそれと同等で定義します.
  3. トレンド逆転の条件を確認する: 閉店価格が8日連続でSMAを下回って閉店し,翌日上昇傾向 (SMAを下回る) に転移すると購入信号を誘発する. 閉店価格が8日連続でSMAを下回って閉店し,翌日下降傾向 (SMAを下回る) に転移すると販売信号を誘発する.
  4. 入力:買い条件が昨日引き上げられ,現在のトレンドがダウントレンドである場合,買い条件が昨日引き上げられ,現在のトレンドがアップトレンドである場合,売り条件が昨日引き上げられ,現在のトレンドがアップトレンドである場合,ショートです.
  5. アクジット: 閉じる価格がSMAを下回るときにロングポジションを閉じる. 閉じる価格がSMAを下回るときにショートポジションを閉じる.

利点分析

  1. 中期・短期取引に適した価格逆転機能を利用して勢いを捉える.
  2. 8日間の継続的なSMAブレイクが頻繁に起こるため,高い取引機会があります.
  3. 5日間のSMAパラメータはうまく機能し 誤ったブレイクが多くない
  4. 制御可能なリスクで 明確なストップ・ロストポイント

リスク分析

  1. ストップ・ロスは,市場の整合中に頻繁に行われる可能性があります.
  2. 脱出日が長くなったら 最良の入口を逃すかもしれない
  3. 長期的トレンドがあれば 利益を得るのは難しい

SMAのパラメータを最適化し 誤ったブレイクアウトを防ぐためのエントリー基準を改善し 戦略を強化するためのトレンドインジケーターと組み合わせることができます

オプティマイゼーションの方向性

  1. パラメータ最適化: SMAの異なる期間をテストしてより良いパラメータを見つける.
  2. 入力最適化: 誤ったブレイクを避けるためにボリュームインジケーターを追加します.
  3. エグジット最適化: 固定パーセントのストップ損失をテストし,より多くのスペースを与える.
  4. リスク管理:損失を制限するために最大日間ストップロスの時間を設定する.
  5. 指標を組み合わせる:RSI,MACDを足し,市場状況を特定する傾向を決定する.

結論

この戦略は,ブレイクアウトからプルバックまでの価格動きをモメンタムを判断することによって把握し,ウィップソーやトレンドフォローを避ける取引論理を実装する.鍵は,騒音を防ぐための厳格なパラメータ設定と堅牢なエントリー基準;損失を制限するための合理的なストップ損失である.トレンドインジケーターと組み合わせることでより良い結果が得られる.戦略論理はシンプルで清潔である.さらなる最適化を探る価値がある.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
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/
// © Marcuscor

//@version=5

// Inpsired by Linda Bradford Raschke: a strategy for trading momentum in futures markets

strategy("8D Run", initial_capital = 50000, commission_value = 0.0004) 


SMA = ta.sma(close,5)

TrendUp = close >= SMA

TrendDown = close <= SMA


//logic to long

TriggerBuy = ta.barssince(close < SMA) >= 8

Buy = TriggerBuy[1] and TrendDown 

strategy.entry("EL", strategy.long, when = Buy)
strategy.close(id = "EL", when = close > SMA)

// 1) color background when "run" begins and 2) change color when buy signal occurs
bgcolor(TriggerBuy? color.green : na, transp = 90)
bgcolor(Buy ? color.green : na, transp = 70)


// logic to short 

TriggerSell = ta.barssince(close > SMA) >= 8

Sell = TriggerSell[1] and TrendUp

strategy.entry("ES", strategy.short, when = Sell)
strategy.close(id = "ES", when = close < SMA)

// 1) color background when "run" begins and 2) change color when sell signal occurs
bgcolor(TriggerSell ? color.red : na, transp = 90)
bgcolor(Sell ? color.red : na, transp = 70) 







もっと