この戦略はブリン帯指数とフィボナッチ逆戻り指数を融合し,多指数組合せ取引を実現する.これは典型的な組合せ指数戦略のタイプである.戦略はブリン帯を介してトレンドの方向を判断し,フィボナッチ逆戻りは,重要なサポートレジスタンス値を決定し,取引信号を生成する.
この戦略は,以下の2つの指標に基づいて判断されます.
ブリン帯の上線,中線,下線を計算する. 価格が下線を突破すると多信号,上線を突破すると空信号となる.
歴史的な高点と低点に基づいて0%と100%を計算し,2つの重要なフィボナッチ・リトレイの位を計算する.この2つの点は,重要なサポートとレジスタンスとして使用できる.
取引の論理は以下の通りです.
複数のシグナル:価格がブリン帯を横断し,0%のフィボナッチ支持の上位に
空気シグナル:価格がブリン帯を下回り,フィボナッチレジスタンス100%以下
平仓は中軌を参考に,中軌の近くで止まる.
リスクを下げるには,以下の措置を講じます.
この戦略は以下の点で最適化できます.
軌道上下を計算する最適のパラメータの比率を探します.
テスト計算の回帰の異なる周期パラメータ
ブリン帯突破のK線形状を観察する
追跡機能の付いた 止損方法を検討する
異なる品種のパラメータは必ずしも同じではないので,調整する必要があります.
この戦略は,ブリン帯とフィボナッチの撤回指標を組み合わせて,それぞれの技術的優位性を発揮し,取引信号の質を向上させる.しかし,パラメータの最適化が困難である,入場条件が厳格すぎるなどの問題もあります.我々は,最適化パラメータの設定,適切な入場条件の緩和,停止メカニズムの改善などの方法によって,戦略システムを完善し,技術的優位性を維持しながら,より多くの取引機会を争うことができます.同時に,反省結果に基づいて継続的に調整することは,戦略をより安定させるための鍵でもあります.
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands & Fibonacci Strategy", shorttitle="BB & Fib Strategy", overlay=true)
// Initialize position variables
var bool long_position = false
var bool short_position = false
// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input.float(2.0, title="Standard Deviation Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper_band = basis + dev
lower_band = basis - dev
// Fibonacci retracement levels
fib_0 = input.float(0.0, title="Fibonacci 0% Level", minval=-100, maxval=100) / 100
fib_100 = input.float(1.0, title="Fibonacci 100% Level", minval=-100, maxval=100) / 100
// Plotting Bollinger Bands
plot(upper_band, color=color.red, title="Upper Bollinger Band")
plot(lower_band, color=color.green, title="Lower Bollinger Band")
// Calculate Fibonacci levels
fib_range = ta.highest(high, 50) - ta.lowest(low, 50)
fib_high = ta.highest(high, 50) - fib_range * fib_0
fib_low = ta.lowest(low, 50) + fib_range * fib_100
// Plot Fibonacci retracement levels
plot(fib_high, color=color.blue, title="Fibonacci High")
plot(fib_low, color=color.orange, title="Fibonacci Low")
// Entry conditions
long_condition = ta.crossover(close, upper_band) and low > fib_low
short_condition = ta.crossunder(close, lower_band) and high < fib_high
// Plot arrows on the chart
plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Entry and exit logic
if long_condition and not short_position
strategy.entry("Long", strategy.long)
long_position := true
short_position := false
if short_condition and not long_position
strategy.entry("Short", strategy.short)
short_position := true
long_position := false
// Exit conditions (you can customize these)
long_exit_condition = ta.crossunder(close, basis)
short_exit_condition = ta.crossover(close, basis)
if long_exit_condition
strategy.close("Long")
long_position := false
if short_exit_condition
strategy.close("Short")
short_position := false