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