
Cette stratégie est basée sur la stratégie de croisement des moyennes mobiles sur le graphique de Renko. Elle utilise l’indicateur TEMA pour construire des signaux de croisement et les filtre en combinaison avec la moyenne à long terme afin d’identifier les tendances sur le graphique de Renko et d’émettre des signaux d’achat et de vente.
La principale source de signaux de cette stratégie est l’indicateur TEMA à court terme et la fourche dorée de l’indicateur SMA. La logique spécifique est la suivante:
Lorsque le TEMA à court terme est en cours de passage au SMA à court terme, faites plus; lorsque le TEMA à court terme est en cours de passage au SMA à court terme, faites un plafond.
En outre, la stratégie définit deux paramètres optionnels, avg_protection et gain_protection, pour régler la logique d’entrée et de sortie:
Lorsque avg_protection > 0, l’acheteur n’achète que lorsque le prix de clôture est inférieur au prix moyen de la position actuelle, ce qui réduit le coût de la position;
Lorsque gain_protection > 0, le stop est vendu uniquement si le prix de clôture dépasse un certain pourcentage du prix d’entrée, ce qui permet de verrouiller les bénéfices.
Enfin, la stratégie utilise également un indicateur SMMA à long terme comme filtre de tendance. Un signal de multiplication n’est émis que lorsque le prix de clôture est inférieur au SMMA.
Les principaux avantages de cette stratégie sont les suivants:
Cette stratégie comporte aussi des risques:
Ces risques peuvent être évités en ajustant les paramètres de manière appropriée, en définissant des positions de stop loss, etc.
Cette stratégie peut être optimisée principalement dans les domaines suivants:
La stratégie est globalement une stratégie de croisement de ligne mobile simple mais très pratique. Elle s’appuie principalement sur l’excellent effet de désencombrement de la ligne Renko K et sur la haute sensibilité de l’indicateur TEMA pour générer des signaux.
/*backtest
start: 2023-01-17 00:00:00
end: 2024-01-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TEMA Cross", overlay = true)
tema(src, len) =>
3*ema(src, len) - 3*ema(ema(src, len), len) + ema(ema(ema(src, len),len),len)
smma(src, len) =>
sa = 0.0
sa := na(sa[1]) ? sma(src, len) : (sa[1] * (len - 1) + src) / len
sa
temaLength = input(5)
smaLength = input(3)
smmaLength = input(30)
tema1 = tema(close, temaLength)
sma1 = sma(tema1, smaLength)
smma1 = smma(close,smmaLength)
plot(tema1, color = green, title = "TEMA")
plot(sma1, color = orange, title = "SMA")
plot(smma1, color = red, title = "SMMA")
minGainPercent = input(2)
gainMultiplier = minGainPercent * 0.01 + 1
avg_protection = input(1)
gain_protection = input(1)
longCondition = crossover(tema1, sma1) and tema1 < smma1
shortCondition = crossunder(tema1, sma1)
strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))