Стратегия следования за трендом Momentum


Дата создания: 2023-10-30 11:36:26 Последнее изменение: 2023-10-30 11:36:26
Копировать: 1 Количество просмотров: 736
1
Подписаться
1617
Подписчики

Стратегия следования за трендом Momentum

Обзор

Эта стратегия использует индикатор VIDA (variable index moving average) для определения направления тенденции криптовалютного рынка и торговли на основе тенденций. Это количественная техническая стратегия торговли.

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

В этой стратегии сначала рассчитывается индикатор VIDYA. Индикатор VIDYA основан на динамике ценовых изменений, что позволяет быстрее реагировать на изменения в тренде. В частности, он сочетает в себе oscillator Chande Momentum (CMO) и простое движущееся среднее (SMA). CMO измеряет разницу между движением цены вверх и вниз, чтобы определить силу тренда.

После вычисления ВИДЯ стратегия определяет направление тренда по направлению его кривой. Когда ВИДЯ растет, делают больше; когда ВИДЯ падает, делают равновесие.

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

  • VIDYA быстро реагирует на изменения тенденций и имеет большие преимущества перед традиционными индикаторами, такими как SMA.

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

  • Простота стратегии достигается только с помощью одного показателя VIDYA.

  • При использовании долгосрочной настройки VIDA можно отслеживать долгосрочные тенденции, что помогает понять направление основных тенденций.

  • Отчет о стратегии показал хорошие результаты и положительное ожидаемое получение дохода.

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

  • VIDYA может откладывать реакцию на неожиданные события на рынке и не может немедленно воспользоваться краткосрочными торговыми возможностями.

  • Долгосрочные настройки ВИДЯ не чувствительны к изменениям краткосрочных тенденций и могут привести к значительным отступлениям в середине.

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

  • Недостаточные данные обратной связи не позволяют полностью проверить стабильность стратегии. В реальных сделках параметры требуют повторного тестирования оптимизации.

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

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

  • Тестирование индексов добавленной стоимости или индексов колебаний для повышения чувствительности к изменению трендов.

  • Тест на комбинацию VIDYA с другими трендовыми индикаторами для формирования эффекта скопления индикаторов.

  • Оптимизируйте стратегию остановки убытков, чтобы как можно скорее прекратить убытки при обратном тренде.

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

  • Тестирование устойчивости криптовалюты в различных разновидностях и при различных параметрах цикла.

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

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

Исходный код стратегии
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
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/
// @version=5
// Author = TradeAutomation


strategy(title="VIDYA Trend Strategy", shorttitle="VIDYA Trend Strategy", process_orders_on_close=true, overlay=true, pyramiding=25,  commission_type=strategy.commission.percent, commission_value=.075, slippage = 1, initial_capital = 1000000, default_qty_type=strategy.percent_of_equity, default_qty_value=4)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2000 08:00'), group="Date Range", title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00'), group="Date Range", title='End Time')
InDateRange = true

// Strategy Inputs //
len = input.int(title="VIDYA Length", defval=50, step=5,group="Trend Settings")
src = input.source(title="VIDYA Price Source",defval=ohlc4, group="Trend Settings")

// VIDYA Calculations //
valpha=2/(len+1)
vud1=src>src[1] ? src-src[1] : 0
vdd1=src<src[1] ? src[1]-src : 0
vUD=math.sum(vud1,9)
vDD=math.sum(vdd1,9)
vCMO=nz((vUD-vDD)/(vUD+vDD))
var VIDYA = 0.0
VIDYA := na(VIDYA[1]) ? ta.sma(src, len) : nz(valpha*math.abs(vCMO)*src)+(1-valpha*math.abs(vCMO))*nz(VIDYA[1])
plot(VIDYA, title="VIDYA",color=(VIDYA > VIDYA[1]) ? color.green : (VIDYA<VIDYA[1]) ? color.red : (VIDYA==VIDYA[1]) ? color.gray : color.black, linewidth=2)

// Entry & Exit Signals //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = VIDYA>VIDYA[1])
    strategy.close("Long", when = VIDYA<VIDYA[1])
if (not InDateRange)
    strategy.close_all()