8日間の反転モメンタム戦略


作成日: 2023-12-05 10:56:37 最終変更日: 2023-12-05 10:56:37
コピー: 0 クリック数: 594
1
フォロー
1619
フォロワー

8日間の反転モメンタム戦略

概要

この戦略は,価格が連続して8日間,SMPより上か下か5日後に反転する特性を利用して,中短線上の動力の効果を捉えるために使用する.価格が連続して8日間,SMPより下か5日目の線の後,1日目の閉店価格が再び5日目の線を突破するときに,多めに;価格が連続して8日間,SMPより上か5日目の閉店価格が再び5日目の線を突破するときに,空いてください.

戦略原則

  1. 5日間のSMAを計算する.
  2. 多頭トレンドTrendUpは,SMAより大きいまたは等しい閉店価格で,空頭トレンドTrendDownはSMAより小さいまたは等しい閉店価格で定義されます.
  3. トレンドの逆転の条件を確認する:連続8日目閉盘価格がSMAより低くなると,翌日閉盘価格が多頭 (上) に転がる時に買入シグナルをトリガーする.連続8日目閉盘価格がSMAより高くなると,次の日目閉盘価格が空頭 (下) に転がる時に売出シグナルをトリガーする.
  4. 入場:買入条件Buyは前日の買入信号TriggerBuyを誘発し,現在空頭トレンドの時に多額の取引を行う. Sell条件Sellは前日の売り出信号TriggerSellを誘発し,現在多頭トレンドの時に空売りを行う.
  5. 出場:多頭ストップは,閉店価格を下にSMAを突破する際の平仓;空頭ストップは,閉店価格上にSMAを突破する際の平仓。

優位分析

  1. 価格の逆転の特性を利用して,中短線運動を捕捉するのに適しています.
  2. SMAを突破した8日目のトレンドは,取引機会を増やすため,トレンドの実行が多くなっています.
  3. 5日線のパラメータが優れているので,偽突破が多すぎると騙されない.
  4. リスクはコントロールできるし 明確な止まり点がある.

リスク分析

  1. ストップダストポイントは,状況が揺れ動いたときに頻繁に発動する可能性があります.
  2. 突破運行日数が長すぎると,最高の入場時間を逃す可能性があります.
  3. この戦略は,長期にわたって一方的に実行されれば,利益を得ることは困難である.

SMAのパラメータを適切に調整することができる.入場条件を最適化し,偽突破を防ぐ.トレンド判断指標の強化効果を組み合わせることができる.

最適化の方向

  1. パラメータ最適化:異なる周期のSMAパラメータをテストして,より優良なパラメータを探す.
  2. 入場最適化:偽突破を避けるために,入場量指数を追加する; 陽線陰線判断を追加して,震を回避する.
  3. 出場最適化:閉盘価格が一定幅の落下後に止損をテストし,止損BUFFERを追加する.
  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)