Heikin-Ashi - 0,5% de changement dans la stratégie de négociation à court terme

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

img

Résumé

Il s'agit d'une stratégie de trading à court terme qui émet des signaux d'achat et de vente basés sur des variations de 0,5% du prix de clôture de Heikin-Ashi.

La logique de la stratégie

La logique de base de cette stratégie est la suivante:Aller long lorsque le prix de clôture de Heikin-Ashi augmente de 0,5% par rapport au chandelier précédent; aller court lorsque le prix de clôture de Heikin-Ashi chute de 0,5% par rapport au chandelier précédent.

En particulier, la stratégie calcule d'abord le pourcentage de variation entre le prix de clôture actuel et le prix de clôture précédent, c'est-à-direpriceChange = close / close[1] - 1Si.priceChange >= 0.005, un signal long est émis.priceChange <= -0.005, un court signal est émis.

Lors de l'émission de signaux, la stratégie juge également s'il existe une position existante. Si déjà en position (longue ou courte), aucun signal ne sera répété. S'il n'y a pas de position, elle émettra des signaux de position ouverte en fonction des conditions d'achat ou de vente.

Pour finir,plotshapeest utilisé pour marquer les signaux d'achat et de vente sur le graphique.

Les avantages

  • Utiliser le taux de variation de Heikin-Ashi comme signal de négociation, qui capture mieux les changements de tendance des prix que la moyenne mobile simple, etc.
  • Émettre des signaux basés sur de minuscules variations de prix de 0,5%, ce qui le rend extrêmement sensible et adapté au trading à court terme
  • Une logique très simple et directe, facile à comprendre et à mettre en œuvre
  • Applicable à plusieurs délais, très flexible

Risques et solutions

  • Heikin-Ashi se concentre davantage sur l'action des prix à court terme, sujette au bruit du marché et aux faux signaux
    • Ajustez les paramètres comme seulement réagir à 1% ou 2% de changements pour réduire les taux de faux signaux
  • Trop sensible, peut sur-trader, entraînant fréquemment des frais plus élevés
    • Ajustez la durée de détention, par exemple 2 heures minimum par transaction, pour éviter les transactions à haute fréquence
  • Trop de marqueurs graphiques encombrant le graphique
    • Masquer les graphes et vérifier uniquement les signaux du journal de stratégie

Directions d'optimisation

Les principaux aspects pour optimiser cette stratégie:

  1. Ajuster le seuil de variation des prix en fonction de la volatilité du marché et du style de négociation pour trouver les paramètres optimaux
  2. Incorporer le stop loss pour limiter le pourcentage de perte maximal par transaction
  3. Ajouter un filtre avec d'autres indicateurs pour éviter les transactions inutiles lors de la consolidation
  4. Mettre en place un dimensionnement des positions pour les quantités fixes, les opérations exponentielles, les opérations sur grille, etc.
  5. Optimiser les mécanismes d'entrée, éviter les échecs, négocier avec la tendance ou la contre-tendance

Conclusion

En résumé, il s'agit d'une stratégie de trading à court terme très simple, bas paramètre, facile à comprendre. Il capte les changements de prix extrêmement rapidement, adapté pour les traders à haute fréquence. Mais aussi besoin de contrôler le nombre de transactions pour réduire les coûts. Avec plusieurs méthodes d'optimisation, il peut obtenir de meilleurs résultats.


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

//@version=4
strategy("Heikin-Ashi - Change 0.5% short Time Period", shorttitle="Heikin-Ashi - Change 0.5% short Time Period", overlay=true)

// Calculate 0.5% price change
priceChange = close / close[1] - 1

// Buy and Sell Signals
buyp = priceChange >= 0.005
sellp = priceChange <= -0.005

// Initialize position and track the current position
var int position = na

// Strategy entry conditions
buy_condition = buyp and (na(position) or position == -1)
sell_condition = sellp and (na(position) or position == 1)

if buy_condition
    strategy.entry("Buy", strategy.long)
    position := 1

if sell_condition
    strategy.entry("Sell", strategy.short)
    position := -1

// Plot Buy and Sell signals using plotshape
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)


Plus de