
이중 반전 전략은 123 반전과 3 일 반전 형태를 결합한 양적 전략으로 거래 신호 품질을 높이고 위험을 줄이기 위해 사용된다. 이 전략은 K선 형태 지표와 결합된 차등 가격 지표를 사용하여 두 가지 지표가 동시에 신호를 발산할 때 거래하여 신호 정확도를 높인다.
이중 반전 전략은 두 가지 다른 유형의 거래 전략을 결합합니다. 첫 번째 전략은 123 반전 전략입니다. 이 전략은 격차 지표를 사용하여 2 일 연속으로 종전 가격 반전을 수행하고, 임의의 지표가 하락을 유발할 때 신호를 냅니다. 다른 전략은 3 일 반전 형태 전략입니다. 이 전략은 3 일 k 라인을 관찰하고, 중간에 가장 낮은 가격과 마지막 날 종전 가격이 전날의 최고 가격보다 높을 때 신호를 냅니다.
구체적으로, 123 역전 전략은 9일 무작위 지표를 사용하여 과매매 현상을 판단한다. 가격이 2일 연속으로 하락하고, 무작위 지표가 50보다 낮으면 구매 신호로; 2일 연속으로 상승하고, 무작위 지표가 50보다 높으면 판매 신호로 한다. 3일 역전 형태 전략은 가격이 3일 동안 높은 다음 낮은 다음 높은 패턴이 나타나는지 검출한다. 이것은 단기간의 과매가 역전된 신호를 보여준다.
이중 역전 전략은 두 가지 전략이 동시에 신호를 발산하도록 요구합니다. 이것은 가짜 신호의 비율을 크게 줄여서 시스템이 높은 확률 기회에서만 거래하도록합니다.
단일 전략에 비해 이중 역전 전략은 다음과 같은 장점이 있다.
이중 반전 전략의 주요 위험은 일부 기회를 놓치는 것이다. 신호에 대한 요구 사항이 까다롭기 때문에 일부 단일 지표 거래 기회가 놓치게 될 것이다. 파라미터를 조정하여 지표 중 하나에 대한 조건을 완화하고 부분적으로 거래 빈도를 증가시킴으로써 해결할 수 있다.
또 다른 위험은 어떤 극단적인 상황에서는 이중 지표가 동시에 실패할 가능성이 높다는 것입니다. 이러한 상황에 대해, 손해 제도를 증가시킬 수 있으며, 지분을 신속하게 청산하여 손실을 줄일 수 있습니다. 또는 역사적으로 실패한 극단적인 상황 특성에 따라 거래 신호를 취소하여 입장을 피하십시오.
이중 역전 전략은 다음의 몇 가지 측면에서 계속 개선될 수 있습니다.
이중 반전 전략은 반전 거래 사상과 k선 형태 분석을 성공적으로 결합했다. 그것은 가격의 단기 중기 반전의 본질적인 법칙을 충분히 탐구하고 반전이 제공하는 기회를 효과적으로 포착했다. 단순한 추세를 따르는 방법과 비교하여 이 전략은 위험을 통제하고 수익을 얻는 사이의 균형을 찾았다. 지속적인 최적화와 혁신을 통해 투자 가치는 지속적으로 검증 될 것이라고 믿는다.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 17/04/2019
// This is combo strategies for get
// a cumulative signal. Result signal will return 1 if two strategies
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range.
//
// 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
BarReversalPattern() =>
pos = 0.0
pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0)))
pos
strategy(title="Combo Strategies 123 Reversal and 3-Bar-Reversal-Pattern", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
pos3BarReversalPattern = BarReversalPattern()
pos = iff(posReversal123 == 1 and pos3BarReversalPattern == 1 , 1,
iff(posReversal123 == -1 and pos3BarReversalPattern == -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 ? red: possig == 1 ? green : blue )