Стратегия прорыва канала SSL с последующей остановкой потери

Автор:Чао Чжан, Дата: 2023-10-25 17:40:37
Тэги:

img

Обзор

Эта стратегия использует индикатор SSL-канала для выявления направления тренда и прорывов торговли с импульсом. Она длинна, когда цена превышает верхнюю полосу SSL, и коротка, когда цена превышает нижнюю полосу SSL.

Логика стратегии

  1. Вычислить верхние и нижние полосы канала SSL с использованием SMA высоких и низких цен с N периодами.

  2. Сгенерируйте длинный сигнал, когда ближайший находится выше верхней полосы, и короткий сигнал, когда ближайший находится ниже нижней полосы.

  3. Установите фиксированную стоп-потерю на противоположной полосе после входа, чтобы ограничить потери.

  4. Установите стоп-лосс, который следует за движением цены, чтобы зафиксировать прибыль.

  5. Выход, когда цена достигает либо фиксированного стоп-лосса, либо последующего стоп-лосса.

Преимущества

  1. Используйте индикатор канала для определения направления тренда, избегайте ложных прорывов.

  2. Двойная стоп-лосс сочетает в себе получение прибыли и контроль рисков.

  3. Высокая частота торговли подходит для сверхкороткосрочной торговли.

  4. Гибкие параметры, адаптируемые к личному стилю торговли.

  5. Автоматическое обнаружение длины/короткости, без необходимости направления.

Риски

  1. Краткосрочная торговля подвержена новостным шокам и высокой волатильности.

  2. Фиксированный стоп-лосс может привести к чрезмерному убытку после выхода.

  3. Неправильное отслеживание стоп-лосса может привести к преждевременному выходу.

  4. Прорыв канала, подверженный ложным сигналам.

  5. Подходит только для опытных краткосрочных трейдеров.

Решения:

  1. Установите разумный фиксированный стоп-лосс для ограничения потерь на одну сделку.

  2. Оптимизируйте уровень остановки потери, чтобы избежать раннего выхода.

  3. Добавьте фильтр громкости, чтобы подтвердить истинный прорыв.

  4. Управляйте размером позиций, масштабируйте для контроля риска.

Оптимизация

  1. Оптимизируйте периоды SMA, чтобы найти наилучшую длину.

  2. Попробуйте другие индикаторы канала, такие как BB, KD и т.д.

  3. Добавьте индикатор объема, чтобы подтвердить доверие к выходу.

  4. Учитывайте уровень оборота, чтобы избежать ложного прорыва низкого объема.

  5. Испытайте различные периоды ожидания, чтобы найти оптимальное время выхода.

  6. Испытать фиксированные и отслеживающие параметры стоп-потери.

  7. Настраивайте стратегию размещения позиций, чтобы максимизировать эффективность капитала.

Резюме

Эта стратегия сочетает в себе направленный уклон 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")


Больше