Stratégie de rupture du canal SSL avec arrêt de perte de suivi

Auteur:ChaoZhang est là., Date: 2023-10-25 17:40:37 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie utilise l'indicateur de canal SSL pour identifier la direction de la tendance et les ruptures commerciales avec l'élan. Il va long lorsque le prix dépasse la bande supérieure de SSL et court lorsque le prix dépasse la bande inférieure de SSL.

La logique de la stratégie

  1. Calculer les bandes supérieures et inférieures du canal SSL en utilisant la SMA des prix élevés et bas avec N périodes.

  2. Générer un signal long lorsque le proche est au-dessus de la bande supérieure, et un signal court lorsque le proche est en dessous de la bande inférieure.

  3. Définir un stop loss fixe à la bande opposée après l'entrée, afin de limiter les pertes.

  4. Mettez un stop-loss qui suit le mouvement des prix, pour bloquer les profits.

  5. Sortez lorsque le prix atteint soit un stop loss fixe, soit un stop loss de trailing.

Les avantages

  1. Utilisez l'indicateur de canal pour déterminer la direction de la tendance, éviter les fausses ruptures.

  2. Le double stop loss combine la prise de profit et le contrôle des risques.

  3. Une fréquence de négociation élevée convient aux transactions à très court terme.

  4. Paramètres flexibles adaptés à votre style de trading.

  5. Détection automatique longue/courte, pas besoin de jugement directionnel.

Les risques

  1. Les transactions à court terme sont sujettes à des chocs et à une forte volatilité.

  2. L'établissement doit fournir des informations détaillées sur les risques liés à l'utilisation de l'instrument.

  3. Un arrêt-perte de trail inapproprié peut entraîner une sortie prématurée.

  4. Des ruptures de canal susceptibles de provoquer de faux signaux.

  5. Convient uniquement aux traders expérimentés à court terme.

Les solutions:

  1. Définir un stop loss fixe raisonnable pour limiter les pertes par transaction.

  2. Optimiser les niveaux de stop-loss pour éviter une sortie anticipée.

  3. Ajoutez le filtre de volume pour confirmer la véritable fuite.

  4. Gérer la taille de la position, la mise à l'échelle pour contrôler l'exposition au risque.

Optimisation

  1. Optimiser les périodes SMA pour trouver la meilleure longueur.

  2. Essayez d'autres indicateurs de canal comme BB, KD etc.

  3. Ajoutez un indicateur de volume pour confirmer la crédibilité de l'évasion.

  4. Considérez le taux de roulement pour éviter une fausse rupture de faible volume.

  5. Testez différentes périodes de rétention pour trouver le moment optimal de sortie.

  6. Test des paramètres de stop loss fixes et suivants.

  7. Ajustez la stratégie de dimensionnement des positions pour maximiser l'efficacité du capital.

Résumé

Cette stratégie combine les signaux de biais directionnel et de rupture du canal SSL, avec une double gestion des pertes d'arrêt. Elle réagit rapidement pour capturer les tendances, adaptée au trading à haute fréquence. Méfiez-vous des fausses ruptures, affiner les mécanismes de rupture de perte et contrôler la taille des positions. Avec une optimisation supplémentaire, elle a le potentiel d'être une stratégie de trading à très court terme efficace.


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


Plus de