CRSI 이동평균 전략

저자:차오장, 날짜: 2024-02-02 18:12:17
태그:

img

전반적인 설명

이 전략은 RSI의 평균, 황소 / 곰의 힘 및 가격 변화 비율의 비율 순위를 받아 CRSI의 이동 평균을 기반으로 거래하여 사용자 정의 복합 지표를 CRSI로 구성합니다.

전략 논리

이 전략은 먼저 가격의 3일 RSI를 계산하여 가격이 과잉 구매되거나 과잉 판매되었는지 여부를 측정합니다. 한편, 가격의 황소 / 곰 힘을 계산하여 추진력을 판단합니다. 또한 가격 변화의 상대적 속도를 확인하기 위해 가격 변화율 (ROC) 의 비율 순위를 계산합니다. 그 다음 이 세 가지 지표의 평균을 사용하여 가격의 전반적인 상태를 반영하는 사용자 지정 복합 지표 CRSI를 구성합니다. 마지막으로 CRSI의 2 일 간 간단한 이동 평균 (MA) 을 계산합니다. MA가 40 수준을 넘으면 긴 지위를 가집니다. MA가 70 수준을 넘으면 긴 지위를 종료합니다.

이점 분석

이 전략은 사용자 지정 CRSI 지표를 구성하기 위해 여러 지표를 결합하여 거래 신호를 더 신뢰할 수 있습니다. RSI는 가격이 과열되거나 과판되었는지 알 수 있습니다. 황소 / 곰 힘은 추진력을 판단 할 수 있습니다. ROC는 가격이 얼마나 빠르게 변화하는지 검사합니다. 그것들을 함께 CRSI로 결합하면 거래 신호가 더 포괄적이고 신뢰할 수 있습니다. 또한 MA의 사용은 잘못된 신호를 필터링하는 데 도움이됩니다.

위험 분석

이 전략은 콤보를 위해 여러 지표를 사용하지만, 여전히 특정 시장 조건에서 잘못된 신호를 생성할 위험이 있습니다. 예를 들어, 범위 제한 시장에서, RSI, ROC 및 기타 지표는 실제로 가격이 명확한 추세를 보이지 않는 동안 빈번한 구매 및 판매 신호를 생성 할 수 있습니다. 또는 일부 지표는 갑작스러운 사건이 발생하면 거래 신호를 생성하는 데 지연하고 지연 할 수 있습니다. 이러한 상황은 손실을 유발할 수 있습니다. 매개 변수를 최적화하거나 다른 필터링 조건을 추가함으로써 위험을 줄일 수 있습니다.

최적화 방향

이 전략을 최적화 할 수있는 몇 가지 측면은 다음과 같습니다: 1) RSI, 황소 / 곰 힘 및 ROC의 매개 변수를 최적화하여 CRSI를 더 안정적이고 신뢰할 수 있습니다. 2) 더 포괄적인 신호를 위해 KDJ, MACD와 같은 다른 보조 지표를 콤보에 추가하십시오. 3) 지연 위험을 낮추기 위해 MA 매개 변수를 최적화하십시오. 4) 단일 손실을 제어하기 위해 스톱 로스 조건을 추가하십시오. 5) 트렌드 상태를 판단하기 위해 장기 지표를 통합하여 수입 범위 시장의 과잉 거래를 피하십시오.

결론

이 전략은 RSI, 황소 / 곰 힘 및 ROC의 평균에 기초하여 사용자 정의 지표 CRSI를 구축하고 고정 수준을 넘은 CRSI의 MA를 거래합니다. 그러한 멀티 지표 조합은 거래 신호를 더 안정적이고 신뢰할 수 있습니다. 그러나이 전략은 여전히 매개 변수, 보조 지표 및 필터 조건에 대한 추가 최적화를 요구하여 잘못된 신호와 시장 체제의 영향을 줄이므로 안정적인 수익성을 향상시킵니다.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1, vlow = 20
updown(s) => 
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0.0
    ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
    ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)

band1 = 70
band0 = 40
band2 = 20

ColorMA = MA>=band0 ? lime : red

p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)

p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
p4 = plot(vlow, title="idk3", style=line, linewidth=1, color=red)

//@version=2
strategy("CMARSI")


if crossover(MA, band0)
    strategy.entry("buy", strategy.long, 1, when=strategy.position_size <= 0)
    
if crossunder(MA, band1)
    strategy.exit("close", "buy",  1, profit=1, stop=1)
    



plot(strategy.equity)


더 많은