Stratégie de suivi des tendances basée sur les indicateurs ICHIMOKU Cloud et STOCH

Auteur:ChaoZhang est là., Date: 2023-11-15 11:19:29 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie est basée sur l'indicateur ICHIMOKU et l'indicateur aléatoire STOCH pour déterminer et suivre les tendances.

Principe de stratégie

La stratégie évalue principalement la tendance actuelle et les situations de surachat/survente à l'aide du graphique des nuages ICHIMOKU et de l'indicateur STOCH.

Lorsque la ligne de conversion traverse au-dessus de la ligne de base et que l'indicateur Stoch rebondit de la zone de survente, il est considéré comme une tendance haussière et la stratégie prend une direction haussière.

Dans le code, la ligne de conversion est définie comme la moyenne des prix les plus élevés et les plus bas des dernières barres N1; la ligne de base est définie comme la moyenne des prix les plus élevés et les plus bas des dernières barres N2. Un signal haussier est généré lorsque la ligne de conversion traverse au-dessus de la ligne de base.

L'indicateur Stoch définit les lignes de seuil de surachat et de surachat, ainsi que les paramètres de lissage K et D. Un signal haussier est généré lorsque le Stoch rebondit de la zone de surachat, et un signal baissier est généré lorsqu'il recule de la zone de surachat.

En combinant les deux indicateurs, la stratégie détermine la direction de la tendance.

Analyse des avantages

La stratégie combine des indicateurs de tendance graphique et des indicateurs de surachat/survente pour déterminer efficacement la direction de la tendance.

Par rapport à l'utilisation d'un seul indicateur de jugement de tendance, cette stratégie prend en considération de manière exhaustive les situations de tendance et de dépassement et permet de déterminer plus précisément le moment de l'entrée.

Le graphique des nuages ICHIMOKU permet d'identifier les tendances à moyen et à long terme, tandis que l'indicateur Stoch permet de détecter les situations de surachat/survente à court terme.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. Le risque de défaillance de l'indicateur en cas de cygne noir.

  2. Il y a un certain retard, qui peut manquer une partie de la tendance ou inverser les positions d'ouverture.

  3. Le jugement combiné de plusieurs facteurs a une certaine subjectivité et des paramètres incorrects peuvent causer des erreurs.

  4. Une fréquence de négociation élevée peut avoir une incidence sur les bénéfices en raison des coûts de transaction.

Mesures d'optimisation correspondantes:

  1. Combiner les événements d'actualité pour éviter les transactions à l'aveugle lors d'événements politiques majeurs.

  2. Réduire de manière appropriée les paramètres du cycle afin de réduire la probabilité de retard.

  3. Optimiser les paramètres par le backtesting pour améliorer les paramètres scientifiques.

  4. Augmenter de manière appropriée les plages de prise de profit et de stop loss pour réduire la fréquence des transactions.

Directions d'optimisation

Les principales orientations d'optimisation de cette stratégie sont les suivantes:

  1. Optimiser les paramètres de cycle de la ligne de conversion ICHIMOKU et de la ligne de base pour mieux s'adapter aux différentes caractéristiques du marché.

  2. Optimiser les paramètres de lissage K, D et les seuils de surachat/survente de l'indicateur Stoch.

  3. Augmenter les autres indicateurs pour former un modèle multifactoriel et améliorer la fiabilité du système.

  4. Optimiser les points de prise de profit et d'arrêt de perte pour réduire la fréquence des transactions tout en assurant la rentabilité.

  5. Ajouter un module pour juger des urgences et éviter les pannes lors d'événements majeurs.

Résumé

Cette stratégie combine les graphiques de nuage ICHIMOKU et les indicateurs Stoch pour faire des jugements complets sur la direction de la tendance et les situations de surachat / survente, ce qui peut suivre efficacement les marchés en tendance.


/*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)

Plus de