Estratégia de ruptura do canal SSL com perda de parada de rastreamento

Autora:ChaoZhang, Data: 2023-10-25 17:40:37
Tags:

img

Resumo

Esta estratégia usa o indicador de canal SSL para identificar a direção da tendência e as rupturas de negociação com impulso.

Estratégia lógica

  1. Calcular as faixas superior e inferior do canal SSL utilizando SMA de preços altos e baixos com N períodos.

  2. Gerar sinal longo quando o fechamento está acima da faixa superior, e sinal curto quando o fechamento está abaixo da faixa inferior.

  3. Defina uma perda de parada fixa na faixa oposta após a entrada, para limitar as perdas.

  4. Configure o stop loss que segue o movimento do preço, para garantir lucros.

  5. Sair quando o preço atingir o stop loss fixo ou o trailing stop loss.

Vantagens

  1. Use o indicador de canal para determinar a direcção da tendência, evitar falsas rupturas.

  2. O duplo stop loss combina a captação de lucros e o controlo de riscos.

  3. A alta frequência de negociação é adequada para negociações de curto prazo.

  4. Parâmetros flexíveis adaptáveis ao estilo de negociação pessoal.

  5. Detecção automática de comprimento/curto, sem necessidade de julgamento direcional.

Riscos

  1. Negociação a curto prazo propensa a choques de notícias e alta volatilidade.

  2. O valor da posição em risco deve ser calculado em função da posição em risco.

  3. O atraso de stop loss pode conduzir a uma saída prematura.

  4. Fugas de canal suscetíveis a sinais falsos.

  5. Apenas adequado para traders experientes de curto prazo.

Soluções:

  1. Estabelecer um stop loss fixo razoável para limitar as perdas por transação.

  2. Otimizar os níveis de stop loss para evitar uma saída antecipada.

  3. Adicione o filtro de volume para confirmar a verdadeira fuga.

  4. Gerenciar o dimensionamento das posições, dimensionar para controlar a exposição ao risco.

Optimização

  1. Otimizar os períodos SMA para encontrar o melhor comprimento.

  2. Tente outros indicadores de canal como BB, KD etc.

  3. Adicione o indicador de volume para confirmar a credibilidade da fuga.

  4. Considere a taxa de rotatividade para evitar uma falha de volume baixo.

  5. Teste diferentes períodos de espera para encontrar o momento ideal de saída.

  6. Testar parâmetros de stop loss fixos e atrasados.

  7. Ajustar a estratégia de dimensionamento de posições para maximizar a eficiência do capital.

Resumo

Esta estratégia combina o viés direcional do canal SSL e os sinais de ruptura, com gerenciamento duplo de stop loss. Ele reage rapidamente para capturar tendências, adequado para negociação de alta frequência. Cuidado com falhas de ruptura, refine os mecanismos de stop loss e controle do tamanho da posição. Com otimização adicional, tem o potencial de ser uma estratégia de negociação efetiva de ultra curto prazo.


/*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")


Mais.