La CCI et l'EMA suivent la tendance de leur stratégie de négociation

Auteur:ChaoZhang est là., Date: 2023-11-02 15:17:22 Je vous en prie.
Les étiquettes:

img

Résumé

L'idée de base de cette stratégie est d'utiliser l'indicateur CCI pour déterminer la direction de la tendance du marché et d'utiliser l'indicateur EMA pour lisser l'indicateur CCI pour mettre en œuvre la tendance après la négociation.

La logique de la stratégie

  1. Calculer l'indicateur CCI. L'indicateur CCI juge si le prix de l'action actuel est trop acheté ou trop vendu en fonction du degré d'écart par rapport à la moyenne mobile de 20 jours. La formule est: (prix typique - SMA 20D) / (0,015 * écart type TP 20D).

  2. Lisser l'indicateur CCI avec une EMA pour obtenir une courbe CCI-EMA, ce qui réduit la fluctuation de l'indicateur CCI et rend le signal plus clair.

  3. Définissez les points d'achat et de vente pour le CCI. Allez long lorsque le CCI-EMA dépasse le point d'achat, et allez court lorsque le CCI-EMA dépasse le point de vente.

  4. Tenez la position jusqu'à ce que le CCI-EMA touche à nouveau le point d'achat ou de vente pour fermer la position.

Analyse des avantages

  1. L'utilisation de l'ICC pour déterminer l'orientation de la tendance du marché combinée à l'EMA pour filtrer les faux signaux peut suivre efficacement les tendances du marché.

  2. L'indicateur CCI est sensible aux anomalies des prix et peut rapidement détecter les renversements de tendance.

  3. Les stratégies de suivi de tendance minimisent les transactions, réduisent les coûts de négociation et les glissements.

  4. Les résultats des tests antérieurs sont bons, ce qui donne à la stratégie une certaine viabilité pratique.

Analyse des risques

  1. Le CCI peut être trop sensible aux courbes et l'EMA ne peut pas filtrer complètement tous les faux signaux, certains faux signaux restent.

  2. Les stratégies de suivi des tendances pures sont sujettes aux pertes lorsque les tendances se consolident ou s'inversent.

  3. Les systèmes de négociation mécaniques ne peuvent pas ajuster de façon flexible les paramètres en fonction des marchés.

  4. Les données limitées des tests antérieurs ne peuvent pas refléter pleinement les performances en direct.

Directions d'optimisation

  1. Optimiser les paramètres CCI en testant différentes périodes de longueur.

  2. Optimiser les paramètres de l'EMA pour trouver la période optimale de l'EMA.

  3. Testez différentes combinaisons de points d'achat/de vente pour trouver les paramètres optimaux.

  4. Incorporer d'autres indicateurs pour déterminer l'inversion de tendance et définir des stop-loss.

  5. Ajoutez l'optimisation automatique des paramètres pour trouver les paramètres optimaux pour différents produits.

Résumé

Dans l'ensemble, il s'agit d'une stratégie de suivi de tendance relativement simple. Il utilise le CCI pour déterminer la direction de la tendance et est sensible aux changements de prix, combiné avec le filtrage EMA pour générer des signaux. La stratégie présente certains avantages mais aussi des risques à noter.


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

//@version=4
strategy("CCI with EMA Strategy", overlay=false, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.07)

length = input(20, minval=1)
src = input(close, title="Source")
cciSellPoint = input(0, title = 'CCI Sell Point', type = input.integer) 
cciBuyPoint = input(0, title = 'CCI Buy Buy Point', type = input.integer) 
lengthcci = input(12,"length cci ema", minval=1)

ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
cciema=ema(cci,lengthcci)
plot(cci, "CCI", color=#996A15)
plot(cciSellPoint, title = 'CCI  Sell Point', color = color.red, linewidth = 1, style = plot.style_cross, transp = 35)
plot(cciBuyPoint, title = 'CCI Buy Point', color = color.green, linewidth = 1, style = plot.style_cross, transp = 35)
plot(cciema, title = 'CCI EMA', color = color.green, linewidth = 1, transp = 35)
band1 = hline(100, "Upper Band", color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(-100, "Lower Band", color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=#9C6E1B, title="Background")

startLongTrade=  cciema >cciBuyPoint 
startShortTrade= cciema <cciSellPoint

//exitLong = cciema <cciSellPoint
//exitShort = cciema >cciBuyPoint 

strategy.entry("long",strategy.long, when = startLongTrade )
//strategy.close( "long", when=exitLong)
strategy.entry("short",strategy.short,when=startShortTrade )
//strategy.close("short", when=exitShort)

Plus de