Эта стратегия, грамотно разработанная экспертом по сценарию Снехашишем, инновационно сочетает в себе силы движущегося среднего конвергентного дивергенса (MACD) и индекса относительной силы (RSI) для определения оптимальных точек входа и выхода на рынке.
Для закрытия позиций стратегия использует два критических условия для сигнализации выхода. Во-первых, торговля завершается, когда гистограмма MACD находится выше нуля, а линия MACD пересекается ниже линии сигнала, что указывает на потенциальное изменение импульса вверх. Во-вторых, выходной сигнал генерируется, если RSI был обнаружен в перекупленном состоянии 5 свечей ранее, что предполагает, что рынок может достичь пика и может быть направлен на спад.
Метод Снехашиша элегантно сочетает эти технические индикаторы, фильтруя шум, ожидая подтверждения как от MACD, так и от RSI при определенных условиях, нацеленный на сделки с более высокой вероятностью успеха.
Основной принцип этой стратегии заключается в сочетании технических индикаторов MACD и RSI для более точного определения переломных моментов на рынке. Стратегия вступает в длинную торговлю, когда RSI показывает, что рынок был перепродан в последние свечи, а затем линия MACD пересекает линию сигнала. Эта комбинация гарантирует, что стратегия открывает позицию, как только движение цены показывает ранние признаки потенциального перелома.
Для закрытия позиций, стратегия фокусируется на потенциальных сигналах обратного тренда, указанных MACD и RSI. Если гистограмма MACD выше нуля, а линия MACD пересекает ниже линии сигнала, стратегия выходит из торговли. Кроме того, если RSI ранее показал, что рынок достигает уровня перекупленности, это также вызывает закрытие позиции. В совокупности эти условия означают, что стратегия закрывает длинные позиции, когда цена может достичь пика и рост импульса уменьшается.
В целом, объединяя сигналы, предоставляемые MACD и RSI, стратегия направлена на открытие позиций, как только тенденция показывает ранние признаки обратного движения, и закрытие позиций, когда тенденция может закончиться, таким образом оптимизируя точки входа и выхода для повышения общей эффективности торговли.
Чтобы смягчить эти риски, можно рассмотреть возможность введения других ведущих индикаторов в качестве фильтров, оптимизации параметров в соответствии с различными рыночными условиями и установки соответствующих стоп-лосс и теч-профитов для управления риском на отдельных сделках.
Применение этих оптимизационных мер позволит еще больше повысить риск корректировки доходности стратегии, что позволит ей лучше ориентироваться в постоянно меняющейся рыночной среде.
Долгосрочная стратегия Snehashish
Хотя стратегия показывает хороший потенциал, она по-прежнему несет в себе некоторые риски, такие как переоценка на нестабильных рынках и отставание сигналов во время сильных тенденций.
В целом, эта долгосрочная торговая стратегия, основанная на MACD и RSI, предоставляет инвесторам надежную основу для определения поворотных моментов рынка и оптимизации сроков входа и выхода.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // snehashish 2024 strategy(title='spl Long Strategy', initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, currency='USD', overlay=true) //// Stoploss and Take Profit Parameters // Enable Long Strategy enable_long_strategy = input.bool(true, title='Enable Long Strategy', group='SL/TP For Long Strategy', inline='1') long_stoploss_value = input.float(50, title='Stoploss %', minval=0, group='SL/TP For Long Strategy', inline='2') long_takeprofit_value = input.float(50, title='Take Profit %', minval=0, group='SL/TP For Long Strategy', inline='2') // Enable Short Strategy enable_short_strategy = input.bool(true, title='Enable Short Strategy', group='SL/TP For Short Strategy', inline='3') short_stoploss_value = input.float(50, title='Stoploss %', minval=0, group='SL/TP For Short Strategy', inline='4') short_takeprofit_value = input.float(50, title='Take Profit %', minval=0, group='SL/TP For Short Strategy', inline='4') // Date Range start_date = input.int(1, title='Start Date', minval=1, maxval=31, group='Date Range', inline='1') start_month = input.int(1, title='Start Month', minval=1, maxval=12, group='Date Range', inline='2') start_year = input.int(2023, title='Start Year', minval=1800, maxval=3000, group='Date Range', inline='3') end_date = input.int(1, title='End Date', minval=1, maxval=31, group='Date Range', inline='4') end_month = input.int(12, title='End Month', minval=1, maxval=12, group='Date Range', inline='5') end_year = input.int(2077, title='End Year', minval=1800, maxval=3000, group='Date Range', inline='6') in_date_range = true //// Indicator Inputs // RSI rsi_over_sold = input.int(30, title='Over Sold Level', group='RSI') rsi_over_bought = input.int(70, title='Over Bought Level', group='RSI') rsi_length = input.int(14, title='RSI Length', group='RSI') rsi = ta.rsi(close, rsi_length) // MACD fast_ma = input.int(12, title='FastMA Length', group='MACD') slow_ma = input.int(26, title='SlowMA Length', group='MACD') signal_length = input.int(9, title='Signal Length', group='MACD') [macd_line, signal_line, _] = ta.macd(close, fast_ma, slow_ma, signal_length) //// Strategy Logic was_over_sold = ta.barssince(rsi <= rsi_over_sold) <= 10 was_over_bought = ta.barssince(rsi >= rsi_over_bought) <= 10 crossover_bull = ta.crossover(macd_line, signal_line) crossover_bear = ta.crossunder(macd_line, signal_line) buy_signal = was_over_sold and crossover_bull and in_date_range sell_signal = was_over_bought and crossover_bear and in_date_range // Long Strategy if (enable_long_strategy and buy_signal) strategy.entry('Long', strategy.long) strategy.exit('Long SL/TP', from_entry='Long', stop=strategy.position_avg_price * (1 - long_stoploss_value / 100), limit=strategy.position_avg_price * (1 + long_takeprofit_value / 100)) // Short Strategy if (enable_short_strategy and sell_signal) strategy.entry('Short', strategy.short) strategy.exit('Short SL/TP', from_entry='Short', stop=strategy.position_avg_price * (1 + short_stoploss_value / 100), limit=strategy.position_avg_price * (1 - short_takeprofit_value / 100))