Стратегия представляет собой торговую систему прорыва тренда, основанную на уровне коррекции Фибоначчи 0,7. Он определяет уровень Фибоначчи 0,7, вычисляя самые высокие и самые низкие цены за указанный период ретроспективы, и генерирует торговый сигнал, когда цена пробивает этот уровень. Стратегия использует фиксированный процент тейк-профита и стоп-лосса для управления рисками и по умолчанию использует 5% от общей стоимости счета в качестве суммы единовременной транзакции.
Основная логика стратегии основана на следующих ключевых элементах:
Стратегия основана на классической теории Фибоначчи и сочетает в себе основные элементы прорыва тренда и управления рисками. Несмотря на определенные ограничения, ожидается, что благодаря разумной оптимизации параметров и фильтрации сигналов будет поддерживаться стабильная работа в различных рыночных условиях. Успешная реализация стратегии требует от трейдеров глубокого понимания характеристик рынка и внесения соответствующих корректировок и оптимизаций на основе реальных условий.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fibonacci 0.7 Strategy - 60% Win Rate", overlay=true)
// Input parameters
fibonacci_lookback = input.int(20, minval=1, title="Fibonacci Lookback Period")
take_profit_percent = input.float(1.8, title="Take Profit (%)")
stop_loss_percent = input.float(1.2, title="Stop Loss (%)")
// 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_7 = high_level - ((high_level - low_level) * 0.7)
// Entry Conditions
buy_signal = close > fib_level_0_7 and close[1] <= fib_level_0_7
sell_signal = close < fib_level_0_7 and close[1] >= fib_level_0_7
// Risk management
long_take_profit = strategy.position_avg_price * (1 + take_profit_percent / 100)
long_stop_loss = strategy.position_avg_price * (1 - stop_loss_percent / 100)
short_take_profit = strategy.position_avg_price * (1 - take_profit_percent / 100)
short_stop_loss = strategy.position_avg_price * (1 + stop_loss_percent / 100)
// Execute trades
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// Take Profit and Stop Loss
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=long_stop_loss, limit=long_take_profit)
if (strategy.position_size < 0)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=short_stop_loss, limit=short_take_profit)
// Plot Fibonacci Level
plot(fib_level_0_7, color=color.blue, title="Fibonacci 0.7 Level")