
이중 확인 반전 트렌드 추적 전략은 123 형태 반전 전략과 지지 저항 지점 돌파 전략을 결합하여 가격 반전 신호의 이중 확인을 구현하여 일부 노이즈 거래 신호를 필터링하여 전략의 승률을 높입니다.
이 전략은 주로 중장선 거래에 적용된다. 이 전략은 가격이 역전 신호를 형성할 때, 동시에 중요한 지원 또는 저항 지점을 돌파했는지 검출하고, 이중 확인 후에 거래 신호를 생성한다.
이중 확인 역전 추세 추적 전략은 두 부분으로 구성됩니다.
앞의 두 K 선의 종결 가격을 비교하여 가격 반전이 발생했는지 판단한다. 그리고 무작위 지표와 결합하여 변동성을 판단하고, 잘못된 보고 기회를 필터링한다.
1일 전의 최고 가격, 최저 가격, 그리고 종결 가격을 사용하여 지지점과 저항점을 계산한다. 가격이 이러한 핵심 지점을 돌파하는지 모니터링한다.
가격이 이 두 전략의 거래 신호를 동시에 충족시키면, 반전 신호가 두 번 확인되어 최종 거래 지시를 생성한다.
매개 변수를 통해 최적화하여, 이중 확인의 엄격성을 조정하고, 전략의 승률과 수익 횟수를 균형을 잡을 수 있다.
이중 확인 반전 트렌드 추적 전략은 반전 형태와 핵심 지점의 돌파구를 성공적으로 결합하여 신호 품질을 향상시키는 동시에 거래 횟수를 보장하는 전략이며 중·장기 트렌드 거래에 적합한 전략입니다. 변수 조정 및 스톱 손실 전략의 추가는 전략의 안정성과 실용성을 더욱 향상시킬 수 있습니다.
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 15/09/2020
// 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 name ‘Floor-Trader Pivot,’ came from the fact that Pivot points can
// be calculated quickly, on the fly using price data from the previous day
// as an input. Although time-frames of less than a day can be used, Pivots are
// commonly plotted on the Daily Chart; using price data from the previous day’s
// trading activity.
//
// 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
FPP() =>
pos = 0
xHigh = security(syminfo.tickerid,"D", high[1])
xLow = security(syminfo.tickerid,"D", low[1])
xClose = security(syminfo.tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = (vPP * 2) - xLow
vS1 = (vPP * 2) - xHigh
pos := iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Floor Pivot Points", shorttitle="Combo", overlay = true)
Length = input(15, 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)
posFPP = FPP()
pos = iff(posReversal123 == 1 and posFPP == 1 , 1,
iff(posReversal123 == -1 and posFPP == -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 )