
この戦略は、ボリンジャーバンドとフィボナッチリトレースメントレベルを組み合わせたデイトレードシステムです。ボリンジャーバンドインジケーターを使用して買われすぎと売られすぎの状態を識別し、フィボナッチリトレースメントレベルを使用して潜在的なサポートレベルとレジスタンスレベルを確認することで、市場変動における取引機会を捉えます。この戦略では、シグナル生成に 20 期間のボリンジャー バンドと 0.236、0.382、0.618 の 3 つの主要なフィボナッチ レベルを使用します。
戦略の中核となるロジックは、次の主要な要素に基づいています。
これは、テクニカル分析の古典的なツールを組み合わせた完全な取引システムであり、ボリンジャー バンドとフィボナッチ リトレースメントの相乗効果を通じてトレーダーに体系的な取引フレームワークを提供します。一定の制限はあるものの、この戦略は適切なパラメータ最適化とリスク管理を通じて日中取引でうまく機能します。重要なのは、特定の取引商品と市場状況に基づいて、適切な調整と最適化を行うことです。
/*backtest
start: 2025-01-02 00:00:00
end: 2025-01-09 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("Bollinger Bands and Fibonacci Intraday Strategy", overlay=true)
// Bollinger Bands settings
length = input.int(20, title="Bollinger Band Length")
src = close
mult = input.float(2.0, title="Bollinger Band Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Fibonacci retracement levels
fibRetrace1 = input.float(0.236, title="Fibonacci Level 0.236")
fibRetrace2 = input.float(0.382, title="Fibonacci Level 0.382")
fibRetrace3 = input.float(0.618, title="Fibonacci Level 0.618")
// Define the Fibonacci levels based on recent high and low
var float fibLow = na
var float fibHigh = na
if (bar_index == 0 or ta.highest(high, 20) != fibHigh or ta.lowest(low, 20) != fibLow)
fibHigh := ta.highest(high, 20)
fibLow := ta.lowest(low, 20)
fibLevel1 = fibLow + (fibHigh - fibLow) * fibRetrace1
fibLevel2 = fibLow + (fibHigh - fibLow) * fibRetrace2
fibLevel3 = fibLow + (fibHigh - fibLow) * fibRetrace3
// Plot Fibonacci levels on the chart
plot(fibLevel1, title="Fib 0.236", color=color.blue, linewidth=1)
plot(fibLevel2, title="Fib 0.382", color=color.green, linewidth=1)
plot(fibLevel3, title="Fib 0.618", color=color.red, linewidth=1)
// Buy and Sell conditions
buyCondition = close < lower and close > fibLevel1
sellCondition = close > upper and close < fibLevel3
// Plot Buy and Sell signals
plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute strategy
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Exit strategy with stop loss and take profit
stopLoss = input.float(50, title="Stop Loss (pips)", minval=1)
takeProfit = input.float(100, title="Take Profit (pips)", minval=1)
strategy.exit("Exit Buy", "Buy", stop=close - stopLoss * syminfo.mintick, limit=close + takeProfit * syminfo.mintick)
strategy.exit("Exit Sell", "Sell", stop=close + stopLoss * syminfo.mintick, limit=close - takeProfit * syminfo.mintick)