Purata pergerakan berbilang tempoh digabungkan dengan anjakan Fibonacci dan strategi dagangan titik pangsi

EMA PP FIBO SL TP
Tarikh penciptaan: 2024-12-11 15:58:20 Akhirnya diubah suai: 2024-12-11 15:58:20
Salin: 1 Bilangan klik: 459
1
fokus pada
1617
Pengikut

Purata pergerakan berbilang tempoh digabungkan dengan anjakan Fibonacci dan strategi dagangan titik pangsi

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan beberapa alat analisis teknikal, yang menggunakan garis rata-rata ganda ((EMA 2050 kitaran), tahap Fibonacci retracement, dan tahap rintangan sokongan titik-titik pusat untuk menentukan isyarat perdagangan. Strategi ini menggunakan pendekatan yang menggabungkan pengesanan trend dengan retracement harga, untuk meningkatkan ketepatan perdagangan melalui pengesahan berganda.

Prinsip Strategi

Logik teras strategi adalah berdasarkan elemen utama berikut:

  1. Menggunakan EMA 20 dan 50 untuk menentukan arah trend keseluruhan
  2. Menggunakan Fibonacci Retracement Levels ((23.6%, 38.2%, 50%, 61.8%) untuk mengenal pasti tahap rintangan sokongan yang berpotensi
  3. Menggabungkan titik pusat ((PP) dan tahap rintangan sokongan ((S1/S2, R1/R2) untuk mengesahkan tahap kritikal harga
  4. Syarat penyertaan mesti dipenuhi pada masa yang sama:
    • Garis purata jangka pendek melintasi garisan purata jangka panjang ke atas ((membuat lebih) atau ke bawah ((membuat kosong))
    • Harga berada di atas/di bawah tahap Fibonacci yang sesuai
    • Pengesahan bahawa harga memenuhi titik rintangan sokongan titik pivot
  5. Mengendalikan risiko dengan menetapkan hentian (30 mata) dan sasaran keuntungan (60 mata)

Kelebihan Strategik

  1. Memperbaiki kebolehpercayaan isyarat dengan cross-validasi pelbagai petunjuk teknikal
  2. Gabungan Trend dan Sokongan Rintangan, Mengimbangi Masa Permulaan
  3. Parameter pengurusan risiko tetap untuk melaksanakan kuantiti strategi
  4. Petunjuk isyarat perdagangan visual untuk pemantauan langsung
  5. Sesuai untuk perdagangan trend jangka menengah dan panjang, mengurangkan kesan turun naik jangka pendek

Risiko Strategik

  1. Penunjuk ganda boleh menyebabkan kelewatan isyarat dan menjejaskan masa masuk
  2. Tahap Stop Loss Gain yang tetap mungkin tidak sesuai untuk semua keadaan pasaran
  3. Mungkin terlalu banyak isyarat palsu dalam pasaran menyusun di sebelah kiri
  4. Harga yang lebih tinggi diperlukan untuk mendapatkan keuntungan yang ideal.
  5. Hentian kerugian mungkin tidak berkesan apabila pasaran berubah-ubah secara mendadak

Arah pengoptimuman strategi

  1. Memperkenalkan mekanisme penangguhan kerugian yang menyesuaikan diri dengan kadar turun naik
  2. Tambah penunjuk volum sebagai pengesahan tambahan
  3. Parameter garis purata yang disesuaikan dengan keadaan pasaran yang berbeza
  4. Tambahkan penapis kekuatan aliran untuk mengurangkan isyarat palsu
  5. Membangunkan mekanisme pengurusan kedudukan yang lebih pintar

ringkaskan

Strategi ini membina sistem perdagangan yang agak lengkap dengan mengintegrasikan beberapa alat analisis teknikal klasik. Walaupun terdapat beberapa ketidakselesaan, kebolehpercayaan perdagangan meningkat dengan mekanisme pengesahan berganda. Dengan pelaksanaan cadangan pengoptimuman, strategi ini dijangka dapat mencapai prestasi yang lebih baik dalam perdagangan dalam talian.

Kod sumber strategi
/*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)