가격 반전 RSI 조합 전략


생성 날짜: 2023-12-22 11:53:11 마지막으로 수정됨: 2023-12-22 11:53:11
복사: 0 클릭수: 672
avatar of ChaoZhang ChaoZhang
1
집중하다
1623
수행원

가격 반전 RSI 조합 전략

개요

이 전략은 종합적으로 가격 반전 전략과 상대적으로 강한 지수 ((RSI) 지표를 사용하여 트렌드 판단과 오버 바이 오버 소드 판단의 유기적 결합을 구현한다. 이 중, 가격 반전 부분은 가격 반전 신호가 발생했는지 판단하고, RSI 부분은 시장이 오버 바이 오버 소드인지 판단하는 데 사용됩니다. 두 부분의 신호 결합은 가짜 신호를 효과적으로 필터링하여 신호 품질을 향상시킬 수 있다.

전략 원칙

가격 역전 부분에서는 123 형태를 사용하여 가격 역전을 판단한다. 구체적으로, 매각 가격이 전날 매각 가격보다 2 일 연속으로 낮아지고, 9 일 연속으로 무작위 지표 낮은 채널 라인이 50 이상일 때, 구매 신호를 발생시킨다. 매매 가격이 전날 매매 가격보다 2 일 연속으로 높아지고, 9 일 연속으로 무작위 지표 높은 채널 라인이 50 이상일 때, 판매 신호를 발생시킨다.

RSI는 상대적으로 강한 지수가 70보다 높거나 30보다 낮다면 시장이 과매매되고 과매매되는지 판단합니다. 70 이상의 RSI는 과매매 신호이며, 30 이하의 RSI는 과매매 신호입니다.

마지막으로, 가격 역전 신호와 RSI 신호는 논리적으로 과 의 연산을 한다. 즉, 둘 다 구매 신호 또는 판매 신호로 동일할 때, 실제 거래 신호가 시장에 들어간다. 따라서 단일 지표의 가짜 신호를 효과적으로 필터링하여 신호 품질을 향상시킨다.

전략적 이점

  1. 복합적인 다중 지표 판단을 사용하여 가짜 신호를 효과적으로 필터링합니다.

이 전략은 가격 형태 지표와 과매매 과매매 지표를 동시에 사용하며, 두 신호는 동향으로 시장에 진입하기 위해 필요합니다. 따라서 단일 지표가 생성 할 수있는 가짜 신호를 최대한 필터링하여 시장 진입 신호의 신뢰성을 보장 할 수 있습니다.

  1. 반전이 주류를 이루고, 보조적인 경향을 보이는 거래 방식

가격 반전 부분은 123 형식으로 반전을 판단한다. 이것은 전형적인 반전 거래 방식이다. 동시에, RSI 지표는 추세를 판단하고 보조 확인의 역할을 한다. 반전이 주, 추세가 보조적 결합으로 반전 기회를 포착 할 수 있으며 추세와 대비를 피할 수 있습니다.

  1. 간단한 매개 변수 설정, 리드 디스크 조작

이 전략은 두 가지의 일반적인 지표만 사용하며, 변수 수는 적당하다. 전략의 전체 구조는 간결하고 명확하며, 실디 조작의 난이도가 높지 않고, 쉽게 습득할 수 있다. 이것은 실디 거래자에게 매우 중요하다.

위험 분석

  1. 역전 실패 위험

가격 역전 거래 자체는 실패의 가능성이 있으며, 완전히 피할 수 없습니다. 가격이 123 신호를 형성하지만 다시 돌아가는 경우. 이것은 거래의 실패를 초래합니다.

  1. 거래 빈도가 너무 높은 위험

전략 자체는 판단 기준이 느리고 거래 신호를 많이 생성하기 쉽다. 통제하지 않으면 거래 빈도가 너무 높고 거래 비용과 심리적 스트레스를 증가시킬 수 있다.

  1. RSI 범위가 잘못 설정되어 있습니다.

RSI 지표의 오버 바이 오버 소드 영역은 기본적으로 30~70이다. 이것은 단지 경험적인 변수일 뿐이며, 실제 상황이 일치하지 않으면 올바른 신호를 놓치거나 잘못된 신호를 발산하기 쉽다.

위험 해소

  1. 지분 규모를 적절히 조정하여 단기 손실을 통제하십시오.

  2. 필터링 조건을 추가하고 거래 빈도를 낮추십시오. 예를 들어, 이동 평균 판단을 추가하십시오.

  3. 다양한 시장에 대한 테스트 후 동적으로 조정 RSI 파라미터 범위를 설정하여 합리적인 수치를 설정하십시오.

전략 최적화

  1. 이동평균 지표 판단을 늘리십시오.

기존의 기반에 이동평균선 판단 규칙을 추가하여 소규모의 소음을 어느 정도 필터링할 수 있다.

  1. 최적화 RSI 파라미터를 설정

이 테스트는 RSI가 오버 바이 오버 소드 값을 초과하는 최적의 변수 조합을 확인하는 데 사용된다.

  1. 지분 출구로 수익/손실 비율을 평가하는 방법

기존의 중지 방법 외에도, 목표 수익과 중지 손실의 탈퇴 메커니즘을 추가하여 수익을 잠금 할 수 있습니다.

요약하다

이 전략은 가격 반전 판단과 RSI 지표 판단을 이중 확인하여 반전을 주 트렌드에 보조하는 거래 사고를 구현한다. 또한 매개 변수 설정은 간단하고 실면을 쉽게 파악할 수 있다. 더 많은 필터링 조건을 추가할 수 있는 최적화를 통해 거래 주파수를 낮추는 동시에 신호 캡처 품질을 유지한다. 이 전략은 전반적으로 잘 작동하며 실전 사용 가치가 있다.

전략 소스 코드
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/08/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The RSI is a very popular indicator that follows price activity. 
// It calculates an average of the positive net changes, and an average 
// of the negative net changes in the most recent bars, and it determines 
// the ratio between these averages. The result is expressed as a number 
// between 0 and 100. Commonly it is said that if the RSI has a low value, 
// for example 30 or under, the symbol is oversold. And if the RSI has a 
// high value, 70 for example, the symbol is overbought. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


mRSI(Length,Oversold,Overbought) =>
    pos = 0.0
    xRSI = rsi(close, Length)
    pos:=iff(xRSI > Overbought, 1,
	       iff(xRSI < Oversold, -1, nz(pos[1], 0)))   
    pos

strategy(title="Combo Backtest 123 Reversal & RSI", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- RSI ----")
LengthRSI = input(12, minval=1)
Oversold = input(30, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posmRSI = mRSI(LengthRSI,Oversold,Overbought)
pos = iff(posReversal123 == 1 and posmRSI == 1 , 1,
	   iff(posReversal123 == -1 and posmRSI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )