멀티 타임 프레임 골든 리버설 팔로잉 전략


생성 날짜: 2024-01-31 15:01:39 마지막으로 수정됨: 2024-01-31 15:01:39
복사: 0 클릭수: 592
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

멀티 타임 프레임 골든 리버설 팔로잉 전략

개요

이 전략은 다양한 기술 지표와 거래 방법을 조합하여 금 시장에서 트렌드를 자동으로 식별하고, 반전 기회를 발견하고, 효율적인 트레이딩을 수행합니다. 이 전략은 여러 시간 프레임에 적용되며, 일간 단선 및 중장선에서 우수한 효과를 얻을 수 있습니다.

전략 원칙

전략은 주로 평평선 교차, 브린 밴드, 지지 저항 수준, 가격 형태와 같은 여러 가지 기술 지표의 거래 신호 판단에 기초한다. 큰 트렌드를 판단 할 때, 빠른 이동 평균, 느린 이동 평균, RSI 및 MACD 지표와 같은 다각의 확인을 사용하여 트렌드 반전을 정확하게 포착한다. 특정 시장에 진입 할 때, 브린 밴드, 핵심 가격 수준의 돌파구 및 모양과 같은 가격 형태가 형성되는 신호를 관찰하여 동작한다. 동시에, 전략은 고정된 손실 및 중지 메커니즘을 사용하여 위험을 제어한다.

전체 전략 과정은 다음과 같은 단계로 구성됩니다.

  1. 큰 트렌드를 판단하는 방법: 계산 빠른 MA, 느린 MA, 빠른 MA에 느린 MA를 통과하면 부진, 하락하면 하락. 동시에 RSI와 MACD 지표와 결합하여 확인.

  2. 특정 입시점을 찾아보세요.부린 벨트, 핵심 지지부진의 돌파구, 가격 형태 신호 등을 관찰하는 것.

  3. 정지 손실 설정: ATR 지표를 통해 스톱 손실의 폭을 계산하고, 합리적인 스톱 위치를 설정한다.

  4. 필터 가짜 돌파구: 일부 지표는 잘못된 신호가 발생할 수 있으며, 복합적으로 여러 지표를 사용하여 필터링한다.

우위 분석

이 전략에는 다음과 같은 장점이 있습니다.

  1. 다각적인 판단: 다양한 지표의 조합을 사용하면 시장을 더 많은 차원에서 판단할 수 있으며, 단일 지표의 잘못된 판단의 확률을 피할 수 있습니다.

  2. 적용가능성이 전략은 단일 거래나 중장기 거래 모두에서 더 좋은 효과를 볼 수 있습니다.

  3. 융통성이 전략은 시장의 다양한 단계에 적합한 다양한 거래 방법을 포함하고 있습니다.

  4. 위험은 통제할 수 있습니다.: 손해와 스톱을 통해 각 리스크 을 제어하고, 전체적으로 제어하는 전략의 최대 회수.

위험 분석

이 전략에는 다음과 같은 위험들이 있습니다.

  1. 지표가 잘못 판단될 확률: 여러 지표 조합을 통해 오해의 가능성을 줄였음에도 불구하고, 극단적인 상황에서는 여전히 약간의 오해의 가능성이 있습니다. 이것은 기술 지표 거래가 완전히 피하기 어려운 위험입니다.

  2. 반전 불확실성전략적 판단의 역전기준의 핵심점은 진정한 트렌드 전환점으로 충분하지 않을 수 있으며, 미래의 트렌드를 완벽하게 예측할 수 없습니다. 이는 스톱으로 위험을 통제해야 합니다.

  3. 가짜 침입 위험돌파 사건: 돌파 사건이 갑자기 나타난다면, 단기간의 가짜 돌파가 될 수 있다. 이것은 더 큰 수준의 시간 프레임과 가격 형태를 관찰함으로써 판단할 필요가 있다.

  4. 매개 변수 최적화 문제: 전략에는 여러 개의 변수가 포함되며, 다른 변수들은 결과에 중요한 영향을 미치지만, 최적의 변수를 찾기 위해 끝없이 조정하는 것은 어렵습니다. 이것은 여러 가지 지표를 균형을 잡고 변수를 안정적으로 유지함으로써 완화해야합니다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 모델 통합[기계 학습과 같은 모델을 도입하여 지표 신호의 무게와 시장 확률을 판단할 수 있다.]

  2. 적응 변수 최적화: 일부 동적 지표를 적절하게 도입하거나 가격 실물 변화에 따른 적응 메커니즘을 통해 매개 변수를 최적화하십시오.

  3. 사건에 의한 거래금 시장에서 거래 신호의 원천으로 이벤트, 뉴스 등에 기반한 동력을 도입하는 것.

  4. 모델 포트폴리오포트폴리오를 구성하여 장기 및 단기 포지션을 포함하고 서로 다른 모델 간의 헤지링을 통해 시장의 체계적 위험을 줄일 수 있습니다.

