이 전략은 여러 가지 기술 분석 도구를 결합 한 포괄적 인 거래 시스템이며 주로 이중 EMA를 사용합니다 (20⁄50거래 시그널을 생성하기 위해 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 기간, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 리트레이싱 레벨, 피보나치 포인트 지원/ 저항 수준. 전략은 트레이딩 신호를 생성하기 위해 트렌드 추세 추세
이 전략의 핵심 논리는 다음의 핵심 요소에 기초합니다. 1. 전반적인 트렌드 방향을 결정하기 위해 20 및 50 기간 EMA 교차점을 사용합니다. 2. 잠재적인 지원/저항 수준을 식별하기 위해 피보나치 리트랙시 레벨 (23.6%, 38.2%, 50%, 61.8%) 을 사용합니다. 3. 피보트 포인트 (PP) 와 그 지원/저항 수준 (S1/S2, R1/R2) 을 통합하여 주요 가격 수준을 확인합니다. 4. 입국 조건은 동시에 다음을 만족시켜야 한다. - 단기 EMA는 장기 EMA보다 높거나 낮습니다. - 가격은 적절한 피보나치 레벨 이상/하위입니다 - 가격은 피워트 포인트 지원/저항 수준을 확인 5. 위험 관리를 위해 고정 스톱 로스 (30 피프) 및 취리 (60 피프) 를 구현합니다.
이 전략은 비교적 완전한 거래 시스템을 구축하기 위해 여러 가지 고전적인 기술 분석 도구를 통합합니다. 일부 내재적 지연이 있지만 여러 확인 메커니즘은 거래 신뢰성을 향상시킵니다. 최적화 제안의 구현을 통해 전략은 라이브 거래에서 성능을 향상시킬 가능성이 있습니다. 라이브 배포 전에 철저한 백테스팅을 수행하고 특정 시장 특성에 따라 매개 변수를 조정하는 것이 좋습니다.
/*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)