Стратегия длинного трейдинга акций Vortex и RSI

Автор:Чао Чжан, Дата: 2023-09-19 22:01:09
Тэги:

Обзор

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

Логика стратегии

  1. Вычислите положительный VIP и отрицательный VIM индикатора вихря.

  2. Когда VIP пересекает VIM, и закрытие выше предыдущего максимума, генерируется сигнал покупки.

  3. Когда показатель RSI опускается ниже 70, генерируется сигнал продажи.

  4. Когда VIM переходит ниже VIP, а закрытие ниже предыдущего минимума, также запускается сигнал продажи.

  5. Установите стоп-лосс на stop_loss% от начального капитала и получите прибыль на Target_profit% от начального капитала.

Индикатор Vortex хорошо оценивает бычьи/медвежие тенденции. Добавление RSI предотвращает риски перегрева. Стоп-лосс/прибыль добавляет устойчивость.

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

  1. Вихрь точно определяет тенденции с помощью ясных сигналов.

  2. RSI избегает перегрева рисков и преследования вершин.

  3. Динамические остановки устанавливают заранее определенное соотношение риск/прибыль.

  4. Регулируемые остановки подходят для различных рыночных условий.

  5. Простые, понятные правила, которые легко реализовать.

  6. Расширяется с другими показателями.

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

  1. Вихрь имеет эффект отставания, может упустить возможности.

  2. Строп-лосс слишком маленький может вызвать сбивания.

  3. Слишком большая прибыль может ограничить прибыль.

  4. Чрезмерная зависимость от RSI вызывает сбои.

  5. Стоимость торговли не учитывается.

  6. Никаких правил размещения позиций.

Руководство по оптимизации

  1. Тестируйте и оптимизируйте параметры для вихря и RSI.

  2. Попробуйте комбинировать Вортекс с OBV и т.д.

  3. Улучшить стратегии остановки потери, такие как остановка задержки, выход люстры и т.д.

  4. Добавить модуль размещения позиций для ограничения потерь от одной сделки.

  5. Рассмотрим больше фильтров, таких как KD, MACD для времени входа.

  6. Используйте машинное обучение для лучшей оптимизации параметров.

  7. Добавьте фундаментальные факторы, чтобы улучшить показатель победы.

Заключение

Эта стратегия объединяет Вортекс для контроля тренда и RSI для контроля перегрева в стабильную долгосрочную систему акций. Настройки стоп-лосса / прибыли также позволяют управлять рисками. Дальнейшие улучшения в настройке параметров и новые модули могут сделать ее более надежной для торговли в режиме реального времени.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by Sauciusfinance 
////////////////////////////////////////////////////////////
strategy(title="Vortex and RSI ts 2020",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=20000,commission_value=.25,overlay = true,default_qty_type = strategy.cash, default_qty_value = 20000)
//inputs////////////////////////
n = input(title="vortex period",type=input.integer, defval = 14)
m = input(title = "RSI period", type=input.integer, defval = 14)
// CALCULATIONS *** ///////
VMP = sum( abs( high - low[1]), n )
VMM = sum( abs( low - high[1]), n )
STR = sum( atr(1), n )
VIP = VMP / STR
VIM = VMM / STR
// bring the lines in the panel below, add another panel with RSI
plot(VIP, title="VI +", color=#311B92)
plot(VIM, title="VI -", color=#FF006E)

// RSI on total price, always
totalprice = (high + low+close + open)/4
myrsi = rsi(m, totalprice)
strategy.initial_capital = 50000
//// TRADING SYSTEM CODE //// 
entryl = crossover(VIP, VIM) and close >= high[1] 
strategy.entry("Long", true, when=entryl, comment = "Go!")
exit1 = crossover(VIM, VIP) and close <= low[1]
strategy.close("Long", when=exit1, comment = "Vortex down")
exit2 = crossunder(myrsi, 70)
strategy.close("Long", when=exit2, comment = "RSI down")
//money management
stop_loss=input(7, "Stop loss %", minval = 1, step = 1)
sl = -1*stop_loss/100*strategy.initial_capital
close_Stop = strategy.openprofit < sl
strategy.close("Long", when = close_Stop)
Target_profit=input(16, "Target Profit %", minval = 1, step = 1)
tp = Target_profit/100*strategy.initial_capital
close_Target = strategy.openprofit > tp
strategy.close("Long", when = close_Target)



Больше