В этой статье в основном представлена количественная стратегия торговли, основанная на RSI и WMA. Стратегия генерирует сигналы покупки и продажи путем расчета значений RSI и WMA для обнаружения точек переворота цен на акции, направленных на покупку низкого и продажу высокого.
Основные показатели этой стратегии включают RSI и WMA. RSI (индекс относительной силы) - это индикатор волатильности, используемый для измерения изменения скорости недавнего роста и падения цен. WMA (взвешенная скользящая средняя) является взвешенной скользящей средней.
Сигнал покупки стратегии генерируется, когда RSI пересекает WMA, что указывает на перелом цены и возможное начало восходящей тенденции. Сигнал продажи генерируется, когда RSI пересекает WMA, что подразумевает перелом цены и возможное начало нисходящей тенденции.
В частности, стратегия сначала рассчитывает 14-дневный RSI, а затем рассчитывает 45-дневный WMA. Если RSI пересекает WMA, генерируется сигнал покупки. Если RSI пересекает WMA, генерируется сигнал продажи. Комбинация RSI и WMA может более точно фиксировать точки переворота цены.
Эта стратегия имеет следующие преимущества:
К рискам относятся:
Эти риски могут быть смягчены путем настройки параметров, стоп-лосса, фильтрации рыночных рисков и т.д.
Стратегия может быть оптимизирована из следующих аспектов:
Эта стратегия объединяет RSI и WMA для захвата кроссоверов для торговых сигналов, что позволяет просто и эффективно торговать альго.
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI WMA Strategy", overlay=true) // Input parameters rsiLength = input(14, title="RSI Length") wmaLength = input(45, title="WMA Length") // Calculate RSI and WMA rsiValue = ta.rsi(close, rsiLength) wmaValue = ta.wma(rsiValue, wmaLength) // Define overbought and oversold levels for RSI overboughtLevel = 70 oversoldLevel = 30 // Strategy logic longCondition = ta.crossover(rsiValue, wmaValue) shortCondition = ta.crossunder(rsiValue, wmaValue) // Execute trades if (longCondition) strategy.entry("Long", strategy.long, comment="BUY") if (shortCondition) strategy.entry("Short", strategy.short, comment="SELL") // Plotting for visualization plot(rsiValue, title="RSI", color=color.blue) plot(wmaValue, title="WMA", color=color.orange) hline(overboughtLevel, "Overbought Level", color=color.red) hline(oversoldLevel, "Oversold Level", color=color.green) // Plot buy and sell signals on the chart plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)