
Cette stratégie est une stratégie de suivi de tendance à plusieurs têtes qui génère un signal de négociation par double confirmation de l’indicateur Aroon et de la moyenne mobile à régression linéaire.
Cette stratégie utilise la croisée des rails supérieurs et inférieurs de l’indicateur Aroon pour déterminer la direction de la tendance. Un signal d’achat est généré lorsque le rail supérieur se déplace vers le haut à partir du rail inférieur. Un signal de vente est généré lorsque le rail supérieur se déplace vers le bas.
Plus précisément, les règles de génération de signaux de transaction de la stratégie sont les suivantes:
Conditions de génération de signaux d’achat: la trajectoire supérieure est en rupture avec la trajectoire inférieure (l’indicateur Aroon détermine la formation d’une tendance à la hausse de la croisée des deux voies) et le prix de clôture du jour est supérieur à la moyenne mobile LSMA (le prix de clôture est en hausse)
Conditions de génération de signaux de vente: la trajectoire ascendante tombe sur la trajectoire descendante ((l’indicateur Aroon détermine la formation d’une tendance à la baisse de la croisée des deux pistes) et le prix de clôture du jour est inférieur à la moyenne mobile LSMA ((le prix de clôture est en baisse))
Pour prévenir les risques, il est possible de définir une stratégie de stop loss, ou combinée à d’autres indicateurs pour déterminer le moment de la reprise de la tendance, et d’arrêter les pertes en temps opportun.
Cette stratégie est généralement une stratégie de suivi de tendance à double confirmation plus simple et pratique. Elle utilise la méthode d’Aroon pour déterminer la direction de la tendance et le filtrage du bruit LSMA.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 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/
// © exlux99
//@version=4
strategy(title = "Aroon Strategy long only", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)
//Time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
//INPUTS
length = input(15, minval=1, title="Aroon Legnth")
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length
lengthx = input(title="Length LSMA", type=input.integer, defval=20)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, lengthx, offset)
long = crossover(upper,lower) and close > lsma
longexit = crossunder(upper,lower) and close < lsma
if(time_cond)
strategy.entry("long",1,when=long)
strategy.close("long",when=longexit)