Strategi perdagangan berdasarkan zon bekalan dan permintaan dan hentian gelongsor EMA


Tarikh penciptaan: 2024-01-18 16:41:16 Akhirnya diubah suai: 2024-01-18 16:41:16
Salin: 0 Bilangan klik: 787
1
fokus pada
1617
Pengikut

Strategi perdagangan berdasarkan zon bekalan dan permintaan dan hentian gelongsor EMA

Gambaran keseluruhan

Strategi ini menggunakan zon bekalan dan permintaan, indeks purata bergerak ((EMA) dan purata pergerakan sebenar ((ATR) untuk membuat keputusan mengenai isyarat perdagangan. Pengguna boleh menyesuaikan tetapan parameter EMA dan kebolehlihatan isyarat jual beli.

Prinsip Strategi

Pengiraan penunjuk

Purata bergerak EMA:

  • EMA dikira berdasarkan harga penutupan dalam tempoh tertentu (default 200).
  • Formula EMA:(EMA=(Pricet \times \alpha)+(EMA{t-1}×(1−\alpha)))Antara lain,(\alpha=\frac{2}{length+1})。

Rata-rata ATR yang sebenar:

  • ATR adalah ukuran tahap turun naik pasaran, yang dikira berdasarkan harga yang sebenarnya.
  • Julat pergerakan sebenar adalah yang terbesar dari tiga:
    • Harga tertinggi semasa kurang harga terendah semasa
    • Harga tertinggi semasa tolak nilai mutlak harga penutupan terakhir
    • Harga minimum semasa dikurangkan dari nilai mutlak harga penutupan terakhir
  • ATR mempunyai kitaran kiraan 14 ◦.

Pengiraan ini digunakan untuk menilai EMA trend dan menetapkan ATR bergerak stop loss berdasarkan turun naik pasaran. Strategi ini bertujuan untuk memberikan isyarat beli dan jual berdasarkan hubungan harga penutupan, EMA dan nilai ATR.

Penghakiman zon bekalan dan permintaan

Strategi ini menggunakan istilah seperti HH (lebih tinggi lebih tinggi), LL (lebih rendah lebih rendah), HL (lebih tinggi lebih rendah) dan LH (lebih rendah lebih tinggi) untuk mengenal pasti corak tingkah laku harga yang berbeza, yang sering digunakan dalam analisis trend:

  1. Lebih tinggi lebih tinggi (HH): Puncak harga semasa lebih tinggi daripada yang terdahulu, menunjukkan potensi pergerakan ke atas.

  2. Lebih rendah lebih rendahHarga terendah semasa adalah lebih rendah daripada harga terendah sebelum ini, menunjukkan potensi pergerakan ke bawah.

  3. Lebih tinggi, lebih rendahPada tahun ini, harga minyak mentah AS naik lebih rendah daripada harga minyak mentah AS sebelum ini, menunjukkan bahawa trend kenaikan berpotensi berterusan.

  4. Lebih rendah lebih tinggi (LH)Harga minyak mentah naik lebih rendah daripada harga minyak mentah sebelum ini, menunjukkan bahawa trend penurunan berpotensi berterusan.

Pola-pola ini digunakan bersama-sama dengan penunjuk teknikal lain untuk menentukan kebalikan atau kesinambungan trend yang berpotensi. Strategi ini menggunakan pola-pola ini untuk mengenal pasti masa masuk atau keluar.

Masuk dan keluar

Isyarat masuk: K baris ketiga menutup apabila harga lebih tinggi / lebih rendah daripada harga tertinggi / terendah hari sebelumnya menghasilkan isyarat beli / jual.

Cara untuk menghentikan kerugian: dengan beberapa kali ganda nilai ATR (default 2x) sebagai titik hentian mundur.

Kelebihan Strategik

  1. Menggabungkan pelbagai faktor seperti trend, reversal dan kadar turun naik, menilai pasaran secara menyeluruh dan mengelakkan pecah palsu.
  2. Menggunakan kawasan permintaan dan bekalan untuk menilai rintangan sokongan utama.
  3. ATR Stop Loss System mengesan pergerakan pasaran.
  4. Parameter EMA dan ATR boleh disesuaikan.
  5. Peraturan kemasukan mudah dan mudah untuk dilaksanakan.

Risiko dan pengoptimuman

  1. Untuk mengelakkan salah faham, panjang EMA perlu dioptimumkan dengan betul.
  2. ATR terlalu besar dan ada risiko terjatuh.
  3. Anda boleh mempertimbangkan untuk menapis isyarat masuk dengan menggabungkan faktor-faktor lain.
  4. Anda boleh mencuba strategi yang lebih penting, seperti sniping trend, dan ada tambahan yang diperlukan.

ringkaskan

Strategi ini menggunakan pelbagai petunjuk teknikal dan penilaian bentuk harga seperti trend, reversal, dan kadar turun naik secara menyeluruh. Strategi ini berfungsi dengan baik dalam pengesanan semula. Walau bagaimanapun, perubahan kompleks, pengoptimuman dan penyaringan yang sesuai untuk isyarat masuk ke pasaran masih diperlukan.

Kod sumber strategi
/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supply and Demand Zones with EMA and Trailing Stop", shorttitle="SD Zones", overlay=true)

showBuySignals = input(true, title="Show Buy Signals", group="Signals")
showSellSignals = input(true, title="Show Sell Signals", group="Signals")
showHLZone = input(true, title="Show HL Zone", group="Zones")
showLHZone = input(true, title="Show LH Zone", group="Zones")
showHHZone = input(true, title="Show HH Zone", group="Zones")
showLLZone = input(true, title="Show LL Zone", group="Zones")

emaLength = input(200, title="EMA Length", group="EMA Settings")
atrLength = input(14, title="ATR Length", group="Trailing Stop")
atrMultiplier = input(2, title="ATR Multiplier", group="Trailing Stop")

// Function to identify supply and demand zones
getZones(src, len, mult) =>
    base = request.security(syminfo.tickerid, "D", close)
    upper = request.security(syminfo.tickerid, "D", high)
    lower = request.security(syminfo.tickerid, "D", low)
    multiplier = request.security(syminfo.tickerid, "D", mult)
    zonetype = base + multiplier * len
    zone = src >= zonetype
    [zone, upper, lower]

// Identify supply and demand zones
[supplyZone, _, _] = getZones(close, high[1] - low[1], 1)
[demandZone, _, _] = getZones(close, high[1] - low[1], -1)

// Plot supply and demand zones
bgcolor(supplyZone ? color.new(color.red, 80) : na)
bgcolor(demandZone ? color.new(color.green, 80) : na)

// EMA with Linear Weighted method
ema = ta.ema(close, emaLength)

// Color code EMA based on its relation to candles
emaColor = close > ema ? color.new(color.green, 0) : close < ema ? color.new(color.red, 0) : color.new(color.yellow, 0)

// Plot EMA
plot(ema, color=emaColor, title="EMA")

// Entry Signal Conditions after the third candle
longCondition = ta.crossover(close, high[1]) and bar_index >= 2
shortCondition = ta.crossunder(close, low[1]) and bar_index >= 2

// Trailing Stop using ATR
atrValue = ta.atr(atrLength)
trailStop = close - atrMultiplier * atrValue

// Strategy Entry and Exit
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("TrailStop", from_entry="Buy", loss=trailStop)

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("TrailStop", from_entry="Sell", loss=trailStop)

// Plot Entry Signals
plotshape(series=showBuySignals ? longCondition : na, title="Buy Signal", color=color.new(color.green, 0), style=shape.triangleup, location=location.belowbar)
plotshape(series=showSellSignals ? shortCondition : na, title="Sell Signal", color=color.new(color.red, 0), style=shape.triangledown, location=location.abovebar)

// Plot Trailing Stop
plot(trailStop, color=color.new(color.red, 0), title="Trailing Stop")

// Plot HH, LL, LH, and HL zones
plotshape(series=showHHZone and ta.highest(high, 2)[1] and ta.highest(high, 2)[2] ? 1 : na, title="HH Zone", color=color.new(color.blue, 80), style=shape.triangleup, location=location.abovebar)
plotshape(series=showLLZone and ta.lowest(low, 2)[1] and ta.lowest(low, 2)[2] ? 1 : na, title="LL Zone", color=color.new(color.blue, 80), style=shape.triangledown, location=location.belowbar)
plotshape(series=showLHZone and ta.highest(high, 2)[1] and ta.lowest(low, 2)[2] ? 1 : na, title="LH Zone", color=color.new(color.orange, 80), style=shape.triangleup, location=location.abovebar)
plotshape(series=showHLZone and ta.lowest(low, 2)[1] and ta.highest(high, 2)[2] ? 1 : na, title="HL Zone", color=color.new(color.orange, 80), style=shape.triangledown, location=location.belowbar)