Стратегия покупки точки разворота с двумя индикаторами


Дата создания: 2024-01-04 17:39:13 Последнее изменение: 2024-01-04 17:39:13
Копировать: 1 Количество просмотров: 531
1
Подписаться
1621
Подписчики

Стратегия покупки точки разворота с двумя индикаторами

Обзор

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

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

Стратегия использует два показателя для определения времени покупки: объем торгов и RSI. Конкретная логика заключается в том, что сигнал покупки подается, когда объем торгов превышает средний объем торгов за последние 70 дней в 2,5 раза, а RSI ниже 30 (уровень перепродажи).

После того, как покупка позиции создается, стратегия устанавливает пять различных стоп-таргетов: 0,4%, 0,6%, 0,8%, 1,0% и 1,2% и постепенно останавливается в соответствии с пропорцией позиции: 20%, 40%, 60%, 80% и 100%, пока все позиции не станут равномерными.

Таким образом, с помощью пакетной установки стоп-стоп можно блокировать небольшие подъемы, чтобы избежать упущенной прибыли от ожидания более крупных подъемов. Стоп-стоп может контролировать одиночные потери.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Используйте двойной индикатор, чтобы определить позицию покупки и избежать ложного прорыва. Увеличение объема торгов может подтвердить давление на нижний уровень, а перепродажа RSI может определить вероятность отскока Addon.

  2. Применение стратегии построения пакетов сдержек позволяет максимально закрепить возможности для получения прибыли в небольших колебаниях, а также получить прибыль без ожидания значительного роста.

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

  4. Стоп-стоп устанавливается шире, что дает рынку достаточно пространства для принятия решений.

Анализ рисков

Основные риски этой стратегии:

  1. Двойной индикатор подтверждает, что сигнал имеет риск ошибочного расчета, и может купить ложные точки прорыва. Риск может быть уменьшен путем оптимизации параметров.

  2. Кредитная стоп-аппа может упустить большие шансы из-за небольшого количества позиций. Можно оптимизировать ее, изменив место стоп-аппа и соотношение позиций.

  3. Большая степень остановки убытков, большая вероятность потерь. Снижение риска управления количеством позиций.

  4. Для рынков, подверженных колебаниям, в сильных рынках существует более высокий риск направленности. Следует обратить внимание на структуру рынка большого уровня.

  5. Высокая частота сделок приводит к увеличению стоимости сделок.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизация объема торгов и RSI, снижение погрешности. Также можно использовать MACD, KDJ и другие индикаторы для подтверждения.

  2. Тестирование различных стоп-магнит и соотношений позиций, чтобы найти оптимальное сочетание параметров. Также можно ввести динамический стоп-механизм.

  3. Оптимизация стратегии управления позициями, уменьшение вероятности потерь через систему управления рисковыми позициями.

  4. Добавлен модуль определения тренда, который позволяет распознавать переход тренда и своевременно останавливать убытки.

  5. Внедрение алгоритмической торговой и количественной системы обратной связи для быстрого прохождения различных параметров в поисках оптимальной комбинации параметров.

  6. Модель управления скольжениями и затратами, основанная на стратегии высокой частоты торгов на уровне учреждений, снижает количество сделок и обеспечивает прибыльность.

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

Двойной индикатор обратной стратегии точки покупки, путем торгов объем нагрузки плюс RSI перепродажа суждения нижней, использовать методы серии лихвоприпасов для блокировки небольшой прибыль в шокирующей ситуации. Преимущества часто прибыль, не нужно ждать большого движения; недостатки - легко ошибочно оценить сигнал и высокая частота торгов.

Исходный код стратегии
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 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/
// © wielkieef

//@version=5

strategy(title='BTFD strategy [3min]', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)


// Volume

vol_sma_length = input.int(70, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5


// Rsi

rsi_lenght = input.int(20, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)

rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70


// logic

tp_1 = input.float(0.4,"  TP 1", minval=0.1, step=0.1)
tp_2 = input.float(0.6,"  TP 2", minval=0.2, step=0.1)
tp_3 = input.float(0.8,"  TP 3", minval=0.3, step=0.1)
tp_4 = input.float(1.0,"  TP 4", minval=0.4, step=0.1)
tp_5 = input.float(1.2,"  TP 5", minval=0.5, step=0.1)

q_1 = input.int(title='  % TP 1 Q ', defval=20,  minval=1, step=10)
q_2 = input.int(title='  % TP 2 Q ', defval=40,  minval=1, step=10)
q_3 = input.int(title='  % TP 3 Q ', defval=60,  minval=1, step=10)
q_4 = input.int(title='  % TP 4 Q ', defval=80,  minval=1, step=10)
q_5 = input.int(title='  % TP 5 Q ', defval=100, minval=1, step=10)

sl = input.float(5.0, '% Stop Loss', step=0.1)

long_cond = Volume_condt and rsi_overs

// this code is from author RafaelZioni, modified by wielkieef
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.exit('TP 1', qty_percent=q_1, profit=per(tp_1), loss=per(sl) )
strategy.exit('TP 2', qty_percent=q_2, profit=per(tp_2), loss=per(sl) )
strategy.exit('TP 3', qty_percent=q_3, profit=per(tp_3), loss=per(sl) )
strategy.exit('TP 4', qty_percent=q_4, profit=per(tp_4), loss=per(sl) )
strategy.exit('TP 5', qty_percent=q_5, profit=per(tp_5), loss=per(sl) )

 
// by wielkieef