Cette stratégie combine le double croisement de la moyenne mobile et l'indicateur RSI pour identifier la direction de la tendance et les situations de surachat / survente. Il va long lorsque les conditions d'achat sont remplies et ferme les positions lorsque les conditions de vente sont déclenchées.
Lorsque la moyenne mobile rapide de 9 périodes franchit la moyenne mobile lente de 50 périodes, elle signale une tendance haussière sur une période plus courte se superposant à une tendance haussière sur une période plus longue, ce qui est un signal haussier typique.
Lorsque la moyenne mobile rapide sur 9 périodes dépasse la moyenne mobile lente sur 50 périodes, elle indique le début d'un marché baissier et les positions longues existantes doivent être fermées.
Cette stratégie utilise le double croisement de la moyenne mobile pour déterminer la direction et le RSI afin d'éviter de poursuivre les sommets et les bas. Elle peut efficacement suivre les tendances à moyen et long terme pour des bénéfices stables. Mais la nature en retard des signaux de croisement et le réglage des paramètres du RSI doivent être surveillés. Il faut également corréler le prix avec le volume. Avec des tests et une optimisation continus, cette stratégie promet de meilleurs résultats.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © joshuajcoop01 //@version=5 strategy("Bitpanda Coinrule Template", overlay=true, initial_capital=1000, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=30, commission_type=strategy.commission.percent, commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0) notInTrade = strategy.position_size <= 0 // RSI length = input(14) vrsi = ta.rsi(close, length) // Moving Averages for Buy Condition buyFastEMA = ta.ema(close, 9) buySlowEMA = ta.ema(close, 50) buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA) increase = 5 if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod) strategy.entry("Long", strategy.long) // Moving Averages for Sell Condition sellFastEMA = ta.ema(close, 9) sellSlowEMA = ta.ema(close, 50) plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue) plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green) condition = ta.crossover(sellSlowEMA, sellFastEMA) //sellCondition1 = request.security(syminfo.tickerid, "60", condition) strategy.close('Long', when = condition and timePeriod)