Тенденционная стратегия, основанная на скользящей средней за несколько временных рамок и RSI

Автор:Чао Чжан, Дата: 2024-01-08 16:57:29
Тэги:

img

Обзор

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

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

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

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

  1. Использование нескольких временных рамок для определения тенденций может эффективно отфильтровать краткосрочный рыночный шум и определить среднесрочные и долгосрочные тенденции.

  2. RSI помогает избежать настаивания на первоначальном направлении в точках перелома и пропущенной остановки потери.

  3. Последующий стоп-лосс учитывает как рост прибыли, так и контроль рисков, что приводит к высокому соотношению доходности/риска.

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

  1. Определение многочасовых рамок может иметь временную задержку, что приводит к позднему вхождению и отсутствию ранней фазы тренда.

  2. RSI оценивает только состояние перекупленности/перепроданности.

  3. Неправильная настройка задержки стоп-потери может привести к слишком агрессивному или консервативному поведению.

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

  1. Подумайте об объединении большего количества индикаторов, таких как полосы Боллинджера и KDJ, для получения более точных торговых сигналов.

  2. Принять динамический стоп-лосс, который корректирует компенсацию на основе волатильности рынка и желания рисковать.

  3. Применить аналогичную логику в еще более короткие сроки для лучшего использования капитала.

Резюме

В целом, эта стратегия имеет больше плюсов, чем недостатков. Она точно определяет средне-долгосрочные тенденции и обеспечивает высокую отдачу/риск выгоды. Как система, следующая за тенденцией, она может определить основное направление тренда среди консолидаций. Дальнейшее улучшение параметров и индикаторов может повысить его стабильность и прибыльность.


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

//@version=4
//Cryptocurrency Trading Tools by XMAXPRO
//ATA INDIKATORU
//Test 4.0v Tarih:23.02.2020
//

strategy("MTF+MA+RSI+TSL", overlay=false, shorttitle="ATA v4 Strategy")
src = input(title="kaynak", type=input.source, defval=close)
fast = input(title="hızlıbarlar", type=input.integer, defval=21)
slow = input(title="yavaşbarlar", type=input.integer, defval=34)

//MTF source
long = input(title="uzunvade", type=input.resolution, defval="240")
mid = input(title="ortavade", type=input.resolution, defval="60")
short = input(title="kısavade", type=input.resolution, defval="5")

//MTF Grafikleri
ln = security(syminfo.ticker, long, src)
md = security(syminfo.ticker, mid, src)
sh = security(syminfo.ticker, short, src)

//0
lnma = ema(ln, fast) - ema(ln, slow)
mdma = ema(sh, fast) - ema(md, slow)
shma = ema(sh, fast) - ema(sh, slow)

//Makeup
uzunrenk = lnma > 0 ? color.white : color.red
ortarenk = mdma > 0 ? color.white : color.red
kisarenk = shma > 0 ? color.white : color.red

l1 = 1
m1 = 2
s1 = 3

plot(l1, style=plot.style_line, color=uzunrenk, linewidth=25)
plot(m1, style=plot.style_line, color=ortarenk, linewidth=25)
plot(s1, style=plot.style_line, color=kisarenk, linewidth=25)

atarsi = rsi(close, 14)
rsiob = input(title="aşırıalım", type=input.integer, defval=60)
rsios = input(title="aşırısatış", type=input.integer, defval=25)

sell = atarsi > rsiob and lnma > 0 and mdma > 0 and shma > 0
buy = atarsi < rsios and lnma < 0 and mdma < 0 and shma < 0

barcolor(sell ? color.white : color.red)
barcolor(buy ? color.white : color.red)

//strateji
strategy.entry("long", strategy.long, comment = "BULL", when = sell)
strategy.entry("short", strategy.short, comment = "BEAR", when = buy)

//kompleks alarm
//alertcondition(sell, title = "ATA LONG SIGNAL", message = "btc/usd ata long sinyali")
//alertcondition(buy, title = "ATA SHORT SIGNAL", message = "btc/usd ata short sinyali")

//iz sürücü TSL
strategy.exit ("Bull TSL", "long", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)
strategy.exit ("Bear TSL", "short", trail_points=close * 0.02 / syminfo.mintick, trail_offset=close * 0.02/syminfo.mintick)

Больше