Тенденция MACD после стратегии оценивает тенденцию, рассчитывая золотой крест и мертвый крест индикатора MACD и его сигнальную линию, чтобы следовать тенденции к прибыли.
Эта стратегия основана на индикаторе MACD для определения направления тренда. Индикатор MACD - это индикатор импульса, следующий за трендом, состоящий из линии MACD, линии сигнала и гистограммы. Золотой крест линий MACD и сигнала предполагает потенциальный бычий рынок, в то время как мертвый крест предполагает потенциальный медвежий рынок.
Когда гистограмма поднимается с отрицательного на положительный, генерируется золотой крестовый сигнал, указывающий на то, что восходящий тренд может только начаться, и длинные позиции могут быть построены.
Тенденция MACD после стратегии в целом является относительно надежным способом определения тенденций. Оптимизируя параметры и подтверждая с другими индикаторами, частота фальшивого сигнала может быть значительно снижена, что приводит к более высокой прибыли стратегии.
/*backtest start: 2022-11-17 00:00:00 end: 2023-11-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("MACD") // Getting inputs fastLength = input(title="Fast Length", defval=12) slowlength = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signalLength = input(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) // Calculating macd = ema(close, fastLength) - ema(close, slowlength) signal = ema(macd, signalLength) delta = macd - signal // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Plot histogram plot(delta, title="Histogram", style=columns, color=(delta>=0 ? (delta[1] < delta ? col_grow_above : col_fall_above) : (delta[1] < delta ? col_grow_below : col_fall_below) ), transp=0 ) plot(macd, title="MACD", color=col_macd, transp=0) plot(signal, title="Signal", color=col_signal, transp=0) // Plot orders if (crossover(delta, 0)) strategy.entry("buy", strategy.long) if (crossunder(delta, 0)) strategy.entry("sell", strategy.short)