
La stratégie de compensation de rupture est une stratégie typique de vente à bas prix et de vente à haut prix. Elle utilise l’indicateur RSI pour identifier les points de survente, émet un signal d’achat après que le prix a chuté à un certain point, pour accumuler des jetons à un prix plus bas; lorsque le prix remonte, le profit est réalisé en définissant le RSI pour sortir de la dépréciation.
La stratégie repose principalement sur l’indicateur RSI pour identifier les points de survente. La plage normale de l’indicateur RSI est comprise entre 0 et 100. Un signal d’achat est émis lorsque l’indicateur RSI descend au-dessous du seuil d’entrée fixé de 35; un signal de vente est émis lorsque l’indicateur RSI remonte au-dessus du seuil de sortie fixé de 65.
En outre, la stratégie a introduit une moyenne mobile simple de 100 cycles, qui forme un ensemble de conditions avec l’indicateur RSI, qui déclenche un signal d’achat uniquement lorsque le prix descend en dessous de la moyenne mobile et que le RSI entre dans la zone de survente. Cela peut filtrer efficacement certaines fausses percées et réduire les transactions inutiles.
La stratégie de compensation de la rupture de fond est une stratégie de vente à bas prix et à prix élevé qui est solide et pratique dans l’ensemble. Grâce au double filtrage du RSI et de la moyenne mobile, les faux signaux peuvent être efficacement supprimés et, avec des paramètres optimisés, un coût de détention inférieur peut être obtenu. En même temps, l’optimisation appropriée des paramètres de l’indicateur et l’ajustement de la stratégie de position permettent d’obtenir une plus grande efficacité d’utilisation des fonds.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
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='Optimized RSI Strategy',title='Optimized RSI Strategy - Buy The Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, 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"
// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)
RSI_entry = input(35, title = 'RSI Entry', minval=1)
RSI_exit = input(65, title = 'RSI Close', minval=1)
//Calculate Moving Averages
movingaverage_signal = sma(close, input(100))
//Entry
strategy.entry(id="long", long = true, when = RSI< RSI_entry and close < movingaverage_signal and window())
//Exit
//RSI
strategy.close("long", when = RSI > RSI_exit and window())
plot (movingaverage_signal)