Стратегия прикрытия дна


Дата создания: 2024-01-18 15:44:10 Последнее изменение: 2024-01-18 15:44:10
Копировать: 0 Количество просмотров: 629
1
Подписаться
1617
Подписчики

Стратегия прикрытия дна

Обзор

Брейк-оборотная стратегия является типичной стратегией низко-покупка-высокопродажа. Она использует индикатор RSI для идентификации перепродажи, после падения цены до определенного уровня посылает сигнал покупки, чтобы аккумулировать токены по более низкой цене; когда цена снова поднимается, прибыль заканчивается путем установки RSI, чтобы выйти из обесценения.

Стратегический принцип

Эта стратегия основана на RSI, чтобы идентифицировать точки перепродажи. Нормальный диапазон RSI составляет от 0 до 100. Когда RSI падает ниже установленного входного порога 35, подается сигнал покупки; когда RSI снова поднимается выше установленного выхода, выпускается сигнал продажи. Таким образом, можно вовремя войти и выйти, когда ценовая тенденция переворачивается, реализуя низкие покупки и высокие продажи.

Кроме того, в стратегии также введены 100-циклические простые движущиеся средние, которые в сочетании с показателем RSI формируют условия, при которых только тогда, когда цена падает ниже движущейся средней, а RSI входит в зону перепродажи, может быть вызван сигнал покупки. Это может эффективно отфильтровать некоторые ложные прорывы и уменьшить ненужные сделки.

Стратегические преимущества

  • Использование RSI для эффективной идентификации перепродажи и перекупа, для получения оптимальных затрат на покупку в точке переворота
  • Фильтрация ошибочных сигналов в сочетании с подвижной средней и избежание преследования
  • Подходящий для средне- и долгосрочного владения, который может использовать потенциальные тенденции к росту

Стратегические риски и решения

  • Есть определенные задержки, возможно, упущенные возможности для быстрого переворота.
    • Сокращение цикла расчета RSI, чтобы ускорить реакцию индикатора
  • Потери в результате ликвидации могут быть значительными в условиях кризиса.
    • Периодичность скорректировать или отменить скорректированную среднюю
    • Ослабление RSI входных и выходных параметров

Направление оптимизации стратегии

  • Тестирование оптимизации параметров различных валют и временных циклов
  • Попробуйте объединить это с другими показателями, такими как MACD, BRI и т.д.
  • Динамическая настройка RSI параметров или скользящих средних параметров
  • Оптимизация стратегии управления позициями

Подвести итог

В целом, стратегия разрыва является стабильной и практичной стратегией низкой покупки и продажи. Благодаря двойной фильтрации RSI и движущихся средних, можно эффективно подавлять ошибочные сигналы, и при оптимизированных параметрах можно получить более низкую стоимость хранения. В то же время, надлежащим образом оптимизировать параметры показателя, скорректировать стратегию позиции, с перспективой получить более высокую эффективность использования средств.

Исходный код стратегии
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=4
strategy(shorttitle='Optimized RSI Strategy',title='Optimized RSI Strategy - Buy The Dips (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",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"



// RSI inputs and calculations
lengthRSI = (14)
RSI = rsi(close, lengthRSI)

RSI_entry = input(35, title = 'RSI Entry', minval=1)
RSI_exit = input(65, title = 'RSI Close', minval=1)

//Calculate Moving Averages
movingaverage_signal = sma(close, input(100))

//Entry 
strategy.entry(id="long", long = true, when = RSI< RSI_entry and close < movingaverage_signal and window())

//Exit
//RSI
strategy.close("long", when = RSI > RSI_exit and window())

plot (movingaverage_signal)