Стратегия следования за трендом на основе Камы и скользящей средней


Дата создания: 2024-02-06 09:53:22 Последнее изменение: 2024-02-06 09:53:22
Копировать: 5 Количество просмотров: 788
1
Подписаться
1617
Подписчики

Стратегия следования за трендом на основе Камы и скользящей средней

Обзор

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

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

  1. Камма-средняя линия. Кама-средняя линия (Kama) является индикатором, который может быть использован для определения тенденции цены.
  2. Вычисление средней линии. Здесь рассчитываются 2 средних линии, одна из которых является более быстрой двойной скользящей средней, а другая - обычной взвешенной скользящей средней.
  3. Когда быстрая линия прорывает медленную линию снизу, делайте больше; когда быстрая линия падает сверху и прорывает медленную линию, делайте пустоту. Таким образом, процесс определения и отслеживания тенденции завершен.
  4. После входа, выйти из позиции, когда цена прорывает среднюю линию Кама, чтобы реализовать трендовый отслеживание выхода.

Стратегические преимущества

  1. Эта стратегия в сочетании с средней линией Кама и средней линией позволяет более точно судить о тенденциях рынка, реализовать тенденционный отслеживание, более сильную способность к контролю за отступлением.
  2. Камма-средняя линия более чувствительна к рыночному шуму и позволяет заранее обнаружить переломные моменты тренда.
  3. Равнолинейная комбинация имеет четкое определение, операционные спецификации и легкость понимания.
  4. В стратегии есть много возможностей для оптимизации параметров, которые могут быть скорректированы в зависимости от разных видов и видов торгов.

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

  1. При определении рыночных тенденций при использовании комбинации средней и средней камма-линий также может возникнуть возможность ошибочного суждения. Для проверки суждения необходимо использовать другие показатели.
  2. Устройство без потерь, которое при нестандартных обстоятельствах может привести к большим потерям.
  3. Параметры, установленные в неподходящий момент, также могут привести к ошибкам в суждении, и параметры должны быть скорректированы в зависимости от разных сортов.

Рекомендации по оптимизации

  1. Можно рассмотреть возможность включения показателя ATR в параметры Stop Loss.
  2. Можно проверить влияние различных параметров на доходность стратегии, выбрав оптимальные параметры.
  3. Можно рассмотреть возможность добавления других показателей, таких как показатель шока, для повышения точности суждения.
  4. Фреймворк для адаптации и динамической оптимизации параметров, позволяющий автоматически оптимизировать параметры стратегии.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//synapticex.com
kamaPeriod = input(8, minval=1) 
ROCLength=input(4, minval=1) 

kama(length)=>
    volatility = sum(abs(close-close[1]), length)
    change = abs(close-close[length-1])
    er = iff(volatility != 0, change/volatility, 0)
    sc = pow((er*(0.666666-0.064516))+0.064516, 2)
    k = nz(k[1])+(sc*(hl2-nz(k[1])))
    

n=input(title="period",defval=7)

n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?lime:red
ma=plot(n1,color=c, linewidth = 3)
plot(cross(nma, nma1) ? nma : na, style = cross, color = c, linewidth = 5)
    
kamaEntry = request.security(syminfo.tickerid,timeframe.period,kama(kamaPeriod))

plot(kamaEntry, color=gray, title="Kama",transp=0, trackprice=false, style=line)


strategy("Kama VS HeikinAshi", overlay=true, pyramiding=0, calc_on_every_tick=true, calc_on_order_fills=true)

buyEntry =  n1 > n2
sellEntry = close < kamaEntry and n1 < n2 

buyExit = close < kamaEntry and n1 < n2
sellExit = n1 > n2 
if (buyEntry)
    strategy.entry("KAMAL", strategy.long, comment="KAMAL")
else
    strategy.close("KAMAL", when=buyExit)

if (sellEntry)
    strategy.entry("KAMAS", strategy.short, comment="KAMAS")
else
    strategy.close("KAMAS", when = sellExit)