Эта стратегия является передовой торговой системой, основанной на индикаторе Supertrend, включающей несколько механизмов подтверждения сигналов и динамическое управление позициями.
Стратегия использует трехслойный механизм фильтрации сигналов:
Стратегия использует 15% собственного капитала счета в качестве размера позиции на одну сделку, поддерживая консервативное управление рисками.
Это хорошо структурированная и логически строгая стратегия следования трендам с практической ценностью применения благодаря многочисленным механизмам подтверждения сигналов и всеобъемлющей системе управления рисками.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step=0.01) // Compute supertrend values [supertrendValue, supertrendDirection] = ta.supertrend(factor, atrPeriod) var float direction = na if not na(supertrendDirection[1]) and supertrendDirection[1] != supertrendDirection direction := supertrendDirection > 0 ? 1 : -1 // Variables to track conditions var int lastShortTime = na var int lastLongTime = na // Detecting short and long entries if direction == -1 strategy.entry("My Short Entry Id", strategy.short) lastShortTime := bar_index if direction == 1 strategy.entry("My Long Entry Id", strategy.long) lastLongTime := bar_index // Custom signal logic bool bullishSignal = false bool bearishSignal = false // Define bullish signal conditions if not na(lastShortTime) and (bar_index - lastShortTime >= 15 and bar_index - lastShortTime <= 19) if close > open and close[1] > open[1] and close[2] > open[2] bullishSignal := true // Define bearish signal conditions if not na(lastLongTime) and (bar_index - lastLongTime >= 15 and bar_index - lastLongTime <= 19) if close < open and close[1] < open[1] and close[2] < open[2] bearishSignal := true // Plot signals if bullishSignal strategy.entry("Bullish Upward Signal", strategy.long) label.new(bar_index, close, text="Bullish", style=label.style_circle, color=color.green, textcolor=color.white) if bearishSignal strategy.entry("Bearish Downward Signal", strategy.short) label.new(bar_index, close, text="Bearish", style=label.style_circle, color=color.red, textcolor=color.white) // Optionally plot the strategy equity //plot(strategy.equity, title="Equity", color=color.red, linewidth=2, style=plot.style_areabr)