
Cette stratégie utilise des moyennes mobiles et des indicateurs relativement faibles pour déterminer la direction de la tendance du marché et établir des positions courtes progressivement dans une tendance à la baisse pour réaliser des gains.
Lorsque le prix de clôture est inférieur à la moyenne mobile simple de 100 jours et que le RSI est supérieur à 30, le cours est ouvert. Ensuite, définissez une ligne de stop-loss et une ligne d’arrêt, la ligne d’arrêt étant supérieure à 3% du prix d’entrée et la ligne d’arrêt étant inférieure à 2% du prix d’entrée. Cela permet d’obtenir une plus grande marge de manœuvre pour tolérer les fluctuations de la situation.
Sur la plateforme Coinrule, il est possible de définir plusieurs ordres de vente pour établir progressivement des positions. Lorsque la situation continue à baisser, augmentez progressivement la position. La définition d’un intervalle de temps de commande peut également aider à contrôler la position totale.
La stratégie est optimisée pour les monnaies en cours. Vous pouvez l’ajuster en fonction de la devise. La stratégie est conforme à la direction de la tendance des transactions, le ratio de stop-loss et de stop-loss peut être réglé sur 1: 1.5.
Le stop loss est de 3% du prix d’entrée. Le prix d’arrêt est de 2% du prix d’entrée. Un peu plus de stop-loss tolère une plus grande volatilité et évite des stops inutiles.
Cette stratégie est basée sur la direction de la tendance des moyennes mobiles, le filtrage de l’indicateur RSI pour déterminer le moment d’entrée spécifique et capter efficacement les tendances à la baisse. La méthode d’augmentation progressive de la position permet de contrôler le risque, la mise en place d’un stop-loss garantit la tolérance d’une seule transaction.
/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 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/
// © Coinrule
//@version=4
strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inSignal=input(50, title='MASignal')
MA= sma(close, inSignal)
// RSI inputs and calculations
lengthRSI = input(14, title = 'RSI period', minval=1)
RSI = rsi(close, lengthRSI)
//Entry
strategy.entry(id="short", long = false, when = close < MA and RSI > 30)
//Exit
shortStopPrice = strategy.position_avg_price * (1 + 0.03)
shortTakeProfit = strategy.position_avg_price * (1 - 0.02)
strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window())
plot(MA, color=color.purple, linewidth=2)