
Cette stratégie est basée sur l’indicateur de morphologie du nuage ICHIMOKU et l’indicateur de randomisation STOCH, permettant de juger et de suivre les tendances.
La stratégie est basée sur le graphique ICHIMOKU Cloud et l’indicateur STOCH pour juger de la direction de la tendance actuelle, ainsi que sur la sur-achat et la sur-vente.
Lorsque la conversion de la ligne de conversion sur la ligne de base de la ligne de référence et le repli de l’indicateur Stoch de la zone de survente, est considéré comme étant dans la tendance à la hausse, la stratégie de prendre la direction de la hausse; lorsque la conversion de la ligne de la ligne de bas de la ligne de la ligne de conversion et le repli de l’indicateur Stoch de la zone de survente, est considéré comme étant dans la tendance à la baisse, la stratégie de prendre la direction de la baisse.
Dans le code, la ligne de conversion est définie comme la moyenne des prix les plus élevés et les plus bas de près de N1 lignes K; la ligne de référence est définie comme la moyenne des prix les plus élevés et les plus bas de près de N2 lignes K. Un signal de baisse est généré lorsque la ligne de conversion traverse la ligne de référence.
Dans l’indicateur Stoch, les seuils de la ligne de survente et de la ligne de survente sont définis, ainsi que les paramètres d’aplatissement K et D. Le Stoch génère un signal positif lorsqu’il rebondit de la zone de survente et un signal négatif lorsqu’il recule de la zone de survente.
La stratégie permet de juger de la direction des tendances en combinant deux indicateurs.
Cette stratégie, combinée à un indicateur de morphologie graphique et à un indicateur de sur-achat et de sur-vente, permet de déterminer efficacement la direction de la tendance.
Comparé à l’utilisation d’un seul indicateur de jugement de tendance, cette stratégie prend en compte les tendances et les situations de dépassement, ce qui permet de juger plus précisément du moment de l’entrée en bourse.
Les diagrammes ICHIMOKU permettent d’identifier les tendances à la ligne moyenne et longue, tandis que les indicateurs Stoch permettent de détecter les sur-achats et les sur-vente à court terme, qui se complètent pour former des jugements systématiques.
La stratégie présente principalement les risques suivants:
Risque systémique de défaillance de l’indicateur en cas d’événement soudain de cyclone noir
Il y a un certain retard, un risque de manquer une partie de la transaction ou d’ouvrir une position à l’envers.
Il existe une certaine subjectivité dans le jugement global de multiples facteurs, et un mauvais réglage des paramètres peut entraîner un risque d’erreur.
Le coût des transactions a une certaine incidence sur les bénéfices lorsque les transactions sont fréquentes.
Les mesures d’optimisation correspondantes:
Le gouvernement a décidé d’écrire un rapport sur les événements de la semaine prochaine et d’en faire un rapport sur la semaine prochaine.
Réduire de manière appropriée les paramètres de cycle pour réduire la probabilité de jugement en retard.
Les paramètres sont optimisés par des tests de retour, afin d’améliorer la science des paramètres.
Augmentation de la marge de stop-loss et réduction de la fréquence des transactions.
La stratégie peut être optimisée principalement dans les domaines suivants:
Optimiser les paramètres cycliques de la ligne de conversion et de la ligne de référence de l’ICHIMOKU pour les rendre plus adaptés aux caractéristiques des différents marchés.
Optimiser les paramètres de l’indicateur de Stoch pour l’aplatissement de K et D, ainsi que les paramètres de seuil de surachat et de survente.
ajouter d’autres indicateurs de jugement, former des modèles multifactoriels et améliorer la systématisation des stratégies.
Optimiser les points de stop-loss, réduire la fréquence des transactions tout en garantissant des bénéfices.
Ajout d’un module de jugement sur les événements inattendus, afin d’éviter la défaillance lors des événements majeurs.
Cette stratégie est basée sur le diagramme ICHIMOKU Cloud et l’indicateur Stoch, permettant de suivre efficacement la tendance. En raison de la prise en compte des indicateurs graphiques et quantifiés, la stratégie est plus systématique.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ICHI + STOCH V1", overlay=true)
length = input.int(20, minval=1)
smoothK = input(5)
smoothD = input(3)
OverBought = input(25)
OverSold = input(65)
Profit = input(1800)
Stop = input(1200)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k,d)
cu = ta.crossunder(k,d)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")
conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))
TREND = ta.ema(math.avg(leadLine1,leadLine2),displacement)
//plot(conversionLine, color=#2962FF, title="Conversion Line")
//plot(baseLine, color=#B71C1C, title="Base Line")
//plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
plot(TREND, color=#2962FF, title="TREND")
p1 = plot(leadLine1,style=plot.style_line, offset = displacement - 1, color=#A5D6A7,
title="Leading Span A")
p2 = plot(leadLine2,style=plot.style_line, offset = displacement - 1, color=#EF9A9A,
title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
close_price = ta.sma(close,1)
pc = plot(close_price,style=plot.style_line, color=#2a0ab9,
title="Price Close")
if (not na(k) and not na(d))
if (co and k < OverSold)and(close_price > TREND)
strategy.entry("BUY order", strategy.long, comment="BUY order")
strategy.exit("exitBUY", "BUY order", profit = Profit, loss = Stop)
if (cu and k > OverBought)and(close_price < TREND)
strategy.entry("SELL order", strategy.short, comment="SELL order")
strategy.exit("exitSELL", "SELL order", profit = Profit, loss = Stop)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)