Стратегия двойного колебания цены EMA оценивает настроение и импульс рынка путем расчета разницы между двумя EMA разных периодов.
Стратегия проста и удобна в использовании, она определяет динамику и направление рынка с помощью разницы EMA. Однако она также имеет некоторое отставание и не может своевременно улавливать поворотные моменты.
Основным показателем стратегии двойного колебания цены EMA является APO, а именно Абсолютный ценовой осциллятор, представляющий разницу между двумя EMA. Его формула:
APO = EMA(short period) − EMA(long period)
В частности, APO в этой стратегии рассчитывается как:
xShortEMA = ema(close price, LengthShortEMA)
xLongEMA = ema(close price, LengthLongEMA)
xAPO = xShortEMA − xLongEMA
где LengthShortEMA и LengthLongEMA представляют собой длины циклов краткосрочных и долгосрочных EMA соответственно.
Некоторые ключевые правила суждения АПО:
Определить настроение рынка и сроки входа на основе стоимости APO в режиме реального времени.
Стратегия двойного колебания цен на рынке с переходом на рыночную валюту имеет следующие основные преимущества:
Стратегия двойного колебания цен на рынке средней стоимости также сопряжена с некоторыми рисками, главным образом в следующих областях:
Мы можем справиться с этими рисками и уменьшить их, применяя разумные методы стоп-лосса для уменьшения единичных потерь; оптимизируя параметры для адаптации циклов; комбинируя другие индикаторы для фильтрации сигналов и улучшения стабильности стратегии.
Стратегия двойного колебания цен на рынке может быть оптимизирована в следующих аспектах:
В общем, стратегия двойного колебания цены 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")