Стратегии следования за трендом на основе множественных индикаторов


Дата создания: 2023-11-23 15:43:02 Последнее изменение: 2023-11-23 15:43:02
Копировать: 1 Количество просмотров: 584
1
Подписаться
1617
Подписчики

Стратегии следования за трендом на основе множественных индикаторов

Обзор

Стратегия использует множество индикаторов, таких как RSI, MA, EMA и Бринговые полосы, чтобы идентифицировать тенденции и осуществлять их отслеживание. Когда идентифицируется относительно восходящая нисходящая тенденция, стратегия устанавливает многосторонний поиск, и наоборот, когда идентифицируется относительно восходящая тенденция, стратегия устанавливает пустой поиск.

Стратегический принцип

Основная логика этой стратегии заключается в том, чтобы идентифицировать ценовые тенденции в сочетании с четырьмя индикаторами RSI, MA, EMA и Brin. В частности, она одновременно рисует две средние линии MA, одна из которых установлена на 10 циклов, а другая на 5 циклов.

Когда ценовая политика заключается в том, что цены относительно восходят, когда они пересекают 5-циклическую линию МА, 20-циклическую линию EMA и низкую линию, а RSI - 25-ти линию сверхпокупа.

Наоборот, когда цена на закрытии преодолевает 10-циклическую линию МА, 30-циклическую линию ЕМА и появляется на трассе, а RSI преодолевает 75 - линию сверхпродажи, стратегия определяет, что цены относительно нисходящиеся, и входит в позиционный рынок.

Как видно, стратегия идентифицирует потенциальные тенденции и отслеживает их, используя комбинацию логики обезьяны, при которой цена превышает среднюю и RSI переворачивается.

Анализ преимуществ

Наибольшим преимуществом этой стратегии является использование различных показателей для идентификации тенденций, что позволяет эффективно снизить количество ложных сигналов. В частности, цена должна одновременно пробиться через среднюю линию и Бринскую полосу, чтобы вызвать сигнал покупки и продажи, в то же время индикатор RSI также должен иметь переход LongHardt, чтобы отфильтровать много шума.

Кроме того, стратегия отслеживает более четкие тенденции, а не кратковременный шум, что также увеличивает вероятность получения прибыли. В целом, стратегия обладает преимуществами гибкости конфигурации, трудности для арбитража, высокой вероятности получения прибыли.

Анализ рисков

Следует отметить, что ни одна стратегия не может быть стопроцентной, и эта стратегия не является исключением. Основной риск заключается в том, что несколько комбинаций показателей могут быть неправильно оценены, что приводит к ошибочным сделкам. Кроме того, внезапные события могут привести к тому, что стратегия не будет работать.

Для снижения риска можно соответствующим образом скорректировать параметры показателя, оптимизировать вероятность получения прибыли. Кроме того, очень важно установить точку остановки и контролировать единичные потери. Конечно, неизбежные системные риски требуют от инвесторов психологической подготовки.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Испытание комбинаций из большего количества индикаторов для поиска лучших комбинаций из нескольких индикаторов;

  2. Оптимизация параметров показателей, повышение устойчивости стратегии;

  3. Увеличение количества машинных моделей, помогающих в выборе, повышение точности;

  4. Усиление адаптивных механизмов по устранению убытков для контроля риска;

  5. Оптимизация обратной связи, повышение стабильности и доходности.

Подвести итог

Стратегия основана на четырех индикаторах RSI, MA, EMA и Brin, разработанных с помощью механизма отслеживания relativeascending, чтобы определить ценовую тенденцию и войти в определенное направление. Стратегия, интегрирующая несколько показателей, может эффективно снизить вероятность ошибочного суждения, в некоторой степени отфильтровать шум и отслеживать относительно четкие тенденции. Конечно, также необходимо обратить внимание на контроль риска.

Исходный код стратегии
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-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/
// © lepstick-TC
//@version=4
strategy("1", overlay=true)
length = input(5, minval=1)
src = input(close, title="Source")
mult = input(1.5, minval=0.001, maxval=50)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)
rsicok=input(75,minval=0,title="Rsi yüksek")
rsiaz=input(25,maxval=50,title="Rsi düşük")
rsizaman=input(7,minval=0,title="Rsi zaman")
smadeger=input(10,minval=0,title="Ma üst")
smadeger2=input(5,minval=0,title="Ma alt")
emadeger=input(30,minval=0,title="Ema üst")
emadeger2=input(20,minval=0,title="Ema alt")
myrsi=rsi(close,rsizaman)
myrsi2=rsi(close,rsiaz)
myrsi3=rsi(close,rsicok)
myma=sma(close,smadeger)
myma2=sma(close,smadeger2)
myema=ema(close,emadeger)
myema2=ema(close,emadeger2)
mycond =myrsi >rsicok and close> myma and close>myema
mycond2=myrsi<rsiaz and close<myma2 and close<myema2
barcolor(mycond? #2196F3: na)
barcolor(mycond2? #FF9800: na)
plot(myma,title="Ma yüksek",color=color.black,linewidth=0)
plot(myma2,title="Ma düşük",color=color.blue,linewidth=0)
plot(myema,title="Ema yüksek",color=color.yellow,linewidth=0)
plot(myema2,title="Ema düşük",color=color.gray,linewidth=0)
idunno =close< sma(close,smadeger2) and close < sma(close,smadeger) and close<ema(close,emadeger)and close<ema(close,emadeger2)and crossunder(close,lower)and crossunder(myrsi,myrsi2)and crossunder(close,basis) 
plotchar(idunno,char="A",color=#808000 ,location=location.belowbar) 
idunno2 =close> sma(close,smadeger2) and close> sma(close,smadeger) and close>ema(close,emadeger)and close>ema(close,emadeger2)and crossover(close,upper)and crossover(myrsi,myrsi3)and crossover(close,basis)
plotchar(idunno2,char="S",color=#787B86 ,location=location.abovebar)
strategy.entry("Al",true,when =idunno)
strategy.entry("Sat",false,when = idunno2)
strategy.close("Al",when=ema(close,emadeger)and crossover(open,upper))
strategy.close("Sat",when=sma(close,smadeger2)and crossunder(open,lower))
//strategy.exit("Al çıkış","Al",limit=upper)
//strategy.exit("Sat çıkış","Sat",limit=lower)
//strategy.exit("Al çıkış","Al",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)
//strategy.exit("Sat çıkış","Sat",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)