
Двулинейная кросс-стратегия является стратегией отслеживания тенденций. Она использует как сигнал к покупке и продаже кросс-стратегию быстрого движения среднего значения (MACD) и медленно движущегося среднего значения.
Эта стратегия основана на MACD-индикаторе. MACD-индикатор представляет собой разницу между движущимися средними двумя различными параметрами, отражающими динамические изменения цен. В частности, это разница, полученная от быстрого движущегося среднего ((дифолтный параметр - 12-дневная линия) за вычетом медленного движущегося среднего ((дифолтный параметр - 26-дневная линия), называемая столбом MACD.
Когда MACD-полюс пересекает DEA-линию снизу вверх и входит в положительную зону, это указывает на то, что краткосрочная средняя линия считывает долгосрочную среднюю, что указывает на то, что тенденция цен на акции переходит вверх, создавая сигнал для покупки. Когда MACD-полюс пересекает DEA-линию снизу вверх и входит в отрицательную зону, что указывает на то, что краткосрочная средняя линия считывает долгосрочную среднюю, что указывает на то, что тенденция цен на акции переходит вниз, создавая сигнал для продажи.
Стратегия заключается в том, чтобы использовать пересечение MACD-поста и DEA-линий для определения времени покупки и продажи.
Эта стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Для снижения риска параметры могут быть адаптированы соответствующим образом или использоваться в сочетании с другими показателями, такими как показатели величины, показатели волатильности и т. Д. Кроме того, разумная стратегия остановки и остановки также важна.
Эта стратегия может быть оптимизирована в следующих аспектах:
Параметровая оптимизация. Можно тестировать различные комбинации параметров, чтобы найти оптимальный параметр. Но будьте осторожны, чтобы избежать чрезмерной оптимизации.
Сочетание с другими показателями. Можно ввести показатели величины, показатели волатильности и т. Д., Чтобы сформировать более мощную комбинационную стратегию.
Стратегия сдерживания убытков. Установка разумных сдерживающих убытков позволяет эффективно контролировать риск.
Оптимизация адаптации. Эта стратегия может быть применена в разных рынках и в разные периоды времени и может быть скорректирована в соответствии с реальными обстоятельствами.
Двухлинейная кросс-стратегия заключается в том, чтобы отслеживать изменения ценовых тенденций, чтобы достичь низкой стоимости. Она проста, практична, легко реализуема и является подходящей для начинающих.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MACD Strategy by Forbes",default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false)
fastLength = input(20)
slowlength = input(40)
MACDLength = input(4)
// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2011, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
f1 = plot(MACD,color=red)
s1 = plot(aMACD,color=blue)
plotColor = if delta > 0
delta > delta[1] ? lime : green
else
delta < delta[1] ? maroon : red
plot(delta, color=plotColor, style=columns)
if (crossover(delta, 0))
strategy.entry("Buy", true, when=window(), comment="Buy")
if (crossunder(delta, 0))
strategy.close_all(when=window())
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)