
Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan pengunduran Fibonacci, pengesanan trend dan pengurusan risiko. Ia adalah berdasarkan pada tahap pengunduran Fibonacci 0.65 sebagai titik rujukan harga utama, dan digabungkan dengan purata bergerak untuk mengesahkan trend pasaran, sambil mengintegrasikan mekanisme stop-loss yang dinamik berdasarkan ATR.
Logik teras strategi adalah berdasarkan komponen utama berikut:
Ini adalah strategi pengesanan trend jangka menengah yang dirancang dengan bijak, yang menggabungkan teori Fibonacci, pengesanan trend dan pengurusan risiko untuk membina sistem perdagangan yang lengkap. Ciri utama strategi ini adalah berdasarkan pengenalan trend pasaran, menghasilkan isyarat perdagangan dengan menggunakan harga untuk menembusi tahap kritikal, dan menguruskan risiko melalui mekanisme henti rugi yang dinamik. Walaupun terdapat beberapa tempat yang perlu dioptimumkan, secara keseluruhan ini adalah rangka strategi yang bernilai praktikal.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Refined Fibonacci Strategy - Enhanced Risk Management", overlay=true)
// Input parameters
fibonacci_lookback = input.int(38, minval=2, title="Fibonacci Lookback Period")
atr_multiplier = input.float(1.8, title="ATR Multiplier for Stop Loss and Take Profit")
sma_length = input.int(181, title="SMA Length")
// Calculating Fibonacci levels
var float high_level = na
var float low_level = na
if (ta.change(ta.highest(high, fibonacci_lookback)))
high_level := ta.highest(high, fibonacci_lookback)
if (ta.change(ta.lowest(low, fibonacci_lookback)))
low_level := ta.lowest(low, fibonacci_lookback)
fib_level_0_65 = high_level - ((high_level - low_level) * 0.65)
// Trend Filter using SMA
sma = ta.sma(close, sma_length)
in_uptrend = close > sma
in_downtrend = close < sma
// ATR for Risk Management
atr = ta.atr(12)
long_stop_loss = close - (atr * atr_multiplier)
long_take_profit = close + (atr * atr_multiplier)
short_stop_loss = close + (atr * atr_multiplier)
short_take_profit = close - (atr * atr_multiplier)
// Entry Conditions
buy_signal = close > fib_level_0_65 and close[1] <= fib_level_0_65 and in_uptrend
sell_signal = close < fib_level_0_65 and close[1] >= fib_level_0_65 and in_downtrend
// Execute Trades
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// Exit Conditions
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Buy", stop=long_stop_loss, limit=long_take_profit)
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Sell", stop=short_stop_loss, limit=short_take_profit)
// Plotting
plot(fib_level_0_65, color=color.blue, title="Fibonacci 0.65 Level")
plot(sma, color=color.orange, title="SMA")