Heiken Ashi et Ichimoku Kinko Hyo Stratégie commerciale

Auteur:ChaoZhang est là., Date: 2023-09-18 15:13:35 Je vous en prie.
Les étiquettes:

Résumé

Cette stratégie combine les indicateurs Heiken Ashi et Ichimoku Kinko Hyo pour déterminer la direction de la tendance et suivre la tendance.

La logique de la stratégie

Calculer le prix de clôture Heiken Ashi et tracer des indicateurs Ichimoku comme la ligne de conversion, la ligne de base, etc. Aller long lorsque la fermeture est supérieure aux deux jours précédents et au-dessus de la ligne supérieure et la ligne de retard Ichimoku. Aller court lorsque la fermeture est inférieure aux deux jours précédents et au-dessous de la ligne inférieure et la ligne de retard Ichimoku. La conversion et les croisements de ligne de base fournissent également des signaux secondaires.

Les avantages

  • Heiken Ashi filtre les fausses éruptions améliorant la qualité du signal
  • Ichimoku utilise plusieurs signaux de validation
  • La ligne de retard évitera les fouets assurant la prise de profit
  • Suivre la tendance conduit à des détentions plus longues et à des bénéfices plus élevés

Les risques

  • Le lissage Heiken Ashi ne peut pas être parfaitement optimisé
  • Les paramètres d' Ichimoku ont une incidence significative sur les résultats
  • Risques de détention à long terme augmentant les pertes
  • Moins de fréquence de négociation inappropriée à court terme

Les risques peuvent être contrôlés en ajustant la douceur, la durée de conservation, en optimisant les paramètres Ichimoku, etc.

Améliorations

  • Testez différents paramètres de lissage Heiken Ashi
  • Optimiser les paramètres de la période Ichimoku
  • Élaborer des stratégies pour les règles de réentrée après sortie
  • Test de robustesse sur différents produits

Conclusion

Cette stratégie utilise de manière complète plusieurs indicateurs pour déterminer la direction de la tendance avec des baisses contrôlées.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Heiken Ashi + Ichimoku Kinko Hyo Strategy", shorttitle="HaI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

hahigh = security(heikinashi(syminfo.tickerid), timeframe.period, high)
halow = security(heikinashi(syminfo.tickerid), timeframe.period, low)

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = hahigh > max(hahigh[1],hahigh[2]) and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>=KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = halow < min(halow[1],halow[2]) and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<=KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = halow < min(halow[1],halow[2]) and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanH or close<ChikouSpan)
if (closelong)
    strategy.close("Long")

closeshort = hahigh > max(hahigh[1],hahigh[2]) and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanL or close>ChikouSpan)
if (closeshort)
    strategy.close("Short")

Plus de