資源の読み込みに... 荷物...

Bollinger Bands 高周波定量戦略と高低ブレイクシステム

作者: リン・ハーンチャオチャン開催日:2024年4月12日15時50分
タグ:BBSMASDRRHHLL

img

概要

この戦略は,ボリンジャーバンド指標と価格ブレイクシグナルを組み合わせた高周波取引システムである.この戦略は,価格とボリンジャーバンドとの関係を監視し,以前の高点と低点ブレイクシグナルと組み合わせ,市場の過剰購入および過剰販売状況下で逆転取引を実行する.システムは,利益と損失の目標に対して1:1のリスク・リターン比率を実装し,主要価格レベルを視覚化し,トレーダーが市場動向を直感的に理解するのに役立ちます.

戦略の原則

この戦略の基本論理は2つの主要条件に基づいている.価格が前回の高値を超え,その高値がボリンジャーバンドの下位に位置するときに購入信号が起動し,価格が前回の低値を超え,その低値がボリンジャーバンド上位に位置するときに販売信号が起動する.ボリンジャーバンドパラメータは,市場変動幅と過買い/過売り領域を決定するために20期間の移動平均値と2つの標準偏差を使用する.取引信号を起動した後,システムは自動的に対応するストップ・ロストとターゲットレベルを設定し,それらを異なるラインスタイルで視覚化する.

戦略 の 利点

  1. トレンドブレイクと平均逆転取引の両方を組み合わせて,異なる市場条件において安定性を維持する
  2. ポジション管理のために固定リスク/報酬比を使用し,長期的に利益を得られる取引に有利です
  3. エントリー,ストップ・ロスト,ターゲットレベルを視覚化し,戦略の運用性を向上させる
  4. 取引の精度を向上させるため,市場過剰購入/過剰売却状況を特定するためにボリンジャー帯を使用します.
  5. シンプルで明快な戦略論理,理解し実行しやすい

戦略リスク

  1. 高周波取引では,取引コストが高くなり,手数料の影響も考慮する必要がある
  2. 複数の市場で頻繁に誤ったブレイクシグナルを生む可能性があります.
  3. 固定リスク・リターン比は,強いトレンド動きを完全に把握できないかもしれない.
  4. 固定ボリンジャー帯のパラメータは,すべての市場条件に適応しない可能性があります.
  5. リアルタイム市場モニタリングが必要で,シグナルが間に合うように実行される

戦略の最適化方向

  1. シグナル確認のためのボリューム指標を組み込み,ブレイクアウトの信頼性を向上させる
  2. 市場変動に基づいてボリンジャーバンドのパラメータを動的に調整する
  3. トレンドフィルターを追加して,様々な市場での頻繁な取引を避ける
  4. 非アクティブ期間の取引を避けるために時間フィルターを追加することを検討します.
  5. 適応性のあるリスク/報酬比の設定メカニズムを開発する

概要

この戦略は,複数の技術分析概念を統合した包括的な取引システムである.ボリンジャーバンド指標と価格ブレイクアウトの組み合わせを通じて,この戦略は,市場過剰購入および過剰販売の領域で逆転機会を捉えることができます.最適化のための余地がある一方で,システムの基本的な枠組みは,拡張性および実用的な価値が良好です.適切なリスク管理とパラメータ最適化によって,この戦略は実際の取引で安定した収益を達成する可能性があります.


/*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)


関連性

もっと