この戦略は,伝統的なボリンジャーバンドのトレンドフォローシステムによる改良版である.トレンド信頼性を確認するために,ボリンジャーバンドの3回の連続的なタッチで価格アクションをモニターし,結果としてより高い勝ち率が得られる.この戦略は,中間帯として20期移動平均と上下帯の2つの標準偏差を使用する.帯の境界との価格関係の詳細な分析を通じて,ユニークな利点を持つ取引システムを達成する.
基本論理は,ボリンジャーバンドの境界線における持続的な価格変動を特定するためのカウントメカニズムに依存している. 価格は3回連続して下帯を下回るときに長い信号,上帯を下回るときに3回連続して短い信号を生成する. このメカニズムは誤ったブレイクを効果的にフィルタリングし,取引の信頼性を向上させる. 戦略は中帯 (20期移動平均) を出口信号として使用し,価格が中帯に戻ると取引を完了する. このデザインはトレンドキャプチャとタイムリーな利益を取ることを保証する.
この戦略は,高度に信頼性の高いトレンドフォローアプローチを実装することで,伝統的なボリンジャーバンド取引システムに優れています.そのユニークなトリプルタッチ確認メカニズムは,有効に勝利率を増加させ,移動平均ベースの退出メカニズムは合理的な利益を得るソリューションを提供します.固有のリスクが存在しているにもかかわらず,提案された最適化方向は戦略の安定性と収益性をさらに向上させることができます.
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Bollinger Bands Strategy - 3 Crossings", overlay=true) // Input Parameters length = input.int(20, title="Bollinger Bands Length", minval=1) src = input(close, title="Source") mult = input.float(2.0, title="Multiplier", step=0.1) // Calculate Bollinger Bands basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plotBasis = plot(basis, color=color.blue, title="Basis") plotUpper = plot(upper, color=color.red, title="Upper Band") plotLower = plot(lower, color=color.green, title="Lower Band") fill(plot1=plotUpper, plot2=plotLower, color=color.new(color.blue, 90), title="Band Fill") // Counter Variables var int longCrossCount = 0 var int shortCrossCount = 0 // Detect Crossings longCondition = close < lower // Price closes below the lower band shortCondition = close > upper // Price closes above the upper band if longCondition longCrossCount += 1 // Increment the counter for long shortCrossCount := 0 // Reset the short counter if shortCondition shortCrossCount += 1 // Increment the counter for short longCrossCount := 0 // Reset the long counter if not longCondition and not shortCondition longCrossCount := 0 // Reset if no crossing shortCrossCount := 0 // Entry and Exit Rules if longCrossCount >= 3 and strategy.position_size <= 0 strategy.entry("Long", strategy.long) longCrossCount := 0 // Reset the counter after entering if shortCrossCount >= 3 and strategy.position_size >= 0 strategy.entry("Short", strategy.short) shortCrossCount := 0 // Reset the counter after entering // Exit Condition (When Price Returns to the Middle Band) exitCondition = ta.crossover(src, basis) or ta.crossunder(src, basis) if exitCondition and strategy.position_size > 0 strategy.close("Long") if exitCondition and strategy.position_size < 0 strategy.close("Short")