리소스 로딩... 로딩...

피보나치 리트레이싱 및 피보트 포인트 거래 전략과 함께 멀티 타임프레임 EMA

저자:차오장, 날짜: 2024-12-11 15:58:20
태그:EMAPPFIBOSLTP

 Multi-Timeframe EMA with Fibonacci Retracement and Pivot Points Trading Strategy

전반적인 설명

이 전략은 여러 가지 기술 분석 도구를 결합 한 포괄적 인 거래 시스템이며 주로 이중 EMA를 사용합니다 (2050거래 시그널을 생성하기 위해 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 기간, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 포인트 지원/ 저항 수준. 전략은 트레이딩 신호를 생성하기 위해 트렌드 추세 추세

전략 원칙

이 전략의 핵심 논리는 다음의 핵심 요소에 기초합니다. 1. 전반적인 트렌드 방향을 결정하기 위해 20 및 50 기간 EMA 교차점을 사용합니다. 2. 잠재적인 지원/저항 수준을 식별하기 위해 피보나치 리트랙시 레벨 (23.6%, 38.2%, 50%, 61.8%) 을 사용합니다. 3. 피보트 포인트 (PP) 와 그 지원/저항 수준 (S1/S2, R1/R2) 을 통합하여 주요 가격 수준을 확인합니다. 4. 입국 조건은 동시에 다음을 만족시켜야 한다. - 단기 EMA는 장기 EMA보다 높거나 낮습니다. - 가격은 적절한 피보나치 레벨 이상/하위입니다 - 가격은 피워트 포인트 지원/저항 수준을 확인 5. 위험 관리를 위해 고정 스톱 로스 (30 피프) 및 취리 (60 피프) 를 구현합니다.

전략적 장점

  1. 여러 기술 지표의 교차 검증은 신호 신뢰성을 향상시킵니다.
  2. 트렌드와 지원/저항을 결합하여 균형 잡힌 진입 시기를 제공합니다.
  3. 고정된 위험 관리 매개 변수는 양적 실행을 촉진합니다.
  4. 시각화 된 거래 신호는 실시간 모니터링을 가능하게합니다.
  5. 중장기 트렌드 트레이딩에 적합하며, 단기 변동성 영향을 줄여줍니다.

전략 위험

  1. 여러 가지 지표가 신호의 지연으로 이어질 수 있으며, 입시 시점에 영향을 줄 수 있습니다.
  2. 고정된 스톱 로스 및 영업률은 모든 시장 조건에 적합하지 않을 수 있습니다.
  3. 다양한 시장에서 과도한 잘못된 신호를 생성 할 수 있습니다.
  4. 최적의 수익을 위해 중요한 가격 변동이 필요합니다.
  5. 급격한 시장 변동 시 스톱 로스는 효과적이지 않을 수 있습니다.

전략 최적화 방향

  1. 변동성 적응 스톱 로스 및 수익 취득 메커니즘을 도입
  2. 추가 확인을 위해 부피 지표를 추가합니다.
  3. 시장 조건에 따라 EMA 매개 변수를 동적으로 조정합니다
  4. 잘못된 신호를 줄이기 위해 트렌드 강도 필터를 구현
  5. 더 똑똑한 부분 위치 관리 메커니즘 개발

요약

이 전략은 비교적 완전한 거래 시스템을 구축하기 위해 여러 가지 고전적인 기술 분석 도구를 통합합니다. 일부 내재적 지연이 있지만 여러 확인 메커니즘은 거래 신뢰성을 향상시킵니다. 최적화 제안의 구현을 통해 전략은 라이브 거래에서 성능을 향상시킬 가능성이 있습니다. 라이브 배포 전에 철저한 백테스팅을 수행하고 특정 시장 특성에 따라 매개 변수를 조정하는 것이 좋습니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Forex Strategy with EMA, Pivot, Fibonacci and Signals", overlay=true)

// Input for EMAs and Pivot Points
emaShortPeriod = input.int(20, title="Short EMA Period", minval=1)
emaLongPeriod = input.int(50, title="Long EMA Period", minval=1)
fibRetraceLevel1 = input.float(0.236, title="Fibonacci 23.6% Level")
fibRetraceLevel2 = input.float(0.382, title="Fibonacci 38.2% Level")
fibRetraceLevel3 = input.float(0.5, title="Fibonacci 50% Level")
fibRetraceLevel4 = input.float(0.618, title="Fibonacci 61.8% Level")

// Function to calculate Pivot Points and Levels
pivot(high, low, close) =>
    pp = (high + low + close) / 3
    r1 = 2 * pp - low
    s1 = 2 * pp - high
    r2 = pp + (high - low)
    s2 = pp - (high - low)
    [pp, r1, s1, r2, s2]

// Calculate Pivot Points
[pp, r1, s1, r2, s2] = pivot(high, low, close)

// Calculate 20 EMA and 50 EMA
emaShort = ta.ema(close, emaShortPeriod)
emaLong = ta.ema(close, emaLongPeriod)

// Plot the EMAs
plot(emaShort, color=color.blue, title="20 EMA", linewidth=2)
plot(emaLong, color=color.red, title="50 EMA", linewidth=2)

// Fibonacci Levels (manually drawn between the most recent high and low)
var float fibHigh = na
var float fibLow = na

if (not na(high[1]) and high > high[1])  // Check if new high is formed
    fibHigh := high
if (not na(low[1]) and low < low[1])    // Check if new low is formed
    fibLow := low

fib23_6 = fibLow + (fibHigh - fibLow) * fibRetraceLevel1
fib38_2 = fibLow + (fibHigh - fibLow) * fibRetraceLevel2
fib50 = fibLow + (fibHigh - fibLow) * fibRetraceLevel3
fib61_8 = fibLow + (fibHigh - fibLow) * fibRetraceLevel4

plot(fib23_6, color=color.green, linewidth=1, title="Fibonacci 23.6%")
plot(fib38_2, color=color.green, linewidth=1, title="Fibonacci 38.2%")
plot(fib50, color=color.green, linewidth=1, title="Fibonacci 50%")
plot(fib61_8, color=color.green, linewidth=1, title="Fibonacci 61.8%")

// Entry conditions (Crossovers)
longCondition = ta.crossover(emaShort, emaLong) and close > fib23_6 and close > s1
shortCondition = ta.crossunder(emaShort, emaLong) and close < fib23_6 and close < r1

// Exit conditions (Stop Loss and Take Profit)
stopLossPips = 30 * syminfo.mintick  // 30 pips Stop Loss
takeProfitPips = 60 * syminfo.mintick // 60 pips Take Profit

if (longCondition)
    strategy.entry("Buy", strategy.long, stop=stopLossPips, limit=takeProfitPips)
if (shortCondition)
    strategy.entry("Sell", strategy.short, stop=stopLossPips, limit=takeProfitPips)

// Plot Pivot Points for visual reference
plot(pp, color=color.yellow, linewidth=2, title="Pivot Point")
plot(r1, color=color.purple, linewidth=1, title="Resistance 1")
plot(s1, color=color.purple, linewidth=1, title="Support 1")
plot(r2, color=color.purple, linewidth=1, title="Resistance 2")
plot(s2, color=color.purple, linewidth=1, title="Support 2")

// Adding Buy and Sell Signals
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.small)
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.small)


관련

더 많은