
Эта стратегия является динамической стратегией отслеживания трендов, основанной на системе двойных средних линий, которая сочетает в себе перекрестные сигналы средних скоростных линий и средних медленных линий, а также вводит фильтрованные средние линии для оптимизации времени входа в рынок и обеспечения стабильного эффекта торговли с помощью управления капиталом и контроля риска.
В качестве основной системы сигналов стратегия использует 11-циклические и 31-циклические простые скользящие средние (SMA) и использует 5-циклические средние как фильтры. Система генерирует многосигналы при прохождении медленной линии на быстрой линии (SMA11) и цены находятся выше фильтрованной средней линии; при прохождении медленной линии ниже быстрой линии, система плава. Стратегия контролирует размер каждой сделки, устанавливая фиксированную сумму капитала, что позволяет управлять риском.
Эта стратегия использует систему с множественными равномерными линиями, чтобы построить относительно стабильную систему отслеживания тенденций. Несмотря на некоторые присущие ей ограничения, ее стабильность и прибыльность могут быть улучшены с помощью разумной оптимизации и улучшения.
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Nifty 30m SMA Crossover Long', overlay=true)
start = timestamp(2020, 1, 1, 0, 0)
end = timestamp(2024, 12, 31, 0, 0)
SlowSma = ta.sma(close, 31)
FastSma = ta.sma(close, 11)
FilterSma = ta.sma(close, 5)
plot(SlowSma, title='Sma 31', color=color.new(color.green, 0))
plot(FastSma, title='Sma 11', color=color.new(color.red, 0))
plot(FilterSma, title='Filter Sma 5', color=color.new(color.black, 0))
// strategy
LongEntry = FastSma > SlowSma and close > FilterSma
LongExit = FastSma < SlowSma
MyQty = 10000000 / close
// // Plot signals to chart
// plotshape(not LongExit and strategy.position_size > 0 and bIndicator, title='Hold', location=location.abovebar, color=color.new(color.blue, 0), style=shape.square, text='Hold', textcolor=color.new(color.blue, 0))
// plotshape(LongExit and bIndicator and strategy.position_size > 0, title='Exit', location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, text='Sell', textcolor=color.new(color.red, 0))
// plotshape(LongEntry and strategy.position_size == 0 and bIndicator, '', shape.arrowup, location.abovebar, color.new(color.green, 0), text='Buy', textcolor=color.new(color.green, 0))
// plotshape(not LongEntry and strategy.position_size == 0 and bIndicator, '', shape.circle, location.belowbar, color.new(color.yellow, 0), text='Wait', textcolor=color.new(color.black, 0))
if time >= start and time < end
strategy.entry('Enter Long', strategy.long, qty=1, when=LongEntry)
strategy.close('Enter Long', when=LongExit)