
트리플 EMA 랜덤 RSI 크로스 포크 전략은 트렌드 추적 전략이다. 그것은 트리플 지수 이동 평균 지표와 랜덤 지수 상대적으로 약한 지표를 결합하여 쌍 지표의 크로스 신호를 통해 진입 시기를 판단한다.
이 전략의 신호 판단은 다음과 같은 논리에 기반합니다.
삼중 EMA 판단 트렌드: 8 일선 위, 14 일선 중, 50 일선 아래 다단 트렌드를 구성하고, 반대로 공중 트렌드를 구성한다.
무작위 RSI 지표 판단 교차: K 선은 아래쪽에서 D 선을 가로질러 강도가 들어오는 것을 나타내는 금叉 신호를 생성한다.
은 머리만 하면, 공허한 머리는 잠시 동안 생각하지 않는다.
트리플 EMA가 상승세를 보이고 RSI가 임의로 나타나면 더 많은 것을하십시오. 이 기준에 따라 스톱로스 및 스톱 라인을 설정하여 수익을 고정하십시오.
이 전략은 두 가지 지표 판단과 결합하여 트렌드를 효과적으로 고정시킬 수 있습니다. 주요 장점은 다음과 같습니다:
트리플 EMA는 단기 노이즈를 필터링하여 중장기 트렌드를 고정합니다.
무작위 RSI 골드포크가 강세를 확인했다.
ATR 스마트 스톱 손실 스톱, 수익 잠금.
전략적 논리는 간단하고 명확하며, 이해하기 쉽고 실행하기 쉽습니다.
이 전략의 주요 위험은 다음과 같습니다.
대시장 흔들림에 있어서는 쉽게 잡힐 수 있다. 삼중 EMA 지표가 흔들림에 있어서 여러 번 금叉死叉을 발생시키면, 자주 포지션을 개설하여 포지션을 구축하는 것이 거래 위험을 초래한다. EMA 매개 변수를 최적화하거나 다른 필터링 지표를 추가함으로써 해결할 수 있다.
코스피는 없다. 을 많이 하면 하위 반발 기회를 놓치게 된다. 은 하위 트렌드에서 코스피 기회를 찾기 위해 MACD와 같은 지표를 추가하는 것을 고려할 수 있다.
이 전략의 주요 최적화 방향은 다음과 같습니다.
트렌드 판단을 개선하기 위해 EMA 변수를 최적화하십시오.
MACD와 같은 지표를 추가하여 공백 동향을 판단하고 공백 기회를 증가시킵니다.
ATR와 같은 변동률 지표를 증가시키고, 스톱 스톱을 개선한다.
거래량 지표와 결합하여 가짜 돌파구를 피하십시오.
기계 학습과 같은 기술을 사용하여 파라미터를 최적화하십시오.
종합적으로, 이 삼중 EMA 무작위 RSI 교차 전략은 이중 지표 판단과 결합하여 효과적으로 흔들림을 필터링하고 트렌드를 잠금 할 수 있습니다. 이것은 간단한 실용적인 트렌드 추적 전략입니다. 변수를 계속 최적화하고 필터 지표를 추가하고 첨단 기술을 활용하는 방법으로 더 나은 전략 성능을 얻을 수 있습니다.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Stoch RSI Crossover Strat + EMA", shorttitle="Stoch RSI Cross + EMA Strat", overlay = true)
// Time Range
FromMonth=input(defval=1,title="FromMonth",minval=1,maxval=12)
FromDay=input(defval=1,title="FromDay",minval=1,maxval=31)
FromYear=input(defval=2020,title="FromYear",minval=2017)
ToMonth=input(defval=1,title="ToMonth",minval=1,maxval=12)
ToDay=input(defval=1,title="ToDay",minval=1,maxval=31)
ToYear=input(defval=9999,title="ToYear",minval=2017)
start=timestamp(FromYear,FromMonth,FromDay,00,00)
finish=timestamp(ToYear,ToMonth,ToDay,23,59)
window()=>true
// See if this bar's time happened on/after start date
afterStartDate = time >= start and time<=finish?true:false
//STOCH RSI
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)
//ATR
lengthATR = input(title="ATR Length", defval=14, minval=1)
atr = atr(lengthATR)
//MULTI EMA
emasrc = close,
len1 = input(8, minval=1, title="EMA 1")
len2 = input(14, minval=1, title="EMA 2")
len3 = input(50, minval=1, title="EMA 3")
ema1 = ema(emasrc, len1)
ema2 = ema(emasrc, len2)
ema3 = ema(emasrc, len3)
col1 = color.lime
col2 = color.blue
col3 = color.orange
//EMA Plots
//plot(ema1, title="EMA 1", linewidth=1, color=col1)
//plot(ema2, title="EMA 2", linewidth=1, color=col2)
//plot(ema3, title="EMA 3", linewidth=1, color=col3)
crossup = k[0] > d[0] and k[1] <= d[1]
emapos = ema1 > ema2 and ema2 > ema3 and close > ema1
barbuy = crossup and emapos
//plotshape(crossup, style=shape.triangleup, location=location.belowbar, color=color.white)
plotshape(barbuy, style=shape.triangleup, location=location.belowbar, color=color.green)
longloss = sma(open, 1)
//plot(longloss, color=color.red)
//Buy and Sell Factors
profitfactor = input(title="Profitfactor", type=input.float, step=0.1, defval=2)
stopfactor = input(title="Stopfactor", type=input.float, step=0.1, defval=3)
bought = strategy.position_size[1] < strategy.position_size
longcondition = barbuy
if (longcondition) and (afterStartDate) and strategy.opentrades < 1
strategy.entry("Long", strategy.long)
if (afterStartDate) and strategy.opentrades > 0
barsbought = barssince(bought)
profit_level = strategy.position_avg_price + (atr*profitfactor)
stop_level = strategy.position_avg_price - (atr*stopfactor)
strategy.exit("Take Profit/ Stop Loss", "Long", stop=stop_level[barsbought], limit=profit_level[barsbought])