
Cette stratégie est basée sur le principe de la croisée des moyennes mobiles de Bitcoin. La stratégie utilise les moyennes mobiles rapides et les moyennes mobiles lentes comme signaux d’achat et de vente. Lorsqu’elle traverse la moyenne mobile lente au-dessus de la moyenne mobile rapide, elle est considérée comme une fourchette d’or et fait plus; lorsqu’elle traverse la moyenne mobile lente en dessous de la moyenne mobile rapide, elle est considérée comme une fourchette morte et fait moins.
La stratégie est basée sur deux indicateurs principaux:
Moyenne mobile (MA): Calcule la moyenne des prix de clôture au cours d’une période donnée pour déterminer la tendance des prix et les signaux de revirement.
L’indice de force relative (RSI) calcule la vitesse à laquelle les cours d’une action chutent au cours d’une période donnée pour déterminer les zones de survente.
Plus précisément, la stratégie utilise une MA de plus courte longueur comme ligne rapide et une MA de plus longue longueur comme ligne lente. Lorsque la ligne rapide traverse la ligne lente, cela indique que la hausse des prix à court terme s’accélère, générant un signal d’achat; lorsque la ligne rapide traverse la ligne lente, cela indique que la baisse des prix à court terme s’accélère, générant un signal de vente.
En même temps, la stratégie définit également la dévaluation du RSI, générant un signal d’achat uniquement lorsque le RSI est supérieur à 50 et un signal de vente lorsque le RSI est inférieur à 50, afin d’éviter l’entrée en jeu des craintifs lors de fortes fluctuations des prix.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
Afin de réduire le risque, il est recommandé d’optimiser les paramètres cycliques des moyennes mobiles, d’ajuster les positions de stop-loss et de réduire la taille des positions de manière appropriée. L’utilisation de cette stratégie devrait être suspendue lorsque les fondamentaux changent de manière significative.
Les principales améliorations apportées à cette stratégie sont les suivantes:
Optimiser les paramètres de la période de la moyenne mobile pour trouver la meilleure combinaison de paramètres. L’optimisation peut être réalisée par des méthodes telles que la recherche progressive et les algorithmes génétiques.
L’ajout de filtres pour d’autres indicateurs techniques, tels que KDJ, MACD, etc., améliore la qualité des signaux de négociation.
Augmentation de la surveillance des fluctuations des prix, ajustement des positions et des arrêts de perte en fonction de la volatilité.
En fonction du volume des transactions, éviter les faux-bribes. Ne lancez le signal que si le volume des transactions est élevé.
Le mécanisme d’adaptation des paramètres de développement. Il permet à la stratégie d’ajuster automatiquement la valeur des paramètres en fonction des différentes conditions du marché.
Cette stratégie est une stratégie de suivi de tendance typique. Basée sur le principe de la croisée des moyennes mobiles, la logique de négociation est simple, claire et facile à comprendre et à mettre en œuvre. L’intégration de l’indicateur RSI permet d’éviter les transactions irrationnelles.
/*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)