Stratégie de stop loss à moyenne mobile avec rupture de tendance double


Date de création: 2023-11-06 16:52:11 Dernière modification: 2023-11-06 16:52:11
Copier: 0 Nombre de clics: 654
1
Suivre
1617
Abonnés

Stratégie de stop loss à moyenne mobile avec rupture de tendance double

Aperçu

Cette stratégie est une combinaison d’indicateurs binaires et d’indicateurs de moyennes mobiles, utilisant les deux indicateurs binaires pour déterminer la direction de la tendance du marché et la confirmation de la tendance à l’aide des moyennes mobiles. Il s’agit d’une stratégie de suivi de tendance.

Principe de stratégie

  1. Calculer la trajectoire supérieure composée de la moyenne entre le prix de clôture d’hier et le prix le plus élevé de la période donnée, et la trajectoire inférieure composée de la moyenne entre le prix de clôture d’hier et le prix le plus bas de la période donnée.

  2. Comparer la relation entre le prix de clôture actuel et le cours de la ligne supérieure et de la ligne inférieure, pour déterminer la direction de la tendance actuelle. Le prix de clôture est supérieur au cours supérieur, jugé comme étant plus élevé; le prix de clôture est inférieur au cours inférieur, jugé comme étant vide.

  3. La courbe moyenne des cours de clôture SMA de 200 cycles est utilisée comme critère pour déterminer la courbe moyenne et longue.

  4. Lorsqu’il est jugé à plusieurs têtes, un signal d’achat est généré si le prix de clôture dépasse la moyenne SMA par le bas; lorsqu’il est jugé à vide, un signal de vente est généré si le prix de clôture dépasse la moyenne SMA par le haut.

  5. Après avoir entré dans une position à plusieurs têtes, si le prix de clôture est inférieur à la trajectoire, c’est un signal de plage; après avoir entré dans une position à vide, si le prix de clôture est inférieur à la trajectoire, c’est un signal de plage.

  6. Si le stop loss est dépassé à la clôture, le stop loss est activé.

Avantages stratégiques

  1. L’utilisation d’indicateurs de double succession pour déterminer la direction de la tendance permet d’identifier efficacement les tendances et d’augmenter la probabilité d’être dans la bonne direction.

  2. L’ajout d’une ligne uniforme permet de filtrer une partie du signal de bruit et d’éviter les erreurs de négociation dans des conditions de choc.

  3. Le stop-loss est utilisé pour contrôler le risque de perte individuelle et éviter les pertes excessives.

  4. Les stratégies sont relativement simples, faciles à comprendre et adaptées aux débutants.

Risque stratégique

  1. L’indicateur de double progression est plus sensible aux paramètres, les combinaisons de paramètres de différentes périodes peuvent entraîner de grandes différences de résultats. L’optimisation des paramètres doit être soigneusement testée.

  2. Si la ligne moyenne est trop longue, elle peut filtrer plus d’opportunités de trading; si la ligne moyenne est trop courte, elle est moins efficace pour la réduction du bruit.

  3. Le point de rupture est trop large pour permettre une bonne maîtrise des risques; trop étroit pour être déclenché par des fluctuations de prix régulières. Il est nécessaire de définir prudemment la zone de rupture.

  4. La stratégie est plus dépendante de l’optimisation des paramètres, et si les paramètres sont mal réglés, il est possible de ne pas identifier correctement la direction de la tendance, ce qui entraîne des erreurs de décision de négociation.

Orientation de l’optimisation de la stratégie

  1. Il est possible de tester des combinaisons de paramètres de différentes périodes pour trouver des paramètres qui permettent à l’indicateur binaire de suivre la tendance avec plus de précision.

  2. Il est possible de tester des indices de moyenne pour différents cycles et de trouver le paramètre de moyenne optimal pour équilibrer l’effet de débruit et la conservation du signal.

  3. Il est possible d’essayer de concevoir des mécanismes de stop-loss qui s’adaptent aux fluctuations du marché, afin de les rendre plus proches des conditions du marché.

  4. Il est possible d’essayer d’ajouter d’autres indicateurs, comme la confirmation de la quantité, la transparence des délais, etc., pour améliorer la stabilité de la stratégie.

  5. Les stratégies optimisées peuvent être vérifiées à l’aide de l’analyse de marche en avant pour s’assurer que les paramètres restent stables.

Résumer

Cette stratégie, qui intègre les avantages de l’indicateur à double progression et de la moyenne mobile, est une stratégie de suivi de tendance qui offre une plus grande marge d’optimisation des paramètres. Une meilleure performance de la stratégie peut être obtenue par la définition et l’optimisation de paramètres raisonnables.

Code source de la stratégie
/*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))