Une stratégie quantitative de trading dans le nuage Ichimoku

Auteur:ChaoZhang est là., Date: 2023-12-21 à 15h33:05
Les étiquettes:

img

Résumé

Cette stratégie est basée sur le Cloud Ichimoku, un indicateur de tendance célèbre dans l'analyse technique, pour déterminer les tendances du marché et générer des signaux de trading en observant les relations croisées entre la ligne de conversion, la ligne de base et les lignes de nuage du système Ichimoku.

La logique de la stratégie

La ligne de conversion représente l'action des prix à court terme, la ligne de base montre les tendances à moyen terme, tandis que le nuage visualise les zones de support et de résistance.

Plus précisément, les principales règles de cette stratégie sont les suivantes:

  1. Quand la ligne de base traverse le nuage, une tendance à la hausse émerge à moyen terme, allez long.

  2. Quand la ligne de conversion traverse le nuage, les prix commencent à rebondir à court terme, à long terme.

  3. Quand la ligne de base traverse sous le nuage, une tendance à la baisse émerge, passez court.

  4. Quand la ligne de conversion traverse sous le nuage, les prix commencent à chuter à court terme, à court terme.

En outre, les croisements entre les lignes de prix et les lignes de nuage agissent comme des filtres pour les signaux commerciaux.

Analyse des avantages

Comparé à des indicateurs simples comme les moyennes mobiles, le plus grand avantage de cette stratégie est d'incorporer des données provenant de plusieurs délais pour détecter les changements de tendance. La ligne de conversion montre les mouvements à court terme, la ligne de base les mouvements intermédiaires et le nuage révèle les niveaux de support / résistance à plus long terme. Leur combinaison identifie les points de basculement avec plus de précision.

Analyse des risques

Le plus grand risque est que le système Ichimoku est sensible aux paramètres d'entrée. Des paramètres inappropriés peuvent souvent produire de mauvais signaux. De plus, le nuage a tendance à s'aplatir pendant les périodes de plage, ce qui provoque des signaux incertains.

Pour atténuer les risques, nous pouvons modifier le mélange de paramètres, définir des niveaux stop loss/take profit ou combiner Ichimoku avec d'autres indicateurs.

Des possibilités d'amélioration

Il y a plusieurs façons d'améliorer cette stratégie:

  1. Optimiser les combinaisons de paramètres pour trouver le meilleur ajustement pour différents instruments de négociation.

  2. Ajoutez des conditions de filtrage avec d'autres indicateurs pour renforcer la validation de la tendance.

  3. Incorporer des mécanismes d'arrêt des pertes tels que les arrêts de trailing ou les arrêts de temps pour contrôler les pertes d'une seule transaction.

  4. Combinez avec les approches de swing trading pour affiner le timing d'entrée dans les tendances plus importantes.

Conclusion

La stratégie Ichimoku Cloud identifie les tendances à moyen terme en utilisant des croisements des lignes de conversion / base contre le Cloud. Par rapport à des indicateurs simples, elle intègre plusieurs délais pour une détection fiable des changements de tendance. Le filtrage du bruit inhérent évite également les coups de fouet. Avec un réglage approprié des paramètres et une gestion des risques, cette stratégie peut générer des rendements excessifs stables à long terme.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=100000, currency=currency.USD)


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")
plot(baseLine, color=#991515, title="Base Line")
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)



maxlead = max(leadLine1, leadLine2)
minlead = min(leadLine1, leadLine2)

//rules
A = baseLine> maxlead[displacement]
B = crossover(baseLine,  maxlead[displacement])

C = baseLine< minlead[displacement]
D = crossunder(baseLine, minlead[displacement])


E = conversionLine> maxlead[displacement]
F = crossover(conversionLine, maxlead[displacement])

G = conversionLine< minlead[displacement]
H = crossunder(conversionLine, minlead[displacement])


I = close>  maxlead[2*displacement]
J = crossover(close, maxlead[2*displacement])

K = close<minlead[2*displacement]
L = crossunder(close, minlead[2*displacement])


//strategies
if A 
    if E
        strategy.entry("Buy", strategy.long, when= J)
if A 
    if I
        strategy.entry("Buy", strategy.long, when= F)
if E 
    if I
        strategy.entry("Buy", strategy.long, when= B)

if C
    if G
        strategy.entry("Sell", strategy.short, when=L)
if C
    if K
        strategy.entry("Sell", strategy.short, when=H)
if G
    if K
        strategy.entry("Sell", strategy.short, when=D)

//EOS


Plus de