Эта стратегия является MACD-торговой стратегией, основанной на гибкой массе сделок с весом движущейся средней (EVWMA). Она использует преимущества EVWMA, чтобы разработать стратегию, которая дает четкий и практичный торговый сигнал.
EVWMA интегрирует информацию о состоянии торговли в расчеты движущихся средних, что позволяет более точно отражать изменения цен на движущихся средних. Эта стратегия строит расчеты быстрых и медленных линий, которые реализованы на основе EVWMA. Параметры быстрых линий настроены более чувствительными, чтобы улавливать краткосрочные изменения цен; параметры медленных линий настроены более надежно, чтобы фильтровать часть шума.
Наибольшее преимущество этой стратегии заключается в том, что она использует силу индикаторов EVWMA, чтобы сделать параметры MACD более стабильными, а торговые сигналы более четкими. В отличие от простого движущегося среднего, EVWMA лучше понимает тенденции изменения рынка. Это позволяет стратегии быть более гибкой и стабильной в различных рыночных условиях.
Основной риск этой стратегии заключается в том, что MACD сам по себе имеет определенную задержку, которая не может вовремя улавливать ценовые реверсии. Кроме того, параметры EVWMA также могут влиять на эффективность стратегии. Если параметры медленной линии не установлены правильно, могут возникнуть искажения торговых сигналов, влияющие на прибыльность.
Чтобы снизить риск, параметры должны быть соответствующим образом настроены, чтобы разрыв между быстрой и медленной линиями был сбалансирован. Хистограмма может помочь определить, нужно ли изменять. Кроме того, можно разработать стратегию остановки потерь, чтобы избежать чрезмерных потерь на одной ставке.
Эта стратегия может быть оптимизирована в следующих аспектах:
Используя технологию адаптивных параметровых настроек, параметры EVWMA могут автоматически корректироваться в соответствии с рыночной средой, обеспечивая четкость сигналов торговли.
Повышение механизма остановки потерь позволяет эффективно контролировать потери на одном счете.
В сочетании с другими показателями фильтруются сигналы о неверном сообщении. Например, в сочетании с торговлей, сигналы возникают только при значительных изменениях цен.
Оптимизировать выбор входных точек. В настоящее время стратегия заключается в том, чтобы открыть позиции при пересечении MACD нулевой оси. Можно проверить, более подходит ли переход на глубокую тягу.
Эта стратегия использует преимущества EVWMA, чтобы построить простую практическую стратегию MACD. Она более стабильна, более адаптивна. В то же время есть проблемы с задержкой MACD. Мы можем улучшить ее, чтобы сделать ее более стабильной.
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("QuantNomad - EVWMA MACD Strategy", shorttitle = "EVWMA MACD", overlay = false)
// 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)
signal_length = input(9, title = "Signal Smoothing", type = input.integer, minval = 1, maxval = 50)
// 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)
// Calculate MACD
macd = fast_evwma - slow_evwma
signal = ema(macd, signal_length)
hist = macd - signal
// Plot
plot(hist, title = "Histogram", style = plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #EF5350) ), transp=0 )
plot(macd, title = "MACD", color = #0094ff, transp=0)
plot(signal, title = "Signal", color = #ff6a00, transp=0)
// Strategy
strategy.entry("Long", true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))