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


Дата создания: 2023-10-25 11:42:23 Последнее изменение: 2023-10-25 11:42:23
Копировать: 3 Количество просмотров: 875
1
Подписаться
1617
Подписчики

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

Обзор

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

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

  1. Вычислить значение индикатора ADXR. где ADX представляет собой средний индекс направления, отражающий силу тренда; ADXR выполняет гладкую обработку ADX, чтобы лучше отображать тренд.

  2. Установка двойного порога для индикатора ADXR, когда ADXR вверх, когда он проходит первый порог, и вниз, когда он проходит второй порог. Это указывает на то, что в настоящее время находится в состоянии тренда.

  3. Если первое превышает ADXR, то делать больше; если второе превышает ADXR, то делать меньше.

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

  5. Цвет K-линии в зависимости от направления удержания позиции. Дополнительный цвет - зеленый, пустой - красный.

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

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

  2. Двухлинейная фильтрация позволяет снизить отступления и избежать убытков, связанных с обратным трендом.

  3. В сочетании с трендовыми индикаторами и двойной равномерной линией, это гарантирует, что торговля будет вестись в соответствии с тенденцией, а также контролирует риск, что идеально подходит для трендовых рынков.

  4. Стратегическая мысль ясна и понятна, параметры настроены гибко, могут быть скорректированы по мере необходимости, чтобы соответствовать различным рыночным условиям.

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

  1. Неправильная настройка параметров индикатора ADXR может привести к невозможности своевременного захвата перехода тенденции. Параметры ADXR следует с осторожностью настраивать в соответствии с конкретным рынком.

  2. Неправильная настройка параметров двойной средней линии также может привести к фильтрации избыточного количества сигналов и упущенной торговой возможности. Параметры двойной средней линии следует корректировать в соответствии с рынком.

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

  4. В случае колебаний следует снизить размер позиции, чтобы предотвратить увеличение убытков.

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

  1. В сочетании с другими показателями можно проверить сигнал ADXR, например, MACD, Брин-полоса и т. д., чтобы повысить точность сигнала.

  2. Можно добавить стратегии по удержанию убытков, такие как движущиеся убытки, временные убытки и т. д., чтобы контролировать одиночные убытки.

  3. Можно оптимизировать параметры в зависимости от изменений рынка, например, использовать более длинную циклическую среднюю линию при снижении эффективности рынка, сократить циклическую среднюю линию в высокоэффективных рынках и т. Д.

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

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

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

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/05/2018
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

strategy(title="Average Directional Movement Index Rating Backtest", shorttitle="ADXR")
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
reverse = input(false, title="Trade reverse")
Signal1 = input(13, step=0.01)
Signal2 = input(45, step=0.01)
hline(Signal1, color=green, linestyle=line)
hline(Signal2, color=red, linestyle=line)
xADX = fADX(LengthADX)
xADXR = (xADX + xADX[LengthADXR]) / 2
pos = iff(xADXR < Signal1, 1,
       iff(xADXR > Signal2, -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(xADXR, color=green, title="ADXR")