트렌드 다음 전략 다중 시간 프레임 이동 평균 및 RSI를 기반으로

저자:차오장, 날짜: 2024-01-08 16:57:29
태그:

img

전반적인 설명

이 전략은 멀티 타임프레임 이동 평균에 기반하여 트렌드 방향을 식별하고 거래 신호를 생성하기 위해 RSI로 과잉 구매 / 과잉 판매 상황을 판단합니다. 긴, 중간 및 짧은 MA 라인이 같은 방향으로있을 때 트렌드로 간주됩니다. 이 시점에서 RSI는 과잉 구매 / 과잉 판매 및 거래 신호가 생성되는지를 결정하는 데 사용됩니다. 또한 전략은 위험을 제어하기 위해 후속 스톱 손실을 채택합니다.

전략 논리

기본 논리는 빠른 및 느린 이동 평균의 황금 십자가 및 죽음의 십자가를 통해 트렌드를 판단하는 것입니다. 빠른 선이 느린 선 위에 넘을 때 황금 십자가가 황소 시장을 나타냅니다. 빠른 선이 느린 선 아래에 넘을 때 쇠시장을 나타냅니다. 이 전략은 장기, 중 및 단 기간이 같은 방향으로 있는지 확인하기 위해 다른 시간 프레임에서 그러한 논리를 적용합니다. 모든 것이 황소 또는 곰이라면 거래 신호가 생성됩니다. 또한 RSI는 굴절 지점에서 손실을 놓치지 않도록 도와줍니다. 트레일링 스톱 손실은 위험을 제어하는 동안 이익을 실행하도록 특정 오프셋을 설정합니다.

이점 분석

  1. 트렌드를 결정하기 위해 여러 시간 프레임을 사용하면 단기 시장 소음을 효과적으로 필터링하고 중장기 트렌드를 식별 할 수 있습니다.

  2. RSI는 전환점에 원래 방향에 고집하고 손실을 놓치는 것을 피하는 데 도움이됩니다.

  3. 트레일링 스톱 로스는 수익 성장과 위험 통제를 모두 고려하여 높은 수익/위험 비율로 이어집니다.

위험 분석

  1. 다중 시간 프레임 결정에는 시간 지연이있을 수 있으며, 이는 늦게 진입하고 트렌드의 초기 단계를 놓칠 수 있습니다.

  2. RSI는 과잉 구매/ 과잉 판매 상태를 판단합니다. 급격한 반전이 발생했을 때 인플렉션 포인트를 결정하는 데 잘 작동하지 않습니다.

  3. 후속 스톱 손실 오프셋의 부적절한 설정은 너무 공격적이거나 보수적인 행동으로 이어질 수 있습니다. 매개 변수 조정이 필요합니다.

최적화 방향

  1. 더 정확한 거래 신호를 생성하기 위해 볼링거 밴드 (Bollinger Bands) 와 KDJ (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)

더 많은