
Эта стратегия - это стратегия для отслеживания тенденций только в нескольких направлениях, которая генерирует торговые сигналы с помощью двойного подтверждения показателя Aroon и линейной регрессионной движущейся средней. Эта стратегия применима для торговли средне- и длиннолинейными тенденциями.
Эта стратегия использует пересечение верхней и нижней полос Aroon, чтобы определить направление тренда. Верхняя полоса генерирует сигнал покупки, когда она пробивается вверх от нижней полосы. Верхняя полоса генерирует сигнал продажи, когда она пробивается вниз от верхней полосы.
В частности, правила генерации торговых сигналов стратегии:
Условия построения покупательского сигнала: верхний рельс прорывает нижний рельс ((показатель Aroon определяет пересечение двойных рельсов, образующее восходящий тренд) и закрытие в тот же день выше скользящей средней LSMA ((закрытие находится в восходящем тренде))
Условия генерирования сигнала продажи: верхний рельс опускается с нижнего рельса ((показатель Aroon определяет пересечение двух рельсов, образующее нисходящую тенденцию), и цена закрытия в тот день ниже скользящей средней LSMA ((цена закрытия находится в нисходящей тенденции))
Для предотвращения риска можно установить стратегию остановки убытков или, в сочетании с другими показателями, определить время обратного тренда и своевременно остановить убытки.
В целом, эта стратегия является более простой и практичной стратегией двойного подтверждения тренда. Она использует Aroon для определения направления тренда и фильтрации шума 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)