Stratégie double SSL avec EMA Stop Loss

Auteur:ChaoZhang est là., Date: 2023-11-06 16h52 et 11h11
Les étiquettes:

img

Résumé

Cette stratégie intègre l'indicateur double SSL et l'indicateur de moyenne mobile, en utilisant l'indicateur double SSL pour déterminer la direction de la tendance du marché et les moyennes mobiles pour la confirmation de la tendance.

La logique de la stratégie

  1. Calculer le rail supérieur en prenant la SMA du prix le plus élevé sur une période spécifique par rapport à la clôture d'hier. Calculer le rail inférieur en prenant la SMA du prix le plus bas sur une période spécifique par rapport à la clôture d'hier.

  2. Comparez le prix de clôture actuel avec les rails supérieur et inférieur pour déterminer la direction de la tendance actuelle. Si le prix de clôture est au-dessus du rail supérieur, la tendance est déterminée comme haussière. Si le prix de clôture est en dessous du rail inférieur, la tendance est déterminée comme baissière.

  3. Calculer la SMA de 200 périodes des prix de clôture comme référence pour les tendances à moyen et à long terme.

  4. Lors d'une tendance haussière, si le prix de clôture dépasse la SMA depuis le bas, un signal d'achat est généré.

  5. Après l'entrée d'une position longue, si le prix de clôture dépasse la barre supérieure, il s'agit d'un signal de clôture.

  6. Si le prix de clôture dépasse le point de stop loss, l'ordre stop loss est déclenché.

Les avantages

  1. L'utilisation de l'indicateur Double SSL pour déterminer la direction de la tendance peut identifier efficacement les tendances et augmenter la probabilité d'entrer dans la bonne direction.

  2. L'ajout de moyennes mobiles peut filtrer certains signaux bruyants et éviter de mauvaises transactions sur des marchés instables.

  3. L'utilisation d'un stop loss pour contrôler le risque de transaction unique peut éviter efficacement des pertes excessives.

  4. La logique de la stratégie est relativement simple et facile à comprendre, adaptée aux débutants.

Les risques

  1. L'indicateur double SSL est sensible au réglage des paramètres, différentes combinaisons de périodes peuvent conduire à des résultats très différents.

  2. Un MA trop long élimine trop d'opportunités de négociation, tandis qu'un MA trop court ne peut pas dénoncer efficacement.

  3. Une plage de stop loss trop large ne permet pas de contrôler efficacement le risque, tandis qu'une plage trop étroite peut être déclenchée par des fluctuations normales de prix.

  4. La stratégie repose fortement sur l'optimisation des paramètres. Des paramètres incorrects peuvent ne pas identifier correctement les tendances, conduisant à de mauvaises décisions de trading.

Directions d'optimisation

  1. Testez différentes combinaisons de périodes pour trouver des paramètres qui peuvent améliorer la précision de la détermination de la tendance pour l'indicateur Double SSL.

  2. Tester différentes MAs de période pour trouver l'équilibre optimal entre les signaux de dénouement et de conservation.

  3. L'examen des stops-loss adaptatifs qui s'ajustent en fonction de la volatilité du marché afin de rendre le stop-loss plus réactif.

  4. Incorporer d'autres indicateurs de confirmation, tels que le volume, la confluence de plusieurs délais, pour améliorer la robustesse.

  5. L'analyse de l'évolution devrait être effectuée sur la stratégie optimisée afin d'assurer sa robustesse.

Conclusion

Cette stratégie combine les atouts de l'indicateur double SSL et des moyennes mobiles. Avec un potentiel important d'optimisation des paramètres, c'est une stratégie de suivi de tendance. Avec un réglage et une optimisation raisonnables des paramètres, de bons résultats peuvent être obtenus. Cependant, le risque de surajustement doit être contrôlé pour assurer la robustesse. Dans l'ensemble, cette stratégie sert de bon exemple pour l'exploration et l'apprentissage.


/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@Isaac
//Estrategia vista en ▼▼
//YT: Trading Zone
strategy('SSL Strategy + EMA 200 AND Stop Loss', overlay=true)

ema = ta.ema(close, 200)

stop_loss = input.float(2.00, title='Stop Loss', step=0.10)

period = input(title='Period', defval=10)
len = input(title='Period', defval=10)
smaHigh = ta.sma(high, len)
smaLow = ta.sma(low, len)
Hlv = int(na)
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh


cruceArriba = ta.crossover(sslUp, sslDown)
cruceAbajo = ta.crossunder(sslUp, sslDown)

alcista = (close > ema ) and (cruceArriba) 
bajista = (close < ema) and (cruceAbajo)

var SL = 0.0
//Cerrar compra por cruce
por_cruce = ta.crossunder(sslUp, sslDown)

//Cerrar venta por cruce
por_cruceAB = ta.crossunder(sslDown, sslUp)

//Cerrar compra y venta por stop loss
Stop = SL

comprado = strategy.position_size > 0
vendido = strategy.position_size < 0

UTmpconvertL = strategy.position_avg_price * (1 + 0.1)
UTmpdefineL = (UTmpconvertL > close and strategy.openprofit > 0.1)
UTSPL = UTmpdefineL

SPL = UTSPL

///////////////////////////////////////////////////////////////////////

UTmpconvertLS = strategy.position_avg_price * (1 + 0.1)
UTmpdefineLS = (UTmpconvertLS > close and strategy.openprofit > 0.1)
UTSPLS = UTmpdefineLS

SPLS = UTSPLS

////////////////////////////////////////////////////////////////////////

if not comprado and not vendido and alcista
    cantidad = (strategy.equity / close)
    strategy.entry('Compra', strategy.long, qty=cantidad, comment="Long")
    SL := sslDown


if comprado and not vendido and por_cruce and SPL
    strategy.close("Compra", comment="Exit Long")
    SL := 0
    
if comprado and not vendido and Stop
    strategy.exit('Compra', stop=Stop, comment="SL")
    SL := 0

///////////////////////////////////////////////////////////////////

if not comprado and not vendido and bajista
    cantidad = (strategy.equity / close)
    strategy.entry('Venta', strategy.short, qty=cantidad, comment="Short")
    SL := sslDown

if not comprado and vendido and por_cruceAB and SPLS
    strategy.close("Venta", comment="Exit Short")
    SL := 0
    
if not comprado and vendido and Stop
    strategy.exit('Venta', stop=Stop, comment="SLS")
    SL := 0



plot(Stop > 0 ? Stop : na, style=plot.style_circles, color=color.new(color.yellow,0))
plot(ema)
plot(sslDown, linewidth=2, color=color.new(color.red, 0))
plot(sslUp, linewidth=2, color=color.new(color.lime, 0))




Plus de