
La stratégie de rupture de la chaîne de Tongan est une stratégie de trading quantitatif de type suivi de tendance. La stratégie utilise la chaîne de Tongan pour capturer les tendances du marché, tout en utilisant les arrêts mobiles ATRSL pour contrôler les risques.
donLengthParamètres calculés dans le passédonLengthLes prix maximaux et minimaux d’un cycle sont respectivement utilisés pour la mise en service du tunnel de Dongcheng.donUpperet le bas de la voiedonLowerLa ligne médiane.donBasisPour la moyenne de la montée et de la descente des voies.AP2 et AF2Paramètre de calcul de la valeur ATRSL2Et ensuite, selon le prix de clôture actuel.SCLe prix d’achat est le même que le prix de vente précédent.Trail2[1]La relation entre la dynamique d’ajustement et le mouvement du stop lossTrail2。donLength、AP2 et AF2Paramètres et paramètres d’optimisation de la performance de la stratégie.La stratégie de rupture de la chaîne de Dongguan est une stratégie classique de suivi de la tendance, qui capture la tendance via la chaîne de Dongguan et utilise le contrôle des risques de stop-loss mobile ATRSL. L’avantage de la stratégie est la logique simple et claire, facile à mettre en œuvre et à optimiser; les inconvénients sont les mauvaises performances en cas de choc du marché et de revers de tendance, et la configuration des paramètres a une grande influence sur la performance de la stratégie.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Stock Trend USE THIS", overlay = true)
donLength = input(100, minval=1)
//Donchian Long
donLower = lowest(donLength)
donUpper = highest(donLength)
donBasis = avg(donUpper,donLower)
// ATRSL
SC = close
// Slow Trail //
AP2 = input(10, title="Slow ATR period") // ATR Period
AF2 = input(3, title="Slow ATR multiplier") // ATR Factor
SL2 = AF2 * atr(AP2) // Stop Loss
Trail2 = 0.0
iff_3 = SC > nz(Trail2[1], 0) ? SC - SL2 : SC + SL2
iff_4 = SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0) ? min(nz(Trail2[1], 0), SC + SL2) : iff_3
Trail2 := SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0) ? max(nz(Trail2[1], 0), SC - SL2) : iff_4
// Long and Short Conditions
longCondition = (crossover(close,donUpper[1]))
// Close Conditions
closeLongCondition = crossunder(close,Trail2)
// Strategy logic
if (longCondition)
strategy.entry("Long", strategy.long)
alert("Open Long position")
if (closeLongCondition)
strategy.close("Long")
alert("Close Long position")
// Plot Donchian
l = plot(donLower, color=color.blue)
u = plot(donUpper, color=color.blue)
plot(donBasis, color=color.orange)
fill(u, l, color=color.blue)
plot(Trail2, color=color.blue, title="ATRSL Trail")