Эта стратегия использует индикатор SSL-канала для выявления направления тренда и прорывов торговли с импульсом. Она длинна, когда цена превышает верхнюю полосу SSL, и коротка, когда цена превышает нижнюю полосу SSL.
Вычислить верхние и нижние полосы канала SSL с использованием SMA высоких и низких цен с N периодами.
Сгенерируйте длинный сигнал, когда ближайший находится выше верхней полосы, и короткий сигнал, когда ближайший находится ниже нижней полосы.
Установите фиксированную стоп-потерю на противоположной полосе после входа, чтобы ограничить потери.
Установите стоп-лосс, который следует за движением цены, чтобы зафиксировать прибыль.
Выход, когда цена достигает либо фиксированного стоп-лосса, либо последующего стоп-лосса.
Используйте индикатор канала для определения направления тренда, избегайте ложных прорывов.
Двойная стоп-лосс сочетает в себе получение прибыли и контроль рисков.
Высокая частота торговли подходит для сверхкороткосрочной торговли.
Гибкие параметры, адаптируемые к личному стилю торговли.
Автоматическое обнаружение длины/короткости, без необходимости направления.
Краткосрочная торговля подвержена новостным шокам и высокой волатильности.
Фиксированный стоп-лосс может привести к чрезмерному убытку после выхода.
Неправильное отслеживание стоп-лосса может привести к преждевременному выходу.
Прорыв канала, подверженный ложным сигналам.
Подходит только для опытных краткосрочных трейдеров.
Решения:
Установите разумный фиксированный стоп-лосс для ограничения потерь на одну сделку.
Оптимизируйте уровень остановки потери, чтобы избежать раннего выхода.
Добавьте фильтр громкости, чтобы подтвердить истинный прорыв.
Управляйте размером позиций, масштабируйте для контроля риска.
Оптимизируйте периоды SMA, чтобы найти наилучшую длину.
Попробуйте другие индикаторы канала, такие как BB, KD и т.д.
Добавьте индикатор объема, чтобы подтвердить доверие к выходу.
Учитывайте уровень оборота, чтобы избежать ложного прорыва низкого объема.
Испытайте различные периоды ожидания, чтобы найти оптимальное время выхода.
Испытать фиксированные и отслеживающие параметры стоп-потери.
Настраивайте стратегию размещения позиций, чтобы максимизировать эффективность капитала.
Эта стратегия сочетает в себе направленный уклон SSL-канала и сигналы прорыва, с двойным управлением стоп-лосом. Она быстро реагирует на тенденции, подходящая для высокочастотного трейдинга. Остерегайтесь ложных прорывов, усовершенствуйте механизмы стоп-лосса и контролируйте размер позиций. При дальнейшей оптимизации она может стать эффективной ультракороткосрочной торговой стратегией.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SSL Channel Cross with Trailing Stop and Stop Loss", overlay=true) period = input(title="Period", defval=10) len = input(title="Length", defval=10) smaHigh = sma(high, len) smaLow = sma(low, len) Hlv = 0 Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh : smaLow sslUp = Hlv < 0 ? smaLow : smaHigh plot(sslDown, linewidth=2, color=color.red) plot(sslUp, linewidth=2, color=color.lime) longCondition = crossover(sslUp, sslDown) shortCondition = crossunder(sslUp, sslDown) // Define el tamaño del trailing stop en puntos (ajusta según tu preferencia) trailingStopSize = input(title="Trailing Stop Size (in Points)", defval=10) var float trailingStopPrice = na var float stopLossPrice = na if (longCondition) // Si se cumple la condición de compra, configura la posición larga, el trailing stop y el stop loss strategy.entry("Long", strategy.long) trailingStopPrice := low - trailingStopSize stopLossPrice := sslDown if (shortCondition) // Si se cumple la condición de venta corta, configura la posición corta, el trailing stop y el stop loss strategy.entry("Short", strategy.short) trailingStopPrice := high + trailingStopSize stopLossPrice := sslUp // Calcula el trailing stop if (strategy.position_size > 0) trailingStopPrice := max(trailingStopPrice, stopLossPrice) if (close < trailingStopPrice) strategy.close("ExitLong", comment="Trailing Stop Long") if (strategy.position_size < 0) trailingStopPrice := min(trailingStopPrice, stopLossPrice) if (close > trailingStopPrice) strategy.close("ExitShort", comment="Trailing Stop Short")