資源の読み込みに... 荷物...

Fibonacci リトラセッションとピボットポイント取引戦略のマルチタイムフレーム EMA

作者: リン・ハーンチャオチャン開催日:2024年12月11日 15:58:20
タグ:エイマPPFIBOSLTP

 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)


関連性

もっと