この戦略は,ボリンジャーバンド指標と価格ブレイクシグナルを組み合わせた高周波取引システムである.この戦略は,価格とボリンジャーバンドとの関係を監視し,以前の高点と低点ブレイクシグナルと組み合わせ,市場の過剰購入および過剰販売状況下で逆転取引を実行する.システムは,利益と損失の目標に対して1:1のリスク・リターン比率を実装し,主要価格レベルを視覚化し,トレーダーが市場動向を直感的に理解するのに役立ちます.
この戦略の基本論理は2つの主要条件に基づいている.価格が前回の高値を超え,その高値がボリンジャーバンドの下位に位置するときに購入信号が起動し,価格が前回の低値を超え,その低値がボリンジャーバンド上位に位置するときに販売信号が起動する.ボリンジャーバンドパラメータは,市場変動幅と過買い/過売り領域を決定するために20期間の移動平均値と2つの標準偏差を使用する.取引信号を起動した後,システムは自動的に対応するストップ・ロストとターゲットレベルを設定し,それらを異なるラインスタイルで視覚化する.
この戦略は,複数の技術分析概念を統合した包括的な取引システムである.ボリンジャーバンド指標と価格ブレイクアウトの組み合わせを通じて,この戦略は,市場過剰購入および過剰販売の領域で逆転機会を捉えることができます.最適化のための余地がある一方で,システムの基本的な枠組みは,拡張性および実用的な価値が良好です.適切なリスク管理とパラメータ最適化によって,この戦略は実際の取引で安定した収益を達成する可能性があります.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Band Scalping", overlay=true) // Input for Bollinger Bands length and standard deviation bbLength = input(20, title="Bollinger Bands Length") stdDev = input(2.0, title="Bollinger Bands Std Dev") // Calculate and plot the Bollinger Bands basis = ta.sma(close, bbLength) deviation = stdDev * ta.stdev(close, bbLength) upperBB = basis + deviation lowerBB = basis - deviation // Get previous candle's values prevHigh = high[1] // Previous candle high prevLow = low[1] // Previous candle low // Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1]) // Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1]) // Entry and exit for Buy signals if (buyCondition) strategy.entry("Buy", strategy.long) // Calculate target and stop loss stopLossPrice = prevLow targetPrice = prevHigh + (prevHigh - stopLossPrice) // 1:1 RR target // Set stop loss and target orders strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice) // // Plot entry line // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid) // Entry and exit for Sell signals if (sellCondition) strategy.entry("Sell", strategy.short) // Calculate target and stop loss stopLossPriceSell = prevHigh targetPriceSell = prevLow - (stopLossPriceSell - prevLow) // 1:1 RR target // Set stop loss and target orders strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell) // // Plot entry line // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid) // // Plot stop loss line // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed) // // Plot target line // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid) // Plotting Bollinger Bands with 70% transparency plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70) plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70) plot(basis, color=color.blue, title="Middle Band", transp=70)