Стратегия Bull Market Buy Dips направлена на покупку падений на бычьем рынке с использованием индикатора RSI и подтверждение тенденции путем двойного скользящего среднего.
Стратегия сначала устанавливает дату начала и окончания обратного тестирования, затем настраивает параметры для RSI и быстрых/медленных скользящих средних.
Логика сигналов стратегии:
Когда RSI опускается ниже порога (по умолчанию 35), он запускает сигнал покупки, поскольку он указывает на перепроданную область.
Быстрый MA должен быть выше медленного MA, что подтверждает текущую тенденцию к росту и избегает покупки в консолидации.
Когда цена превышает быструю MA, а быстрая MA превышает среднюю MA, это запускает сигнал для получения прибыли.
Разумное применение принципов перекрестного действия RSI и MA помогает уловить возможности отката на бычьем рынке и получить прибыль, как только цена возобновляет тенденцию.
RSI очень подходит для улавливания обратных точек. Покупка, когда RSI входит в зону перепродажи, позволяет точно блокировать возможности перепродажи. Использование MAs для определения тренда может фильтровать рынок и предотвращать повторные покупки при консолидации. Наконец, кроссовер MA подтверждает тенденцию снова для своевременного получения прибыли и избегания откатных потерь.
Если параметр RSI установлен слишком широким или слишком узким, он может потерять точность при оценке уровней перепродажи. Неправильно выбранные быстрые или медленные периоды MA также могут привести к ложному определению тренда. Если время получения прибыли неправильное, слишком рано может пропустить дальнейшую прибыль, а слишком поздно может пожертвовать полученной прибылью.
Параметры RSI могут быть оптимизированы, подходящие периоды MA могут быть выбраны, и различные механизмы получения прибыли могут быть протестированы для улучшения эффективности получения прибыли.
Различные периоды RSI могут быть протестированы для оптимизации суждения о перепроданной зоне. Различные комбинации периодов MA могут быть опробованы для поиска лучших параметров для определения тренда. Также могут быть протестированы другие механизмы получения прибыли, такие как остановка, остановка сопротивления. Оптимизация размеров позиций может лучше контролировать риски. Наконец, учет торговых затрат может приблизить стратегию к живой торговле.
Стратегия Bull Market Buy Dips имеет ясную и разумную логику в целом, умело использует принципы RSI и MA для улавливания времени покупки и получения прибыли на трендовом рынке. Благодаря оптимизации параметров, тестам на получение прибыли и управлению размером позиций можно еще больше повысить надежность и реальную торговую эффективность. С простой и практичной идеей эта стратегия подходит для улавливания отступлений на бычьем рынке и может принести приличную прибыль в портфель.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='Buy The Dips in Bull Market',title='Buy The Dips in Bull Market (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //MA inputs and calculations inSignal=input(9, title='MAfast') inlong1=input(50, title='MAslow') inlong2=input(200, title='MAslow') MAfast= sma(close, inSignal) MAslow= sma(close, inlong1) MAlong= sma(close, inlong2) RSI_buy_signal= input(35, title='RSI Buy Signal') //Entry strategy.entry(id="long", long = true, when = RSI < RSI_buy_signal and MAlong < MAslow and window()) //Exit strategy.close("long", when = close > MAfast and MAfast > MAslow and window()) plot(MAslow, color=color.orange, linewidth=1) plot(MAfast, color=color.purple, linewidth=1) plot(MAlong, color=color.blue, linewidth=2)