Эта стратегия объединяет индикаторы относительной силы (RSI) и движущейся средней конвергенции (MACD) для определения торговых возможностей для BTC. Она длинна, когда RSI ниже 30, а линия MACD ниже линии сигнала, а гистограмма MACD ниже -100; она коротка, когда RSI выше 80, а линия MACD выше линии сигнала, а гистограмма MACD больше 250. Стратегия также использует остановку остановки для блокировки прибыли.
Используйте индикатор RSI, чтобы определить, является ли рынок перепроданным или перекупленным. RSI ниже 30 рассматривается как сигнал перепроданности, а выше 80 рассматривается как сигнал перекупленности.
Для определения входов и выходов используйте пересечения линии MACD и линии сигнала индикатора MACD. Когда линия MACD пересекается выше линии сигнала, это сигнал покупки; когда линия MACD пересекается ниже линии сигнала, это сигнал продажи.
Объедините сигналы от индикаторов RSI и MACD, чтобы сформировать правила входа для этой стратегии.
Использование последующего стоп-лосса для блокировки прибыли. Последующий стоп-лосс обновляется динамически на основе прибыли / убытка открытой позиции, что позволяет эффективно контролировать риск.
Сочетание индикаторов RSI и MACD помогает эффективно отфильтровывать ложные сигналы.
RSI хорошо распознает перекупленные/перепроданные рыночные условия. MACD хорошо фиксирует изменения тренда. Использование обоих создает сильную стратегию.
Следующая стоп-лосс блокирует прибыль в соответствии с движением рынка, контролируя риск.
Стратегия имеет несколько параметров и легко внедряется.
Риск одного инструмента от торговли только BTC.
RSI может генерировать ложные сигналы во время сценариев переменного диапазона и снижения. Осилляторы MACD также могут предоставлять ошибочные сигналы на нестабильных рынках.
Последующая остановка может сильно пострадать во время огромных колебаний на рынке, не контролируя риск.
Плохая настройка параметров может привести к переоценке или пропущенным сделкам.
Подумайте о добавлении других индикаторов, таких как полосы Боллинджера, KD и т. д., чтобы дополнить торговые сигналы.
Изучение межрыночной корреляции между различными инструментами, создание стратегий реверсии средних значений для нескольких пар.
Оптимизировать механизмы стоп-лосса, например, своевременный стоп-лосс, средний стоп-лосс и т.д.
Включить машинное обучение для оптимизации параметров.
Это стратегия, основанная на индикаторах RSI и MACD для определения сценариев перекупа/перепродажи. Она хорошо сочетает в себе сильные стороны технических индикаторов для отслеживания изменений тренда на рынке.
/*backtest start: 2023-01-24 00:00:00 end: 2024-01-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BTC/USDT RSI and MACD Strategy", overlay = true) // Define the RSI period rsiPeriod = input(14, "RSI Period") // Calculate the RSI rsi = ta.rsi(close, rsiPeriod) // Define the MACD parameters macdShort = input(12, "MACD Short Period") macdLong = input(26, "MACD Long Period") macdSignal = input(9, "MACD Signal Period") // Calculate the MACD [macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal) // Define the trailing stop level trailing_stop_loss_factor = input.float(2.50, "Trailing Stop Loss Factor", step = 0.01) // Define the entry and exit conditions enterLong = ta.crossover(rsi, 30) and macdLine < signalLine and macdLine < -100 enterShort = ta.crossunder(rsi, 83) and macdLine > signalLine and macdLine > 250 // Submit the orders if (enterLong) strategy.entry("Long", strategy.long) if (enterShort) strategy.entry("Short", strategy.short) // Trailing Stop Loss longTrailingStopLoss = strategy.position_avg_price * (1 - trailing_stop_loss_factor / 100) shortTrailingStopLoss = strategy.position_avg_price * (1 + trailing_stop_loss_factor / 100) if strategy.position_size > 0 strategy.exit("Exit Long", "Long", stop = longTrailingStopLoss) if strategy.position_size < 0 strategy.exit("Exit Short", "Short", stop = shortTrailingStopLoss) // Plot the indicators plot(rsi, "RSI", color=color.blue) hline(20, "RSI Lower Level", color=color.green) hline(80, "RSI Upper Level", color=color.red) plot(macdLine - signalLine, "MACD Histogram", color=color.red, style=plot.style_histogram) hline(0, "Zero", color=color.gray)