Cette stratégie est une stratégie de suivi de tendance basée sur les indicateurs OBV et CCI. Elle utilise l'indicateur OBV pour juger de la tendance du marché et du flux de capitaux, puis utilise l'indicateur CCI pour filtrer pour générer des signaux de trading. Lorsque les deux indicateurs OBV et CCI confirment la tendance haussière actuelle, allez long; lorsque les deux indicateurs confirment la tendance baissière actuelle, allez court.
L'indicateur OBV peut refléter le flux de capitaux sur le marché. Quand OBV est vert, cela signifie que la tendance actuelle est l'afflux de capitaux; quand OBV est rouge, cela signifie que la tendance actuelle est l'afflux de capitaux. L'indicateur CCI est utilisé comme un filtre.
Pour les signaux d'entrée, si la valeur OBV de la dernière période est verte (afflux de capitaux) et que le CCI est supérieur au seuil (dans un marché haussier), tandis que la ligne OBV traverse sa ligne EMA, un signal d'achat est généré.
Pour les signaux de sortie, si la valeur OBV de la dernière période est rouge (sortie de capitaux) et que la CCI est inférieure au seuil (dans un marché baissier), tandis que la ligne OBV traverse la ligne EMA, un signal de vente est généré.
Ainsi, en jugeant la tendance majeure en utilisant OBV, en filtrant avec l'indicateur CCI et en les combinant en utilisant des croisements EMA pour générer des signaux de trading concrets, la stratégie réalise le suivi de la tendance.
Les principaux avantages de cette stratégie sont les suivants:
Utiliser l'OBV pour déterminer le flux de capitaux du marché et la direction de la tendance, en évitant les interférences sonores du marché à court terme;
L'utilisation de l'indicateur CCI pour le filtrage, rendant les signaux de négociation plus fiables;
Utiliser des croisements EMA pour générer des points de négociation de béton de haute qualité;
Les règles sont claires et simples, faciles à comprendre et à mettre en œuvre.
Il existe également des risques potentiels pour cette stratégie:
la possibilité pour les indicateurs OBV et CCI de générer des signaux erronés;
Des signaux de trading fréquents, faciles à sur-trader;
Peut être piégé lors des retraces;
Un mauvais réglage des paramètres conduit à une mauvaise performance stratégique.
Pour contrôler ces risques, des méthodes telles que l'optimisation des paramètres, l'ajustement de la fréquence des transactions, le réglage du stop loss et l'utilisation de filtres peuvent être appliquées.
La stratégie peut être optimisée par les aspects suivants:
Évaluer l'impact des différents paramètres et trouver la combinaison optimale de paramètres;
Définir une limite de fréquence de négociation pour éviter les sur-trades;
Ajouter un mécanisme de stop loss pour contrôler les pertes d'une seule transaction;
Ajouter d'autres indicateurs comme filtres pour améliorer la qualité du signal;
Optimiser la logique d'entrée et de sortie pour rendre les signaux de trading plus fiables.
En résumé, il s'agit d'une stratégie de suivi de tendance de base qui peut suivre efficacement les tendances des prix et éviter les interférences de bruit. Mais il y a encore des risques, nécessitant des améliorations telles que l'optimisation des paramètres, le stop loss, le contrôle de la fréquence de négociation, etc. Si les paramètres sont définis scientifiquement, une amélioration significative des performances des backtests peut être obtenue.
/*backtest start: 2023-02-14 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //author: SudeepBisht //@version=3 strategy("SB_CCI coded OBV Strategy", overlay=true) src = close length = input(20, minval=1, title="CCI Length") threshold=input(0, title="CCI threshold for OBV coding") lengthema=input(13, title="EMA length") obv(src) => cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume) o=obv(src) c=cci(src, length) col=c>=threshold?green:red chk=col==green?1:0 ema_line=ema(o,lengthema) //plot(o, color=c>=threshold?green:red, title="OBV_CCI coded", linewidth=2) //plot(ema(o,lengthema), color=orange, linewidth=2) if (not na(ema_line)) if (crossover(o, ema_line) and chk[1]==1) strategy.entry("RsiLE", strategy.long, comment="RsiLE") if (crossunder(o, ema_line) and chk[1]==0) strategy.entry("RsiSE", strategy.short, comment="RsiSE")