Эта стратегия основана на индикаторе MACD и длинных и закрытых линиях для реализации долгосрочной торговли валютной парой. Она открывает позиции, когда линия индикатора MACD пересекает длинную линию, и закрывает позиции, когда линия индикатора MACD пересекает ниже линии закрытия. Также настроена стратегия стоп-лосса.
Стратегия использует быстрые и медленные линии индикатора MACD. Быстрая линия имеет параметр 12-дневной EMA, а медленная линия имеет параметр 26-дневной EMA. Разница между двумя линиями заключается в гистограмме MACD. Кроме того, 9-дневная EMA рассчитывается как линия сигнала. Она длится, когда гистограмма MACD пересекает выше 0,04 и закрывает длинные позиции при пересечении ниже 0,015.
В частности, стратегия сначала рассчитывает быструю линию, медленную линию и сигнальную линию индикатора MACD. Затем длинная линия устанавливается на -0,04, линия закрытия устанавливается на 0,015. Если текущая гистограмма MACD больше длинной линии, она идет длинной. Если текущая гистограмма MACD меньше линии закрытия, она закрывает длинную позицию. Кроме того, линия остановки потери устанавливается на 95% от цены входа.
Стратегия имеет следующие преимущества:
Стратегия также сопряжена с некоторыми рисками:
Для оптимизации и улучшения можно использовать такие методы, как корректировка параметров, объединение других показателей.
Стратегия может быть оптимизирована в следующих аспектах:
Проверить различные комбинации параметров MACD для поиска лучших параметров
Быстрая линия, медленная линия, сигнальная линия с различными длинами можно попробовать найти более подходящие комбинации
Попробуйте другие показатели.
Показатели, такие как RSI, KD могут иметь очень разные результаты
Оптимизировать параметры длинной и близкой линии
Более подходящие параметры могут быть найдены путем повторного обратного тестирования
Корректировка стратегии стоп-лосса
Рассмотреть остановки отслеживания, чтобы сделать остановку потери более динамичной
Тест на разных валютных парах
Применить стратегию к другим парам и изучить последствия
В заключение, это в целом очень простая и интуитивно понятная долгосрочная стратегия торговли. Она оценивает рыночные условия с использованием индикатора MACD и устанавливает критерии двойного фильтра для снижения ложной торговли. Контроль риска также выполняется с помощью стоп-лосса. Логика ясна и занятость ресурсов низкая. Ее легко понять и реализовать, стоит рекомендовать. Конечно, еще есть много возможностей для улучшения с помощью настройки параметров, изменения индикатора и других средств, чтобы сделать стратегию еще более выдающейся.
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(shorttitle = "GBPJPY MACD", title = "GBPJPY MACD") fastMA = input(title="Fast moving average", defval = 12, minval = 7) slowMA = input(title="Slow moving average", defval = 26, minval = 7) lastColor = yellow [currMacd,_,_] = macd(close[0], fastMA, slowMA, 9) [prevMacd,_,_] = macd(close[1], fastMA, slowMA, 9) plotColor = currMacd > 0 ? currMacd > prevMacd ? lime : green : currMacd < prevMacd ? maroon : red plot(currMacd, style = histogram, color = plotColor, linewidth = 3) plot(0, title = "Zero line", linewidth = 1, color = gray) //MACD // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input(title="Signal Smoothing", minval = 1, maxval = 50, defval =9) sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 // Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal //plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? 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) ///END OF MACD //Long and Close Long Lines linebuy = input(title="Enter Long", type=float, defval=-0.04) linesell = input(title="Close Long", type=float, defval=0.015) //Plot Long and Close Long Lines plot(linebuy,color=green),plot(linesell,color=red) //Stop Loss Input sl_inp = input(0.05, title='Stop Loss %', type=float)/100 //Order Conditions longCond = crossover(currMacd, linebuy) exitLong = crossover(currMacd, linesell) stop_level = strategy.position_avg_price * (1 - sl_inp) //Order Entries strategy.entry("long", strategy.long, when=longCond==true) strategy.close("long", when=exitLong==true) strategy.exit("Stop Loss", stop=stop_level)