Стратегия динамического осциллятора


Дата создания: 2023-09-14 16:15:42 Последнее изменение: 2023-09-14 16:15:42
Копировать: 3 Количество просмотров: 671
1
Подписаться
1617
Подписчики

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

Эта стратегия основана на динамическом колебании индикатора (DMI). DMI определяет тенденцию, рассчитывая процентное отклонение цены от средней линии разных длин.

Конкретная логика сделки заключается в следующем:

  1. Процентное отклонение цены от средней долгосрочной линии (например, 200 дней) рассчитывается как 1-й DMI

  2. Процентное отклонение цены от среднециклической средней линии (например, 50 дней) рассчитывается как 2 DMI

  3. Процентное отклонение цены от среднего значения краткосрочного периода (например, 20 дней), рассчитанное как 3-й DMI

  4. Оптимизм, когда 3-й DMI выше, чем 1-й DMI; оптимизм, когда 3-й DMI ниже, чем 2-й DMI

  5. Создание торговых сигналов на основе DMI-отношений

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

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

  • DMI в сочетании с многоциклическим суждением, более всесторонний

  • Сравнение относительной интенсивности, избегайте абсолютных оценок

  • Гибко адаптируемые к рынку циклические параметры

Стратегический риск

  • DMI немного отстает и может пропустить повороты

  • Осторожность при установке параметров цикла

  • Возможно несколько недействительных сигналов

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

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

Исходный код стратегии
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/06/2018
// The related article is copyrighted materialfrom Stocks & Commodities Dec 2009
// My strategy modification.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="CMOaDisparity Index Backtest")
LengthFirst = input(200, minval=1)
LengthSecond = input(50, minval=1)
LengthThird = input(20, minval=1)
ShowFirst = input(type=bool, defval=true)
ShowSecond = input(type=bool, defval=true)
ShowThird = input(type=bool, defval=true)
reverse = input(false, title="Trade reverse")
xEMAFirst = ema(close,LengthFirst)
xEMASecond  = ema(close,LengthSecond)
xEMAThird  = ema(close,LengthThird)
xResFirst = 100 * (close - xEMAFirst) / close
xResSecond = 100 * (close - xEMASecond) / close
xResThird = 100 * (close - xEMAThird) / close
pos = iff(xResThird > xResFirst, -1,
       iff(xResThird < xResSecond, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(ShowFirst ? xResFirst : na, color=red, title="DIX 1")
plot(ShowSecond ? xResSecond : na, color=blue, title="DIX 2")
plot(ShowThird ? xResThird : na, color=green, title="DIX 3")