La tendance suivie par la stratégie basée sur le modèle de nuage à trois indicateurs

Auteur:ChaoZhang est là., Date: 2023-09-13 17h38:55
Les étiquettes:

Cette stratégie s'appelle Trend Following Strategy Based on Triple Indicator Cloud Pattern. Elle intègre trois types différents d'indicateurs de tendance pour former un modèle de nuage.

Les trois indicateurs utilisés sont les suivants:

Moyenne mobile adaptative de Kaufman, sensible à la capture de la volatilité du marché.

La moyenne mobile de la coque, avec ses virages lisses, filtre les faux signaux.

Mécanisme de SuperTrend, formant des canaux de prix pour éviter de poursuivre les hauts et de vendre les bas.

Ensemble, ils forment le modèle de nuage, la bande supérieure étant les valeurs les plus élevées des trois, et la bande inférieure les valeurs les plus faibles.

La logique de négociation est la suivante:

Lorsque le haut du chandelier se déplace au-dessus du sommet des nuages, il signale la rupture du canal de tendance haussière pour un signal d'achat.

Lorsque la fermeture ou la baisse dépasse le bas des nuages, elle marque le début d'une tendance à la baisse pour la fermeture des positions longues.

L'avantage de cette stratégie est que l'indicateur combo juge l'état de la tendance plus précisément, réduisant les faux signaux.

En résumé, l'utilisation de plusieurs indicateurs pour déterminer les tendances est une approche courante et efficace.


/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SnarkyPuppy

//@version=5
strategy("HKST Cloud", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100)



////////////////nAMA
Lengthkaufman = input(20) 
xPrice = ohlc4
xvnoise = math.abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[Lengthkaufman])
nnoise = math.sum(xvnoise, Lengthkaufman)
nefratio = nnoise != 0? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA =  float(0)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//plot(nAMA,color=color.red)
///short=input(true)



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

////////hull moving average
hull_len=input(20)
hull= ta.hma(nAMA,hull_len)

///////atr trail
atr_factor=input(2)
atr_period=input(5)
[supertrend, direction] = ta.supertrend(atr_factor,atr_period)

/////////cloud
band1= math.max(supertrend,hull,nAMA)
band2= math.min(supertrend,hull,nAMA)

b1=plot(band1, "band1", color = color.rgb(76, 175, 79, 85), style=plot.style_linebr)
b2=plot(band2, "band2", color = color.rgb(255, 82, 82, 78), style=plot.style_linebr)
fill(b1,b2,color.rgb(12, 50, 186, 75))
longCondition = ta.crossover(high,band1) //or ta.crossover(low,band2)
if (longCondition)
    strategy.entry("Up", strategy.long)

shortCondition =  ta.crossunder(low,band2) or close<band2
if (shortCondition) 
    strategy.close("Up", shortCondition)



Plus de