요약하다

전체적으로 볼 때, 이 금 반전 추적 전략은 여러 가지 거래 방법을 통합하여 트렌드 반전을 발견하면서 위험을 잘 통제하는 것이 고주파 거래에 적합한 효과적인 전략이다. 신호원을 더 확장하여 적응 장치와 위험 관리 모델을 도입함으로써 이 전략은 최적화 할 수있는 큰 공간이 있으며 더 오래 지속되고 안정적인 초과 수익을 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PratikMoney_Gold_Swing_v2.0", overlay=true)

// Trend Following
fastMA = ta.sma(close, 50)
slowMA = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdDivergence = macdLine - signalLine
trendUp = ta.crossover(fastMA, slowMA) and rsiValue > 50 and macdLine > 0 and macdDivergence > 0
trendDown = ta.crossunder(fastMA, slowMA) and rsiValue < 50 and macdLine < 0 and macdDivergence < 0

// Breakout Trading
resistanceLevel = input(1500, title="Resistance Level")
supportLevel = input(1400, title="Support Level")

breakoutUp = close > resistanceLevel and close[1] <= resistanceLevel
breakoutDown = close < supportLevel and close[1] >= supportLevel

// Moving Average Crossovers
shortTermMA = ta.sma(close, 9)
longTermMA = ta.sma(close, 21)

maCrossUp = ta.crossover(shortTermMA, longTermMA)
maCrossDown = ta.crossunder(shortTermMA, longTermMA)

// Bollinger Bands
bbUpper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
bbLower = ta.sma(close, 20) - 2 * ta.stdev(close, 20)

bbBreakoutUp = close > bbUpper and close[1] <= bbUpper
bbBreakoutDown = close < bbLower and close[1] >= bbLower

// Support and Resistance
bounceFromSupport = close < supportLevel and close[1] >= supportLevel
reversalFromResistance = close > resistanceLevel and close[1] <= resistanceLevel

// Fibonacci Retracement
fibonacciLevel = input(0.618, title="Fibonacci Level")

fibRetraceUp = ta.lowest(low, 50) >= ta.highest(high, 50) * (1 - fibonacciLevel)
fibRetraceDown = ta.highest(high, 50) <= ta.lowest(low, 50) * (1 + fibonacciLevel)

// Price Action Trading
pinBar = close < open and low < close[1] and close > open[1]
engulfing = close < open and close[1] > open and close[2] > open[1] and close > open[2]

priceActionLong = pinBar or engulfing and close > open
priceActionShort = pinBar or engulfing and close < open

// Scalping
scalpLong = ta.change(close) > 0.1
scalpShort = ta.change(close) < -0.1

// Volatility Breakout
atrLevel = input(1.5, title="ATR Multiplier")

volatilityBreakoutUp = close > ta.sma(close, 20) + atrLevel * ta.atr(20)
volatilityBreakoutDown = close < ta.sma(close, 20) - atrLevel * ta.atr(20)

// Strategy Execution
strategy.entry("TrendLong", strategy.long, when=trendUp)
strategy.entry("TrendShort", strategy.short, when=trendDown)

strategy.entry("BreakoutLong", strategy.long, when=breakoutUp)
strategy.entry("BreakoutShort", strategy.short, when=breakoutDown)

strategy.entry("VolatilityLong", strategy.long, when=volatilityBreakoutUp)
strategy.entry("VolatilityShort", strategy.short, when=volatilityBreakoutDown)

strategy.entry("PriceActionLong", strategy.long, when=priceActionLong)
strategy.entry("PriceActionShort", strategy.short, when=priceActionShort)

strategy.entry("ScalpLong", strategy.long, when=scalpLong)
strategy.entry("ScalpShort", strategy.short, when=scalpShort)

// Plotting
plot(supportLevel, color=color.green, title="Support Level")
plot(resistanceLevel, color=color.red, title="Resistance Level")

plot(bbUpper, color=color.blue, title="Upper Bollinger Band")
plot(bbLower, color=color.blue, title="Lower Bollinger Band")

// Plotting Price Action Signals
plotshape(series=priceActionLong, title="Price Action Long", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=priceActionShort, title="Price Action Short", color=color.red, style=shape.triangledown, location=location.abovebar)

// Plotting Scalping Signals
plotshape(series=scalpLong, title="Scalp Long", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=scalpShort, title="Scalp Short", color=color.red, style=shape.triangledown, location=location.belowbar)