この戦略は,ボリンジャーバンドと移動平均線という2つの技術指標を組み合わせ,ボリンジャーバンドに対する価格の相対位置と,スピードとスロームービング平均線のクロスオーバーシグナルに基づいて市場動向を決定し,時宜の買い売りを実現する.価格がボリンジャーバンドの下帯を突破すると,ロングポジションを開く.上帯を突破すると,ショートポジションを開く.同時に,高速移動平均線がスロームービング平均線を突破すると,ロングポジションを開く,下帯を突破すると,ポジションを閉じる.この戦略は投資家に市場の動向を理解し,安定した投資収益を達成するのに役立ちます.
ボリンジャーバンドと移動平均クロスオーバー戦略は,ボリンジャーバンドを使用して過買い・過売り状況と移動平均クロスオーバーを使用してトレンドを判断し,市場のトレンドを効果的に把握し,安定したリターンを達成できる古典的なトレンドフォロー戦略である.しかし,実用的な応用では,引き下げを制御し,パラメータを最適化し,変化する市場環境に適応するために他の方法と組み合わせて継続的に改善する必要があります.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(shorttitle="BB Strategy", title="Bollinger Bands Strategy", overlay=true) // Input parameters length = input.int(20, minval=1) maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"]) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") offset = input.int(0, "Offset", minval=-500, maxval=500) // Moving average function ma(source, length, _type) => switch _type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Calculate Bollinger Bands basis = ma(src, length, maType) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, "Basis", color=color.blue, offset=offset) p1 = plot(upper, "Upper", color=color.red, offset=offset) p2 = plot(lower, "Lower", color=color.green, offset=offset) fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95)) // Strategy entry and exit conditions if (ta.crossover(close, lower)) strategy.entry("Buy", strategy.long) if (ta.crossunder(close, upper)) strategy.entry("Sell", strategy.short)