Stratégie de suivi de tendance basée sur le Kama et la moyenne mobile


Date de création: 2024-02-06 09:53:22 Dernière modification: 2024-02-06 09:53:22
Copier: 5 Nombre de clics: 415
1
Suivre
1166
Abonnés

Stratégie de suivi de tendance basée sur le Kama et la moyenne mobile

Aperçu

L’idée centrale de cette stratégie est de combiner l’indicateur de la ligne moyenne de Kama et l’indicateur de la ligne moyenne pour identifier la tendance du marché et réaliser un suivi de la tendance. Lorsque la ligne moyenne de Kama et la ligne moyenne se croisent en or, jugez comme entrant dans une tendance à la hausse et faites plus; lorsque la ligne moyenne de Kama et la ligne moyenne se croisent en mort, jugez comme entrant dans une tendance à la baisse et faites zéro.

Principe de stratégie

  1. Calculer la moyenne de Kama. La moyenne de Kama est un indicateur de suivi de tendance plus sensible au bruit du marché qui peut être utilisé pour déterminer la tendance des prix.
  2. Calcul de la moyenne. On calcule deux moyennes, une moyenne mobile à double indice plus rapide et une moyenne mobile à pondération ordinaire.
  3. Lorsque la ligne rapide franchit la ligne lente en descendant, faites plus; lorsque la ligne rapide franchit la ligne lente en descendant, faites moins. Ainsi, le jugement et le suivi de la tendance sont terminés.
  4. Après l’entrée, sortez de position lorsque le prix franchit la ligne moyenne de Kama, pour réaliser un retrait de suivi de tendance.

Avantages stratégiques

  1. Cette stratégie, combinée à la moyenne Kama et à l’indicateur de la moyenne, permet de juger avec plus de précision les tendances du marché, de suivre les tendances et de contrôler les retraits.
  2. La moyenne Kama est plus sensible au bruit du marché et permet de détecter les virages de tendance à l’avance.
  3. Les combinaisons homogènes sont clairement définies, les spécifications d’exploitation sont faciles à comprendre.
  4. Les paramètres de stratégie sont optimisés en fonction des variétés et des types de transactions.

Analyse des risques

  1. La combinaison de la moyenne karmique et de la moyenne karmique est également susceptible d’entraîner des erreurs de jugement dans le jugement des tendances du marché.
  2. Le réglage sans perte peut entraîner des pertes importantes dans des circonstances exceptionnelles.
  3. Les paramètres sont mal réglés au bon moment, ce qui peut entraîner des erreurs de jugement et nécessite d’ajuster les paramètres en fonction des différentes variétés.

Conseils d’optimisation

  1. Il est possible d’inclure des paramètres de stop loss dans l’indicateur ATR.
  2. Il est possible de tester l’impact de différents paramètres sur le rendement de la stratégie, en choisissant les paramètres les plus optimaux.
  3. La validation d’autres indicateurs, tels que l’indicateur de secousse, peut être envisagée pour améliorer l’exactitude des jugements.
  4. Un cadre d’adaptation et d’optimisation dynamique des paramètres peut être créé pour optimiser automatiquement les paramètres de la stratégie.

Résumer

L’idée générale de cette stratégie est claire, l’utilisation de la moyenne karmique et de l’indicateur de la moyenne karmique de la croix d’or et de la croix de mort pour juger et suivre les tendances, la capacité de contrôle de rétraction est forte, et les meilleurs résultats peuvent être obtenus par l’ajustement et l’optimisation des paramètres. Cependant, il y a une certaine marge d’amélioration, la stabilité et la capacité de rendement de la stratégie peuvent être encore améliorées si plus d’indicateurs de vérification et de modules de stop-loss sont ajoutés.

Code source de la stratégie
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//synapticex.com
kamaPeriod = input(8, minval=1) 
ROCLength=input(4, minval=1) 

kama(length)=>
    volatility = sum(abs(close-close[1]), length)
    change = abs(close-close[length-1])
    er = iff(volatility != 0, change/volatility, 0)
    sc = pow((er*(0.666666-0.064516))+0.064516, 2)
    k = nz(k[1])+(sc*(hl2-nz(k[1])))
    

n=input(title="period",defval=7)

n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?lime:red
ma=plot(n1,color=c, linewidth = 3)
plot(cross(nma, nma1) ? nma : na, style = cross, color = c, linewidth = 5)
    
kamaEntry = request.security(syminfo.tickerid,timeframe.period,kama(kamaPeriod))

plot(kamaEntry, color=gray, title="Kama",transp=0, trackprice=false, style=line)


strategy("Kama VS HeikinAshi", overlay=true, pyramiding=0, calc_on_every_tick=true, calc_on_order_fills=true)

buyEntry =  n1 > n2
sellEntry = close < kamaEntry and n1 < n2 

buyExit = close < kamaEntry and n1 < n2
sellExit = n1 > n2 
if (buyEntry)
    strategy.entry("KAMAL", strategy.long, comment="KAMAL")
else
    strategy.close("KAMAL", when=buyExit)

if (sellEntry)
    strategy.entry("KAMAS", strategy.short, comment="KAMAS")
else
    strategy.close("KAMAS", when = sellExit)