5日間の移動平均チャネルブレークアウト戦略とマイレージコンセプトを組み合わせた

作者: リン・ハーンチャオチャン,日付: 2024-02-05 15:16:05
タグ:

img

概要

この戦略は,5日移動平均チャネルとマイレージコンセプトの買・売シグナルを組み合わせ,チャネルブレイクアウトと短期取引の機能の両方を達成する.まずチャネルバンドとして最高高値と最低低値の5日移動平均を計算し,チャネルブレイクアウト信号とマイレージコンセプトのキャンドルスタイクパターンに基づいてエントリーと出口を決定する.

戦略の論理

  1. 最上位高位と最下位低位の5日間の移動平均を上位および下位チャネル帯として計算する.
  2. 閉じる価格が上位帯を超えると購入信号を生成する
  3. 閉店価格が下帯を下回るときに売り信号を生成する
  4. 価格アクションが買い/売る機能と一致するかどうかを判断するために,マイレージ概念パターンと組み合わせる
    • 購入機能: 閉じる > オープン, 高 閉じる < 閉じる オープン, オープン 低い < 閉じる - オープン
    • 販売機能: オープン 閉じる > 前 オープン 閉じる 3 つ連続したキャンドル
  5. 最終購入条件 = チャネルブレイクシグナル AND マイルゲージ購入パターン
  6. 最終販売条件 = チャンネルブレイクシグナルとマイレージ販売パターン

利点分析

  1. 複数の層の確認のためのチャネルブレイクとマイレージコンセプト戦略を組み合わせ,偽信号を避ける
  2. チャンネルブレイクで中期傾向が確認される
  3. 走行距離の概念は短期的な逆転の機会を特定する
  4. シンプルなパラメータは,異なる市場環境のために簡単に調整できます

リスク分析

  1. Whipsawsは,チャネル内の価格が激しく変動すると偽信号を生成することができます.
  2. 不正確な走行距離概念パターン認識は,早期入出または不十分な出出につながる可能性があります.
  3. パラメータの調節が不適切で信号品質に影響する

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

  1. 最適のチャネルバンドを見つけるために異なるパラメータセットをテストする
  2. 短い時間や長い時間がよりうまくいくか確認するために,異なるチャネル期間を試してください.
  3. 騒音をフィルタリングするために,マイレージ概念のルールを最適化
  4. 単一の取引損失を制御するためにストップ損失を追加することを検討します.

結論

この戦略は,チャネルブレイクとマイレージコンセプトを短期取引に合成し,多層確認とリスク管理を達成する.さらなる最適化は戦略のパフォーマンスを向上させる可能性がある.パラメータチューニングとリスク管理が結果に大きく影響することを注意し,徹底的なテストと検証を必要とする.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("5MABAND + Mileage Concept Buy & Sell Strategy", overlay=true)

// Command 1 - 5MABAND Calculation
length = input(5, title="Number of Candles for Average")
avgHigh = ta.sma(high, length)
avgLow = ta.sma(low, length)

// Plotting 5MABAND Bands
plot(avgHigh, color=color.green, title="5MABAND High Line", linewidth=2)
plot(avgLow, color=color.red, title="5MABAND Low Line", linewidth=2)

// Command 2 - Mileage Concept Buy Entry
mileageBuyCondition = close > open and high - close < close - open and open - low < close - open and close - open > close[1] - open[1] and close - open > close[2] - open[2] and close - open > close[3] - open[3] and close > open and open > close[1]

// Command 3 - Mileage Concept Sell Entry
mileageSellCondition = open - close > open[1] - close[1] and open - close > open[2] - close[2] and open - close > open[3] - close[3] and open > close and close > open[1] and close > avgHigh

// Command 4 - 5MABAND Buy Entry
buyAlertCandle_5MABAND = close > avgHigh
plotshape(buyAlertCandle_5MABAND, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, title="Buy Signal (5MABAND)")

// Command 5 - 5MABAND Sell Entry
sellAlertCandle_5MABAND = close < avgLow
plotshape(sellAlertCandle_5MABAND, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, title="Sell Signal (5MABAND)")

// Command 6 - 5MABAND Exit Trigger
exitTriggerCandle_5MABAND_Buy = low < avgLow
exitTriggerCandle_5MABAND_Sell = high > avgHigh

// Exit Signals for 5MABAND
exitBuySignal_5MABAND = close < avgLow
exitSellSignal_5MABAND = close > avgHigh

// Buy and Sell Conditions for 5MABAND
buyCondition_5MABAND = close > avgHigh and buyAlertCandle_5MABAND
sellCondition_5MABAND = close < avgLow and (exitTriggerCandle_5MABAND_Buy or exitSellSignal_5MABAND)

// Combine Buy Conditions for Mileage Concept and 5MABAND
combinedBuyCondition = mileageBuyCondition and buyCondition_5MABAND
combinedSellCondition = mileageSellCondition and sellCondition_5MABAND

// Execute Buy and Sell Orders
strategy.entry("Buy", strategy.long, when = combinedBuyCondition)
strategy.close("Buy", when = sellCondition_5MABAND)

strategy.entry("Sell", strategy.short, when = combinedSellCondition)
strategy.close("Sell", when = exitBuySignal_5MABAND)

// Exit Buy and Sell Orders for 5MABAND
strategy.close("Buy", when = exitBuySignal_5MABAND)
strategy.close("Sell", when = exitSellSignal_5MABAND)


もっと