Стратегия, основанная на тенденциях, основанных на индексах рентабельности

Автор:Чао Чжан, Дата: 2024-02-02 11:23:29
Тэги:

img

Обзор

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

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

Стратегия рассчитывает линии Stoch K и D RSI. Она генерирует сигналы покупки, когда линия K Stoch RSI превышает 20 от минимумов. Затем устанавливается стоп-лосс, основанный на самых низких минимумах предыдущих нескольких линий K, и линия стоп-лосса динамически корректируется вверх вместе с растущей ценой. В то же время линия получения прибыли устанавливается на основе самой высокой цены, и позиция будет закрыта, когда цена достигнет линии получения прибыли.

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

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

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

Эта стратегия основана в основном на индикаторе Stoch RSI для генерации тренда и перекрестного сигнала. Неправильные сигналы от самого индикатора создают некоторые риски. Кроме того, на рынках с диапазоном, часто запускаемые линии стоп-лосса и прибыли могут повлиять на рентабельность стратегии. Риски могут быть уменьшены путем оптимизации параметров.

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

  • Оптимизировать параметры Stoch RSI, регулировать скорость сглаживания линий K и D для снижения вероятности неправильного сигнала
  • Оптимизировать настройки стоп-лосса и прибыли для улучшения надежности параметров
  • Добавьте условия фильтрации, чтобы избежать сбоев на различных рынках
  • Включить механизмы размещения позиций на основе рыночных условий

Заключение

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


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("sdf",calc_on_every_tick=true,precision=8,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)
marsi=sma(rsi(close,14),14)
//condicion de compra: k>80
buycondition=crossover(k,20) and security(syminfo.ticker,"240",rsi(close,14)>marsi)
bgcolor( security(syminfo.ticker,"240",rsi(close,14)>marsi) ? yellow : na , transp=0)

if year>2014
    strategy.entry("l",strategy.long,qty=1,when=buycondition)
    velasiguente=barssince(buycondition)+1  //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    strategy.close("l",when=velasiguente>2)       //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    //paradaMasBajo=lowest(low,stop_dentro_de_los_ultimos_lows)//stop_dentro_de_los_ultimos_lows, NO PROBADA 
    //strategy.exit("l",loss=paradaMasBajo,profit=profit)
plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Больше