EMAブレークスルートラップ戦略は,1分と1時間のチャートを含む複数のタイムフレームに適した汎用的な取引ツールである.21日間のEMAを使用して重要な市場動向を特定し,ATRベースの潜在的な牛と熊の罠の識別を補完する.特に,さまざまなフレームで平均約85%の印象的な収益率を達成し,最適な条件では88%に達する.
この戦略は,まず21日間の指数関数移動平均 (EMA) を計算し,全体的な傾向と方向性を判断する.その後,最近のN日
トラップ信号が特定されると,最近の最高値と最低値の間の距離の80%に基づいてストップ・ロスを設定し,リバース・ポジションを設定します.例えば,ブール・トラップ信号を特定した後,ショートポジションを設定し,トラップ・ロスを設定します.ベア・トラップ信号を特定した後,ロングポジションを設定し,トラップ・ロスを設定します.
EMA パラメータを最適化し,ATR係数を調整し,ダイナミック・トレリング・ストップ・ロストなどによってリスクは軽減できる.
EMAのブレークスルートラップ戦略は,トレンド判断とトラップ識別の利点を統合している.低引き下げと高い収益性により,さまざまな取引スタイルに適しており,非常に効率的な推奨戦略である.パラメータとメカニズム最適化によって安定性と収益性の空間をさらに向上させることができる.
/*backtest start: 2023-02-14 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bull and Bear Trap Strategy with EMA 21 - 1min Chart", overlay=true) // Inputs length = input(5, "Length") atrMultiplier = input(1.0, "ATR Multiplier") emaLength = input(21, "EMA Length") price = close atr = ta.atr(length) // EMA Calculation ema21 = ta.ema(price, emaLength) // Define recent high and low recentHigh = ta.highest(high, length) recentLow = ta.lowest(low, length) // Bull and Bear Trap Detection bullTrap = price > recentHigh[1] and low <= recentHigh - atr * atrMultiplier and price < ema21 bearTrap = price < recentLow[1] and high >= recentLow + atr * atrMultiplier and price > ema21 // Plotting plotshape(series=bullTrap, title="Bull Trap", location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small) plotshape(series=bearTrap, title="Bear Trap", location=location.belowbar, color=color.green, style=shape.triangledown, size=size.small) plot(ema21, title="EMA 21", color=color.blue) // Measured Move Implementation moveSize = recentHigh - recentLow targetDistance = moveSize * 0.8 // Target at 80% of the move size // Strategy Execution with Measured Move Targets if (bullTrap) strategy.entry("Enter Short (Sell)", strategy.short) strategy.exit("Exit Short (Buy to Cover)", "Enter Short (Sell)", limit=price - targetDistance) if (bearTrap) strategy.entry("Enter Long (Buy)", strategy.long) strategy.exit("Exit Long (Sell)", "Enter Long (Buy)", limit=price + targetDistance)