Эта стратегия называется количественной торговой стратегией, основанной на ценовом отклонении от трендового осциллятора. Эта стратегия относится к типичной стратегии технических индикаторов путем построения индикатора ценового отклонения от трендового осциллятора и выпуска торговых сигналов на его основе.
В основе этой стратегии лежит индикатор DPO, похожий на скользящие средние, который отсеивает тенденции более длительного цикла в ценах, что делает более заметными их периодические колебания. В частности, индикатор DPO - это сравнение цены с ее Н-дневным простой скользящей средней. Когда цена выше скользящей средней, DPO является положительным, а когда цена ниже скользящей средней, DPO является отрицательным. Таким образом, получается индикатор, который колеблется вокруг 0-й оси.
В этой стратегии параметр N устанавливается на 14, чтобы построить 14-дневный индикатор DPO. Когда индикатор DPO является положительным, посылается многосигнал; когда индикатор DPO является отрицательным, посылается пустой сигнал.
Для снижения риска можно рассмотреть оптимизацию в следующих аспектах:
Эта стратегия основана на показателе ценового отклонения от тренда, который посылает торговые сигналы. Этот показатель, сравнивая с подвижным средним, исключает длительные циклические тенденции в ценах, что делает более заметными циклические характеристики цен. Это помогает обнаружить некоторые непросто обнаруживаемые торговые возможности.
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 31/03/2017
// The Detrend Price Osc indicator is similar to a moving average,
// in that it filters out trends in prices to more easily identify
// cycles. The indicator is an attempt to define cycles in a trend
// by drawing a moving average as a horizontal straight line and
// placing prices along the line according to their relation to a
// moving average. It provides a means of identifying underlying
// cycles not apparent when the moving average is viewed within a
// price chart. Cycles of a longer duration than the Length (number
// of bars used to calculate the Detrend Price Osc) are effectively
// filtered or removed by the oscillator.
//
// 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="Detrended Price Oscillator", shorttitle="DPO")
Length = input(14, minval=1)
Series = input(title="Price", defval="close")
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice = close
xsma = sma(xPrice, Length)
nRes = xPrice - xsma
pos = iff(nRes > 0, 1,
iff(nRes < 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(nRes, color=red, title="Detrended Price Oscillator")