RSI 지표 및 포용 패턴에 기초한 양적 거래 전략

저자:차오장, 날짜: 2024-01-03 11:24:08
태그:

img

전반적인 설명

이 전략의 이름은 RSI 및 삼키는 패턴 양적 거래 전략이다. 이 전략의 주요 아이디어는 RSI 지표와 삼키는 패턴을 모두 사용하여 구매 및 판매 신호를 생성하여 시장 추세를 식별하는 것입니다.

RSI 지표가 극단적 인 지점과 포용 패턴을 나타낼 때, 우리는 포지션을 설정 할 수있는 기회라고 믿습니다. RSI 지표는 과잉 구매 및 과잉 판매 상황을 효과적으로 식별 할 수 있으며, 포용 패턴은 추세의 신뢰성을 추가로 확인할 수 있습니다.

전략 논리

먼저, 우리는 RSI 지표의 매개 변수를 설정합니다. RSI의 기간 길이를 포함하여 (일반적으로 9 또는 14), 과잉 구매 수준 (일반적으로 70) 및 과잉 판매 수준 (일반적으로 30).

다음으로, 우리는 큰 상승 또는 하락 촛불이 이전 촛불을 휩쓸었는지 여부를 결정하기 위해 휩쓸기 패턴을 식별합니다. 이것은 현재 추세가 반전되고 있음을 나타냅니다.

그 후, RSI가 과반 구매 또는 과반 판매 극단을 표시하고 상승 추세 또는 하락 추세가 나타나면 구매 또는 판매 신호가 유발됩니다. 마지막으로, RSI 황금 십자와 죽음의 십자 는 이익을 취하고 손실을 중지하는 것을 결정하는 데 사용됩니다.

전략 의 장점

이 전략은 트렌드 지표 RSI와 패턴 지표 포괄 패턴을 결합하여 시장 트렌드를 포괄적으로 판단하며 단일 지표 전략에 비해 더 강력한 확인 효과를 가지고 있으며 소란스러운 거래 신호를 효과적으로 필터링 할 수 있습니다.

RSI 지표는 과잉 구매 및 과잉 판매 상태를 매우 정확하고 명확하게 판단하고, 포용 패턴에 암시되는 가격-용량 특성은 추세 반전의 신뢰성을 추가로 확인할 수 있습니다.

이 전략은 과도한 매수와 과도한 판매로 인한 역전 기회를 적시에 포착할 수 있으며, 통합 과정에서 불필요한 거래 손실을 피할 수 있습니다.

전략 의 위험

이 전략의 가장 큰 위험은 잘못된 신호를 보여주는 RSI 지표 및 포식 패턴의 확률이 낮지 않다는 것입니다. RSI 지표는 왜곡과 오차에 취약합니다. 그리고 포식 패턴의 식별은 촛불 차트 창 크기와 같은 매개 변수를 조정하여 조작 할 수 있습니다.

또한, 반전 신호가 나타나면 변동 및 통합의 가능성을 완전히 배제할 수 없습니다. 시장은 포지션이 설정 된 후 단기간에 인하 또는 심지어 반전도 발생할 수 있습니다. 이 모든 것이 손실 및 손실을 멈추게 할 수 있습니다.

리스크를 줄이기 위해, 우리는 최고의 매개 변수 조합을 찾기 위해 RSI 지표의 매개 변수 설정을 최적화해야합니다. 또한, 강력한 대표성과 유동성을 가진 거래 도구를 선택하는 것도 매우 중요합니다. 포지션을 설정 한 후, 우리는 포지션 크기를 적절히 제어하고 적시에 스톱 로스를 설정해야합니다.

전략 최적화의 방향

이 전략은 다음과 같은 측면에서 더 이상 최적화 될 수 있습니다.

  1. KDJ와 MACD와 같은 더 많은 지표를 통합하여 신호 정확성을 향상시키기 위해 여러 지표 검증 시스템을 형성합니다.

  2. 거래 도구의 유동성, 변동성 및 거래 비용과 같은 요소를 고려하고 거래 비용과 미끄러짐 위험을 줄이기 위해 최적의 요소를 선택하십시오.

  3. 기계 학습 방법을 사용하여 매개 변수를 훈련하고 최적화하십시오. 예를 들어, RSI 분리를 식별하기 위해 딥 러닝을 사용하십시오.

  4. 스톱 로스 전략을 추가하고, 이동 스톱 로스, MA 스톱 로스 등을 통해 이익을 보호합니다.

결론

이 전략은 RSI 지표와 포식 패턴의 강점을 활용하고 트렌드 판단과 특징 검증 모두를 고려한 양적 거래 시스템을 설계합니다. 높은 신뢰성을 유지하면서 반전 기회를 효과적으로 포착 할 수 있습니다. 지속적인 최적화를 통해이 전략은 안정적이고 신뢰할 수있는 양적 전략이 될 수 있습니다.


/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Lesson 6", shorttitle="RSI Swing Signals", overlay=true)

// Get user input
rsiSource = input(title="RSI Source", type=input.source, defval=close)
rsiLength = input(title="RSI Length", type=input.integer, defval=9)
rsiOverbought = input(title="RSI Overbought Level", type=input.integer, defval=60)
rsiOversold = input(title="RSI Oversold Level", type=input.integer, defval=25)

// Get RSI value
rsiValue = rsi(rsiSource, rsiLength)
rsiOB = rsiValue >= rsiOverbought
rsiOS = rsiValue <= rsiOversold

// Identify engulfing candles
bullishEC = close > open[1] and close[1] < open[1]
bearishEC = close < open[1] and close[1] > open[1]

// Define entry and exit conditions
longCondition = (rsiOS or rsiOS[1]) and bullishEC
shortCondition = (rsiOB or rsiOB[1]) and bearishEC

// Plot signals to chart
plotshape(longCondition, title="Long", location=location.belowbar, color=color.green, transp=0, style=shape.triangleup, text="Long")
plotshape(shortCondition, title="Short", location=location.abovebar, color=color.red, transp=0, style=shape.triangledown, text="Short")

// Strategy entry and exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Define exit conditions
longExitCondition = crossover(rsiValue, 60) // You can customize this exit condition
shortExitCondition = crossunder(rsiValue, 40) // You can customize this exit condition

// Strategy exit
strategy.exit("ExitLong", from_entry="Long", when=longExitCondition)
strategy.exit("ExitShort", from_entry="Short", when=shortExitCondition)

// Send out an alert if this candle meets our conditions
alertcondition(longCondition or shortCondition, title="RSI Trade Alert!", message="RSI Swing Signal for XXX")


더 많은