
이 전략은 123의 반전 형태와 평평한 RSI 지표를 결합하여 트렌드 반전 지점을 더 정확하게 포착하여 더 높은 승률을 얻을 수 있습니다. 이 전략은 어떤 주기의 어떤 품종에도 사용할 수 있으며 매우 일반적인 트렌드 반전 거래 전략입니다.
123 반전 형태 판단: 현재 2일 종결 가격이 높은 낮은 점을 구성하고, 3일 종결 가격이 전날 종결 가격보다 높을 때, 하위 반전 신호; 현재 2일 종결 가격이 낮은 높은 점을 구성하고, 3일 종결 가격이 전날 종결 가격보다 낮을 때, 상위 반전 신호.
평평한 RSI 지표 판단: 평평한 RSI 지표는 가중된 이동 평균의 방법을 통해 RSI 지표의 지연성을 줄인다. RSI 지표 상의 설정된 높은 지점의 경계를 넘으면 구매 신호를 발산한다. RSI 지표 아래의 설정된 낮은 지점의 경계를 넘으면 판매 신호를 발산한다.
전략 신호: 123 반전 형태 신호와 평평한 RSI 지표 신호가 동방향일 때만 거래 신호를 생성한다. 다중 신호는 123 반전으로 하위 신호를 형성하고 RSI 지표에 높은 지점을 통과한다. 공백 신호는 123 반전으로 상위 신호를 형성하고 RSI 지표 아래 낮은 지점을 통과한다.
트렌드를 판단하는 지표 RSI와 반전 형태를 결합하면 트렌드 반전의 지점을 더 정확하게 판단할 수 있다.
평평한 RSI 지표는 평평한 처리를 통해 일반 RSI 지표의 지연 문제를 줄일 수 있다.
123 반전 형태는 간단하고 명확하며, 실현을 판단하기 쉽다.
유연하게 조정 가능한 매개 변수, 다양한 품종과 주기, 사용 범위가 넓다.
최적화 및 개선이 가능하며, 확장할 수 있는 여지가 많습니다.
123 회전 형태는 비교적 간단하며, 작은 파장 조정에 민감하지 않으며, 거짓 신호를 생성할 수 있다.
평평한 RSI 지표의 최적화 수준은 충분하지 않으며, 조정 매개 변수는 너무 최적화 될 수 있습니다.
반전 형태와 RSI 지표 동방향을 생성하기 위해 신호를 생성하는 주파수는 높지 않을 수 있다.
거래비용을 고려하지 않고서는 소액 투자도 수익성이 떨어질 수 있습니다.
단편적 손실을 통제할 수 없는 막부장치
평평한 RSI 변수를 최적화하여 최적의 변수 조합을 찾습니다.
다른 지표 또는 형태를 추가하여 신호 품질을 향상시킵니다.
단독 손실을 통제하기 위해 손해 방지 장치를 추가합니다.
거래 비용을 고려하고, 다른 금액에 맞게 변수를 조정합니다.
다양한 품종과 주기의 파라미터 설정을 테스트하여 최적의 파라미터 조합을 찾습니다.
자동 매개 변수 최적화 기능이 추가되었습니다.
이 전략의 전체적인 아이디어는 명확하고 간단하며, 역전 형태를 결합한 트렌드 판단 지표를 통해 잠재적인 트렌드 전환점을 효과적으로 판단할 수 있다. 전략의 장점은 광범위하게 적용되고 편리하게 최적화 될 수 있다는 점에 있다. 그러나 또한 특정 위험이 있으며, 예방에 주의를 기울이고 지속적인 최적화를 필요로 한다. 전체적으로 이 전략은 일반적이고 실용적인 짧은 선 역전 거래 전략으로, 깊이 있는 연구와 응용에 가치가 있다.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/07/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
// This is new version of RSI oscillator indicator, developed by John Ehlers.
// The main advantage of his way of enhancing the RSI indicator is smoothing
// with minimum of lag penalty.
//
// 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
SRSI(Length, TopBand,LowBand) =>
pos = 0.0
xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
pos:= iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Smoothed 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, "---- Smoothed RSI ----")
LengthRSI = input(10, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(LengthRSI, TopBand,LowBand )
pos = iff(posReversal123 == 1 and posSRSI == 1 , 1,
iff(posReversal123 == -1 and posSRSI == -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 )