Тенденция EVWMA в соответствии со стратегией

Автор:Чао Чжан, Дата: 2023-12-12 16:00:37
Тэги:

img

Обзор

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

Логика стратегии

Основным показателем этой стратегии является EVWMA, а именно Elastic Volume Weighted Moving Average. Он включает в себя как информацию о ценах, так и объеме, чтобы динамически отражать тенденцию рынка путем расчета своего периода.

В частности, период быстрой линии рассчитывается как сумма объема последних 10 баров и 20 баров для медленной линии. EVWMA каждого бара рассчитывается как (Предыдущие бары EVWMA × (Должина периода - объем текущего бара) + цена закрытия текущего бара × объем текущего бара) / длина периода. Таким образом, он объединяет информацию о цене и объеме.

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

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

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

Риски и решения

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

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

Руководство по оптимизации

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

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

Резюме

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


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - EVWMA Cross Strategy", shorttitle="EVWMA Cross", overlay=true)

// Inputs
fast_sum_length = input(10, title = "Fast Sum Length", type = input.integer)
slow_sum_length = input(20, title = "Slow Sum Length", type = input.integer)

// Calculate Volume Period
fast_vol_period = sum(volume, fast_sum_length)
slow_vol_period = sum(volume, slow_sum_length)

// Calculate EVWMA
fast_evwma = 0.0
fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period)

// Calculate EVWMA
slow_evwma = 0.0
slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period)

// Plot 
plot(fast_evwma, title = "EVWMA Fast", linewidth = 2, color = color.red)
plot(slow_evwma, title = "EVWMA Slow", linewidth = 2, color = color.green)

// Strategy
strategy.entry("Long",   true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))

Больше