Bitcoin - Stratégie de croisement MA

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

img

Résumé

Cette stratégie est une stratégie de trading basée sur le principe de croisement des lignes moyennes mobiles du Bitcoin. La stratégie utilise le croisement de la ligne moyenne mobile rapide et de la ligne moyenne mobile lente comme signaux d'achat et de vente. Lorsque la ligne moyenne mobile rapide traverse au-dessus de la ligne moyenne mobile lente, elle est considérée comme une croix d'or et va long; lorsque la ligne moyenne mobile rapide traverse au-dessous de la ligne moyenne mobile lente, elle est considérée comme une croix de mort et va court.

Principe de stratégie

La stratégie repose principalement sur deux indicateurs:

  1. Moyenne mobile (MA): Calcule le prix de clôture moyen sur une certaine période pour déterminer les tendances des prix et les signaux d'inversion.

  2. Indice de force relative (RSI): Calcule la vitesse des hausses et des baisses de prix sur une certaine période pour juger des zones surachetées et survendues.

Plus précisément, la stratégie utilise une MA plus courte comme ligne rapide et une MA plus longue comme ligne lente. Lorsque la ligne rapide traverse au-dessus de la ligne lente, cela indique que la hausse des prix à court terme s'accélère et qu'un signal d'achat est généré; lorsque la ligne rapide traverse en dessous de la ligne lente, cela indique que la baisse des prix à court terme s'accélère et qu'un signal de vente est généré.

Dans le même temps, la stratégie fixe également un seuil pour le RSI, générant des signaux d'achat uniquement lorsque le RSI est supérieur à 50 et des signaux de vente uniquement lorsque le RSI est inférieur à 50, évitant une entrée imprudente lorsque les prix fluctuent violemment.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Le principe est simple et facile à comprendre et à appliquer.
  2. Les signaux commerciaux fiables évitent l'entrée irrationnelle.
  3. Moins de paramètres et plus facile à optimiser.
  4. Technique de moyenne mobile mature avec une large application.
  5. L'indicateur RSI peut identifier efficacement les phénomènes de surachat et de survente.

Analyse des risques

La stratégie comporte également certains risques:

  1. Les stratégies de suivi de tendance sont sujettes à de grandes pertes lorsque les prix s'inversent.
  2. Les moyennes mobiles retardent et ne parviennent pas à capturer rapidement les renversements de prix.
  3. Une sélection incorrecte des paramètres peut entraîner une détérioration de la qualité des signaux de négociation.
  4. La stratégie ne prend en considération que des indicateurs techniques sans prendre en compte des facteurs fondamentaux.

Pour atténuer les risques, il est recommandé d'optimiser les paramètres de la moyenne mobile de la période, d'ajuster les positions stop loss et de réduire de manière appropriée la taille des positions.

Directions d'optimisation

Les principales orientations d'optimisation de cette stratégie sont les suivantes:

  1. Optimiser les paramètres de la moyenne mobile pour trouver la combinaison optimale de paramètres, par le biais de recherches incrémentielles, d'algorithmes génétiques, etc.

  2. Augmenter les autres indicateurs techniques de filtrage, tels que le KDJ, le MACD, etc., afin d'améliorer la qualité des signaux de négociation.

  3. Surveiller les fluctuations des prix et ajuster les positions et les stop-loss en conséquence.

  4. Incorporer le volume des transactions pour éviter les fausses ruptures, en émettant des signaux uniquement lorsque le volume des transactions augmente.

  5. Développer des mécanismes d'auto-adaptation des paramètres, permettant aux stratégies d'ajuster automatiquement les valeurs des paramètres en fonction des différents environnements du marché.

Conclusion

En résumé, il s'agit d'une stratégie typique de suivi des tendances. Basée sur le principe du croisement des moyennes mobiles, la logique de trading est simple et claire, facile à comprendre et à mettre en œuvre. L'incorporation de l'indicateur RSI peut éviter le trading irrationnel. La stratégie comporte à la fois des risques et des récompenses, adaptée aux investisseurs ayant une certaine expérience de trading quantitatif, mais les risques de perte potentiels doivent être protégés. Si les développeurs peuvent ajouter plus de filtres, optimiser l'adaptabilité des paramètres, cela peut encore améliorer la rentabilité constante de la stratégie.


/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Trading Strategy Warning - Past performance may not equal future performance
//Account Size Warning - Performance based upon default 10% risk per trade, of account size $100,000. Adjust before you trade to see your own drawdown.
//Time Frame - D1 and H4, warning H4 has a lower profit factor (fake-outs, and account drawdown), D1 recommended
//Trend Following System - Profitability of this system is dependent on a STRONG trend in Bitcoin, into the future
strategy("Bitcoin - MA Crossover Strategy", overlay=true)

// User Input
usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=10,confirm=false)
sma_fast = input(title="Fast MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=20,confirm=false)
sma_slow = input(title="Slow MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=40,confirm=false)
rsi_valu = input(title="RSI (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false)

// Create Indicator's
shortSMA = sma(close, sma_fast)
longSMA = sma(close, sma_slow)
rsi = rsi(close, rsi_valu)
strategy.initial_capital = 50000
// Units to buy
amount = usr_risk / 100 * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

// Specify entry conditions
longEntry = crossover(shortSMA, longSMA)
shortEntry = crossunder(shortSMA, longSMA)

// Specify exit conditions
longExit = crossunder(shortSMA, longSMA)
shortExit = crossover(shortSMA, longSMA)

// Execute long trade
if (longEntry)
    strategy.entry("long", strategy.long, units, when = rsi > 50)

// Exit long trade
if(longExit and strategy.position_size > 0)    
    strategy.order("exit long", strategy.short, abs(strategy.position_size))

// Execute short trade
if (shortEntry)
    strategy.entry("short", strategy.short, units, when = rsi < 50)
    
// Exit short trade
if(shortExit and strategy.position_size < 0)    
    strategy.order("exit short", strategy.long, abs(strategy.position_size))

// Plot Moving Average's to chart
plot(shortSMA)
plot(longSMA, color=color.black)

Plus de