Le potentiel du marché Ichimoku

Auteur:ChaoZhang est là., Date: 2024-02-02 16:57:46 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie de trading en nuage Ichimoku à long terme. Elle va long lorsque la ligne de conversion traverse au-dessus de la ligne de base, et ferme la position lorsque la ligne de base traverse au-dessous de la ligne de conversion.

La logique de la stratégie

La stratégie utilise plusieurs lignes de l'indicateur Ichimoku.

  1. Ligne de conversion: la moyenne des hauts et des bas au cours des 9 derniers jours, représentant la conversion de la tendance à court terme.

  2. Ligne de base: la moyenne des hauts et des bas au cours des 26 derniers jours, représentant le mouvement moyen des prix au cours de cette période.

  3. Leading Span A: La moyenne de la conversion et des lignes de base.

  4. Leading Span B: La moyenne des hauts et des bas au cours des 52 derniers jours, un indicateur majeur des tendances à moyen et long terme.

  5. La période de retard: Le prix de clôture est en retard de 26 jours, ce qui représente l'élan de la tendance.

Pour ouvrir une position, la ligne de conversion doit traverser au-dessus de la ligne de base ET le Lagging Span doit être au-dessus du nuage.

Pour fermer une position, la ligne de base doit passer sous la ligne de conversion ET le Lagging Span doit être sous le nuage.

Les avantages de la stratégie

  1. Utilise le nuage Ichimoku pour déterminer la direction de la tendance avec précision.

  2. La combinaison de plusieurs lignes évite les faux signaux.

  3. Long-only correspond aux tendances à la hausse à long terme de la plupart des crypto-monnaies.

  4. Un filtrage strict des conditions donne des signaux de haute qualité.

Risques liés à la stratégie

  1. Ne permet que la position complète ou plate, ne peut pas régler la taille de la position.

  2. Il se porte très bien sur les marchés haussiers, mais risque de subir de lourdes pertes sur les marchés baissiers.

  3. Les paramètres par défaut réglés pour la cryptographie peuvent nécessiter des ajustements pour d'autres actifs.

  4. Moins de signaux commerciaux signifie que certaines opportunités pourraient être manquées.

Améliorations

  1. Ajouter une fonctionnalité de dimensionnement des positions pour fermer une partie de la position lorsque la perte atteint un seuil.

  2. Ajoutez des signaux de vente à découvert lorsque les niveaux de soutien clés sont brisés pour réduire les pertes.

  3. Optimiser les paramètres pour adapter plus de symboles et améliorer la robustesse.

  4. Ajouter un stop loss lorsque la perte atteint un niveau permettant de contenir le risque à la baisse.

Résumé

En tant que stratégie Ichimoku à long terme, cette approche détermine de manière fiable les renversements de tendance en combinant plusieurs lignes Ichimoku. Elle fonctionne particulièrement bien pour les actifs présentant des tendances haussières persistantes comme les crypto-monnaies.


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// Simple long-only Ichimoku Cloud Strategy
// Enter position when conversion line crosses base line up, and close it when the opposite happens. 
// Additional condition for open / close the trade is lagging span, it should be higher than cloud to open position and below - to close it.
//@version=4
strategy("Ichimoku Cloud Strategy Long Only", shorttitle="Ichimoku Cloud Strategy (long only)", overlay=true )

conversion_length = input(9, minval=1, title="Conversion Line Periods"),
base_length = input(26, minval=1, title="Base Line Periods")
lagging_length = input(52, minval=1, title="Lagging Span 2 Periods"),
delta = input(26, minval=1, title="Delta")

average(len) => avg(lowest(len), highest(len))

conversion_line = average(conversion_length) // tenkan sen - trend
base_line = average(base_length) // kijun sen - movement
lead_line_a = avg(conversion_line, base_line) // senkou span A
lead_line_b = average(lagging_length) // senkou span B
lagging_span = close // chikou span - trend / move power

plot(conversion_line, color=color.blue, linewidth=2, title="Conversion Line")
plot(base_line, color=color.white, linewidth=2, title="Base Line")
plot(lagging_span, offset = -delta, color=color.purple, linewidth=2, title="Lagging Span")

lead_line_a_plot = plot(lead_line_a, offset = delta, color=color.green, title="Lead 1")
lead_line_b_plot = plot(lead_line_b, offset = delta, color=color.red, title="Lead 2")
fill(lead_line_a_plot, lead_line_b_plot, color = lead_line_a > lead_line_b ? color.green : color.red)

// Strategy logic

long_signal = crossover(conversion_line,base_line) and ((lagging_span) > (lead_line_a)) and ((lagging_span) > (lead_line_b))
short_signal = crossover(base_line, conversion_line) and ((lagging_span) < (lead_line_a)) and ((lagging_span) < (lead_line_b))

strategy.entry("LONG", strategy.long, when=strategy.opentrades == 0 and long_signal, alert_message='BUY')
strategy.close("LONG", when=strategy.opentrades > 0 and short_signal, alert_message='SELL')
    
    // === Backtesting Dates === thanks to Trost

testPeriodSwitch = input(true, "Custom Backtesting Dates")
testStartYear = input(2021, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testStopHour = input(0, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() => true
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END

if not isPeriod
    strategy.cancel_all()
    strategy.close_all()

Plus de