
Стратегия представляет собой гибридную торговую систему, объединяющую несколько технических аналитических показателей. Она основана на среднелинейной системе (EMA) для определения рыночных тенденций, а также на уровне сопротивления поддержки (SR) в качестве входного сигнала и использует реальную величину колебаний (ATR) для контроля риска. Стратегия использует динамические параметры остановки, которые могут быть адаптированы к остановке в зависимости от волатильности рынка.
Стратегия основана на следующих основных компонентах:
Оптимизация фильтрации сигнала
Оптимизация управления позициями
Оптимизация убытков
Эта стратегия, объединяя несколько совершенных методов технического анализа, создает целостную торговую систему. Ее ключевые преимущества заключаются в адаптивности системы и возможности управления рисками. Благодаря постоянной оптимизации и совершенствованию стратегия может стабильно работать в различных рыночных условиях.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Multi-Strategy Trader v1 by SUNNY GUHA +91 9836021040 / www.oiesu.com", overlay=true)
// Basic Inputs
supResLookback = input.int(9, "Support/Resistance Lookback")
atrPeriod = input.int(14, "ATR Period")
stopMultiplier = input.float(10.0, "Stop Loss ATR Multiplier")
// Technical Indicators
atr = ta.atr(atrPeriod)
highestHigh = ta.highest(high, supResLookback)
lowestLow = ta.lowest(low, supResLookback)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
// Basic Strategy Rules
isTrending = math.abs(ema20 - ema50) > atr
longSignal = close > highestHigh[1] or (isTrending and ema20 > ema50 and close > ema20)
shortSignal = close < lowestLow[1] or (isTrending and ema20 < ema50 and close < ema20)
// Entry Logic
if longSignal and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
if shortSignal and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
// Stop Loss Logic
longStopPrice = close - (atr * stopMultiplier)
shortStopPrice = close + (atr * stopMultiplier)
// Exit Logic
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop=longStopPrice)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short", stop=shortStopPrice)
// Basic Plotting
plot(ema20, "EMA 20", color.blue)
plot(ema50, "EMA 50", color.red)