
Эта стратегия основана на показателях EVWMA, чтобы создать простую стратегию отслеживания тенденций. Эта стратегия использует быстрые и медленные линии для построения показателя EVWMA, делая больше при прохождении медленной линии на быстрой линии и оставляя пространство при прохождении медленной линии под быстрой линией, чтобы реализовать отслеживание тенденций.
Центральным показателем стратегии является EVWMA, или Elasticity-Weighted Moving Average. Он динамически отражает тенденции рынка, используя свой собственный способ расчета длины циклов, в сочетании с информацией о ценах и объемах торгов.
В частности, длина вычислительного цикла быстрой линии равна сумме объема сделок на последних 10 K-линий, а длина вычислительного цикла медленной линии равна сумме объема сделок на последних 20 K-линий. EVWMA каждой K-линии рассчитывается по формуле ((EVWMA × (длина цикла - текущий K-линейный объем) + текущая цена закрытия K-линии × текущий K-линейный объем) / длина цикла ). Таким образом, одновременно объединяется информация о ценах и объемах сделок ).
Когда быстрая линия пересекает медленную линию, это означает усиление покупательной силы и увеличение доли; когда быстрая линия пересекает медленную линию, это означает усиление продажной силы и уменьшение доли. С помощью такой комбинации быстрых медленных линий можно динамически улавливать рыночные тенденции и реализовывать стратегию отслеживания тенденций.
Наибольшее преимущество этой стратегии заключается в том, что она использует динамическую циклическую конструкцию индикатора 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))