
Двойная стратегия колебания цены EMA используется для определения динамики и силы рынка путем вычисления разницы между двумя различными сроками EMA. Когда разница между быстрой и медленной линиями достигает нуля, это является положительным сигналом. Когда разница между быстрой и медленной линиями достигает нуля, это является отрицательным сигналом.
Эта стратегия проста и проста в использовании, чтобы определить силу и направление рынка с помощью разрыва в EMA. Однако существует определенная задержка, которая не позволяет вовремя захватить переломный момент.
Основным показателем двойной стратегии колебаний цены EMA является APO, то есть абсолютный ценовой осциллятор, который представляет собой разницу между двумя EMA. Его расчетная формула выглядит следующим образом:
APO = EMA(短期) - EMA(长期)
В данной стратегии APO рассчитывается как:
xShortEMA = ema(收盘价, LengthShortEMA)
xLongEMA = ema(收盘价, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
При этом LengthShortEMA и LengthLongEMA соответственно представляют собой длины циклов краткосрочных и долгосрочных ЭМА.
Несколько ключевых правил APO:
По данным APO в реальном времени можно судить о наличии свободных мест на рынке и времени входа на него.
Стратегия двойного колебания цены EMA имеет следующие основные преимущества:
При этом существуют некоторые риски, связанные с двойной стратегией колебаний цены EMA, которые проявляются в следующем:
Эти риски могут быть уменьшены и уменьшены путем разумного остановки, уменьшения одиночных убытков; оптимизации параметров, адаптации к различным циклам; в сочетании с другими показателями фильтрации сигналов, повышения стабильности стратегии.
Двойная стратегия колебаний цены EMA может быть оптимизирована в следующих направлениях:
Оптимизируйте параметры цикла EMA, чтобы найти оптимальные параметры для комбинаций EMA длиной от 5 до 60
Добавить другие показатели, такие как MA, KDJ, MACD, чтобы установить фильтрующие условия и избежать ложных сигналов
Используйте такие показатели, как лента Брин, KD, чтобы определить разумное местоположение остановки остановки
Используйте индикаторы, такие как индекс тренда, для определения ценовых тенденций и избегания обратной торговли.
Включение показателя объема сделок, чтобы обеспечить поддержку сделок с прорывными сигналами
Установление условий для возобновления доступа, чтобы избежать частых сделок и уменьшить количество сделок
В целом, стратегия двойного колебания цены EMA используется для определения свободного рынка путем расчета разности APO двух EMA. Сигналы стратегии просты, ясны и практичны, но также имеют определенные недостатки. Мы можем оптимизировать и повысить стабильность стратегии с помощью таких методов, как оптимизация параметров, добавление условий фильтрации и установка стоп-стоп.
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/05/2017
// The Absolute Price Oscillator displays the difference between two exponential
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
// APO crossing above zero is considered bullish, while crossing below zero is bearish.
// A positive indicator value indicates an upward movement, while negative readings
// signal a downward trend.
// Divergences form when a new high or low in price is not confirmed by the Absolute Price
// Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO
// forms a higher low. This indicates less downward momentum that could foreshadow a bullish
// reversal. A bearish divergence forms when price makes a higher high, but the APO forms a
// lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > 0, 1,
iff(xAPO < 0, -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(xAPO, color=blue, title="APO")