Stratégie de négociation quantitative basée sur le volume basée sur la profondeur de marché d'Ichimoku

Auteur:ChaoZhang est là., Date: 24 janvier 2024
Les étiquettes:

img

Résumé

Cette stratégie s'appelle SMA Crossover Ichimoku Market Depth Volume Based Quantitative Trading Strategy. Elle utilise principalement les signaux de croix dorée et de croix morte des lignes SMA, combinés avec les indicateurs du graphique de nuage de profondeur de marché Ichimoku et les indicateurs de volume de trading, pour mettre en œuvre le trading automatique de bitcoin dans les deux sens.

Principe

La stratégie repose principalement sur les principes suivants:

  1. Utilisez des lignes SMA avec des paramètres différents pour construire des signaux de trading en croix dorée et en croix morte. Un signal d'achat est généré lorsque la SMA à court terme traverse la SMA à long terme, et un signal de vente est généré lorsque la SMA à court terme traverse la SMA à long terme.

  2. Utilisez l'indicateur de graphique de nuage Ichimoku pour déterminer la profondeur et les tendances du marché. Un signal d'achat n'est généré que lorsque le prix de clôture est supérieur à la portée principale A et à la portée principale B du graphique de nuage, et un signal de vente n'est généré que lorsque le prix de clôture est inférieur à la portée A et à la portée B, ce qui filtre la plupart des faux signaux.

  3. Utilisez des indicateurs de volume des transactions pour filtrer les faux signaux avec un faible volume. Les signaux d'achat et de vente ne sont générés que lorsque le volume des transactions est supérieur au volume moyen sur une certaine période.

  4. Utilisez la fonction graphique pour marquer les positions des signaux d'achat et de vente sur le graphique.

De cette façon, la stratégie tient compte des tendances à court et à long terme, des indicateurs de profondeur de marché et des indicateurs de volume des transactions afin d'optimiser les décisions de négociation.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Utilisez SMA en or et en croix morte pour générer des signaux d'achat et de vente de base, en évitant une trop grande complexité.
  2. Utilisez le graphique des nuages Ichimoku pour déterminer la profondeur du marché et les tendances à moyen et long terme, ce qui peut filtrer efficacement le bruit.
  3. Combiner les indicateurs de volume de négociation pour éviter les fausses ruptures avec un faible volume.
  4. Un grand espace de réglage des paramètres pour l'optimisation sur différents marchés.
  5. Une logique claire et facile à comprendre et à modifier.
  6. Affiche intuitivement les signaux d'achat et de vente pour faciliter le test et l'optimisation de la stratégie.

Analyse des risques

Les risques de cette stratégie comprennent également:

  1. Les lignes SMA peuvent facilement générer des signaux trompeurs et nécessitent des filtres.
  2. L'effet du graphique des nuages Ichimoku sur la structure du marché dépend des paramètres définis.
  3. L'effet de grossissement du volume de négociation peut interférer avec le jugement de l'indicateur de volume.
  4. Les marchés en tendance et les marchés en oscillation ont besoin de paramètres différents.
  5. Il y a un décalage de temps.

Ces risques peuvent être réduits en optimisant des paramètres tels que SMA, Ichimoku, volume et en sélectionnant des produits de trading appropriés.

Directions d'optimisation

La stratégie peut être optimisée de plusieurs façons:

  1. Testez plus d'indicateurs MA comme EMA, VIDYA, etc.
  2. Essayez d'autres paramètres Ichimoku.
  3. Utilisez des indicateurs d'élan pour un jugement supplémentaire.
  4. Ajouter des mécanismes de stop loss.
  5. Optimiser les paramètres pour différents marchés et produits.
  6. Utilisez l'apprentissage automatique pour optimiser dynamiquement les paramètres.

Conclusion

Cette stratégie intègre le croisement SMA, les indicateurs de profondeur de marché et les indicateurs de volume pour former une stratégie de trading quantitative relativement stable et fiable. Elle peut être optimisée par l'ajustement des paramètres, l'ajout de nouveaux indicateurs techniques, etc. Les résultats des backtests et du live sont prometteurs. En résumé, cette stratégie offre un bon cas d'apprentissage pour les débutants.


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

//@version=4
strategy("SMA Crossover with Ichimoku & Volume", shorttitle="SCIV", overlay=true)

// Define the length of SMA
shortSmaLength = input(14, title="Short SMA Length")
longSmaLength = input(21, title="Long SMA Length")
volumeLength = input(20, title="Volume Moving Average Length")

// Calculate the SMA and Volume MA
shortSma = sma(close, shortSmaLength)
longSma = sma(close, longSmaLength)
volumeMa = sma(volume, volumeLength)

// Define the lengths of the Ichimoku Cloud components
tenkanLength = input(9, title="Tenkan Length")
kijunLength = input(26, title="Kijun Length")
senkouBLength = input(52, title="Senkou B Length")
displacement = input(26, title="Displacement")

// Calculate the Ichimoku Cloud components
tenkan = (highest(high, tenkanLength) + lowest(low, tenkanLength)) / 2
kijun = (highest(high, kijunLength) + lowest(low, kijunLength)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (highest(high, senkouBLength) + lowest(low, senkouBLength)) / 2

// Define the conditions for entry and exit with Ichimoku filter and Volume filter
buyEntry = crossover(shortSma, longSma) and close > senkouA[displacement] and close > senkouB[displacement] and volume > volumeMa
sellEntry = crossunder(shortSma, longSma) and close < senkouA[displacement] and close < senkouB[displacement] and volume > volumeMa

// Plot buy/sell conditions on the chart for visual inspection
plotshape(buyEntry, style=shape.labelup, location=location.belowbar, color=color.green, text="Buy", size=size.small)
plotshape(sellEntry, style=shape.labeldown, location=location.abovebar, color=color.red, text="Sell", size=size.small)

// Execute the strategy
if (buyEntry)
    strategy.entry("Buy", strategy.long)
if (sellEntry)
    strategy.entry("Sell", strategy.short)

Plus de