
Cette stratégie est une stratégie de suivi de tendance basée sur une ligne de parité. Elle utilise l’indicateur de diagramme de nuage d’Ichimoku pour déterminer la direction de la tendance, en combinaison avec le filtrage des signaux de moyenne mobile à 200 jours, permettant le suivi de la tendance.
La stratégie utilise principalement la ligne de conversion et la ligne de base d’un diagramme nuageux pour déterminer la direction de la tendance. La ligne de conversion est la moyenne des prix moyens des 9 derniers jours et la ligne de base est la moyenne des prix moyens des 26 derniers jours.
La stratégie utilise également des moyennes mobiles de 200 jours pour filtrer les signaux. Un signal d’achat n’est généré que lorsque le prix de clôture est supérieur à la ligne de 200 jours. Cela permet de filtrer la plupart des faux signaux.
Pour l’exit, la stratégie est simple: utilisez la transition sous la ligne de traversée de la ligne de base comme signal d’équilibre.
Cette stratégie, combinée à un diagramme de nuage de l’indicateur de jugement de tendance et à un filtrage de tendance à long terme de l’indicateur de 200 jours, permet de suivre efficacement la tendance et de filtrer la plupart des faux signaux. L’utilisation de paramètres tels que la moyenne des prix moyens peut réduire l’impact sur la ligne moyenne en raison d’une fluctuation anormale des prix.
Par rapport à l’utilisation d’indicateurs tels que les moyennes mobiles, cette stratégie permet de mieux capturer les points de retournement de tendance, afin de modifier la position en temps opportun. C’est son plus grand avantage.
La stratégie repose principalement sur l’indicateur d’un nuage pour déterminer la direction de la tendance, tandis que le nuage lui-même génère un mauvais signal. Si le jugement est dévié, la stratégie peut entraîner des pertes.
En outre, une mauvaise configuration des paramètres peut entraîner une mauvaise performance de la stratégie. Si les paramètres de la ligne de conversion sont trop courts, un faux signal peut être généré; si les paramètres de la ligne de base sont trop longs, l’effet de suivi est altéré.
On peut envisager d’améliorer la qualité du signal en le combinant avec d’autres indicateurs, par exemple le KDJ pour déterminer les zones de survente et de survente pour filtrer les signaux. Ou utiliser l’indicateur ATR pour définir un stop loss.
Il est possible de tester des combinaisons de paramètres, par exemple en ajustant les paramètres de la ligne de conversion de 5 ou 7 jours, pour obtenir un signal de transaction plus sensible. Il est également possible de tester des paramètres de base modifiés d’environ 20 jours pour équilibrer l’effet de suivi.
En outre, il est possible d’envisager d’arrêter une stratégie dans un environnement particulièrement volatile, afin d’éviter les effets d’une forte tendance.
La stratégie intègre les avantages du jugement de tendance et des indicateurs de filtrage à long terme, permettant de suivre efficacement les tendances à moyen et long terme. Les paramètres de réglage et les mesures de contrôle du vent doivent également être optimisés en permanence pour réduire les effets des faux signaux et des fluctuations.
/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="TK Cross > EMA200 Strat", overlay=true)
ema200 = ema(close, 200)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#0496ff, title="Conversion Line", linewidth=3)
plot(baseLine, color=#991515, title="Base Line", linewidth=3)
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement, color=green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
plot(ema200, color=purple, linewidth=4,title='ema200')
strategy.initial_capital = 50000
strategy.entry('tkcross', strategy.long, strategy.initial_capital / close, when=conversionLine>baseLine and close > ema200)
strategy.close('tkcross', when=conversionLine<baseLine)
start = input(2, minval=0, maxval=10, title="Start - Default = 2 - Multiplied by .01")
increment = input(2, minval=0, maxval=10, title="Step Setting (Sensitivity) - Default = 2 - Multiplied by .01" )
maximum = input(2, minval=1, maxval=10, title="Maximum Step (Sensitivity) - Default = 2 - Multiplied by .10")
sus = input(true, "Show Up Trending Parabolic Sar")
sds = input(true, "Show Down Trending Parabolic Sar")
disc = input(false, title="Start and Step settings are *.01 so 2 = .02 etc, Maximum Step is *.10 so 2 = .2")
//"------Step Setting Definition------"
//"A higher step moves SAR closer to the price action, which makes a reversal more likely."
//"The indicator will reverse too often if the step is set too high."
//"------Maximum Step Definition-----")
//"The sensitivity of the indicator can also be adjusted using the Maximum Step."
//"While the Maximum Step can influence sensitivity, the Step carries more weight"
//"because it sets the incremental rate-of-increase as the trend develops"
startCalc = start * .01
incrementCalc = increment * .01
maximumCalc = maximum * .10
sarUp = sar(startCalc, incrementCalc, maximumCalc)
sarDown = sar(startCalc, incrementCalc, maximumCalc)
colUp = close >= sarDown ? lime : na
colDown = close <= sarUp ? red : na
plot(sus and sarUp ? sarUp : na, title="Up Trending SAR", style=circles, linewidth=3,color=colUp)
plot(sds and sarDown ? sarDown : na, title="Up Trending SAR", style=circles, linewidth=3,color=colDown)