Sumber dimuat naik... memuat...

Teori SMC Multi-Zone Berasaskan Trend Pintar Mengikuti Strategi

Penulis:ChaoZhang, Tarikh: 2024-11-29 15:38:01
Tag:SMASMCOBEQ

img

Ringkasan

Strategi ini, berdasarkan teori Smart Money Concepts (SMC), membina trend komprehensif mengikut sistem dagangan dengan membahagikan pasaran kepada tiga zon harga utama: Equilibrium, Premium, dan Discount.

Prinsip Strategi

Logik teras merangkumi beberapa elemen utama:

  1. Mengira swing tinggi dan rendah dari 8 lilin terakhir untuk menentukan julat pasaran.
  2. Mendefinisikan zon keseimbangan sebagai titik tengah antara swing tinggi dan rendah, dengan zon premium di atas dan zon diskaun di bawah.
  3. Menggunakan SMA 50 tempoh untuk menentukan arah trend keseluruhan - bullish di atas SMA, bearish di bawah.
  4. Menghasilkan isyarat beli di zon diskaun apabila harga di atas SMA, dan menjual isyarat di zon premium apabila harga di bawah SMA.
  5. Mengenali blok pesanan dengan menganalisis harga tertinggi dan terendah dalam 20 lilin untuk mengesahkan isyarat perdagangan.
  6. Tanda-tanda tinggi dan rendah sebagai zon kecairan untuk meramalkan titik pembalikan harga yang berpotensi.

Kelebihan Strategi

  1. Kaedah pembahagian zon berstruktur yang menyediakan pengenalan fasa pasaran yang jelas.
  2. Mekanisme pengesahan isyarat berbilang melalui pengesahan tiga zon, trend, dan blok pesanan.
  3. Penyesuaian dinamik kepada perubahan pasaran dengan kemas kini tahap harga utama dalam masa nyata.
  4. Sistem pengurusan risiko yang komprehensif termasuk pengendalian stop-loss dan kedudukan.
  5. Pelaksanaan kod yang bersih dan cekap, mudah dikekalkan dan dioptimumkan.

Risiko Strategi

  1. Potensi isyarat pecah palsu dalam pasaran yang tidak menentu.
  2. Penunjuk kelewatan dalam pembalikan pasaran yang cepat disebabkan oleh ketergantungan data sejarah.
  3. Purata bergerak tempoh tetap mungkin tidak sesuai dengan semua persekitaran pasaran.
  4. Memerlukan tetapan stop-loss yang betul untuk kawalan risiko. Langkah pengurusan risiko yang disyorkan:
  • Penyesuaian parameter dinamik untuk keadaan pasaran yang berbeza
  • Penambahan penapis turun naik
  • Pelaksanaan peraturan pengurusan wang yang ketat
  • Ujian semula dan pengoptimuman parameter secara berkala

Arahan pengoptimuman

  1. Memperkenalkan parameter penyesuaian:
  • Sesuaikan julat zon secara dinamik berdasarkan turun naik pasaran
  • Melaksanakan purata bergerak tempoh penyesuaian
  1. Penapisan isyarat yang dipertingkatkan:
  • Tambah mekanisme pengesahan jumlah
  • Masukkan penunjuk momentum
  1. Meningkatkan pengurusan risiko:
  • Melaksanakan mekanisme stop-loss dinamik
  • Mengoptimumkan algoritma saiz kedudukan
  1. Meningkatkan kecekapan pelaksanaan:
  • Mengoptimumkan logik pengiraan untuk mengurangkan penggunaan sumber
  • Meningkatkan mekanisme penjanaan isyarat untuk tindak balas yang lebih cepat

Ringkasan

Strategi ini membina sistem trend yang kukuh melalui pembahagian zon pintar dan pelbagai mekanisme pengesahan isyarat. Kekuatannya utama terletak pada analisis struktur pasaran yang jelas dan pengurusan risiko yang komprehensif. Melalui pengoptimuman dan penambahbaikan yang berterusan, strategi menunjukkan janji untuk prestasi yang stabil dalam pelbagai keadaan pasaran. Pedagang dinasihatkan untuk menyesuaikan parameter berdasarkan ciri pasaran tertentu dan mengekalkan kawalan risiko yang ketat ketika melaksanakan strategi dalam perdagangan langsung.


/*backtest
start: 2024-11-21 00:00:00
end: 2024-11-28 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@version=5
strategy("SMC Strategy with Premium, Equilibrium, and Discount Zones", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === Instellingen voor Swing High en Swing Low ===
swingHighLength = input.int(8, title="Swing High Length")
swingLowLength = input.int(8, title="Swing Low Length")

// Vind de recente swing highs en lows
var float swingHigh = na
var float swingLow = na

if (ta.highestbars(high, swingHighLength) == 0)
    swingHigh := high

if (ta.lowestbars(low, swingLowLength) == 0)
    swingLow := low

// Bereken Equilibrium, Premium en Discount Zones
equilibrium = (swingHigh + swingLow) / 2
premiumZone = swingHigh
discountZone = swingLow

// Plot de zones op de grafiek
plot(equilibrium, title="Equilibrium", color=color.blue, linewidth=2)
plot(premiumZone, title="Premium Zone (Resistance)", color=color.red, linewidth=1)
plot(discountZone, title="Discount Zone (Support)", color=color.green, linewidth=1)

// === Simple Moving Average om trendrichting te bepalen ===
smaLength = input.int(50, title="SMA Length")
sma = ta.sma(close, smaLength)
plot(sma, title="SMA", color=color.orange)

// === Entry- en Exitregels op basis van zones en trendrichting ===

// Koop- en verkoopsignalen
buySignal = close < equilibrium and close > discountZone and close > sma // Prijs in discount zone en boven SMA
sellSignal = close > equilibrium and close < premiumZone and close < sma // Prijs in premium zone en onder SMA

// Order Blocks (Eenvoudig: hoogste en laagste kaars binnen de laatste 20 kaarsen)
orderBlockLength = input.int(20, title="Order Block Length")
orderBlockHigh = ta.highest(high, orderBlockLength)
orderBlockLow = ta.lowest(low, orderBlockLength)

// Koop- en verkoopsignalen met order block bevestiging
buySignalOB = buySignal and close >= orderBlockLow // Koop in discount zone met ondersteuning van order block
sellSignalOB = sellSignal and close <= orderBlockHigh // Verkoop in premium zone met weerstand van order block

// === Uitvoeren van Trades ===
if (buySignalOB)
    strategy.entry("Buy", strategy.long)
    
if (sellSignalOB)
    strategy.entry("Sell", strategy.short)

// === Plots voor visuele feedback ===
plotshape(buySignalOB, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignalOB, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// === Liquiditeitsjachten aangeven ===
// Simpel: markeer recente swing highs en lows als liquiditeitszones
liquidityZoneHigh = ta.valuewhen(high == swingHigh, high, 0)
liquidityZoneLow = ta.valuewhen(low == swingLow, low, 0)

// Markeer liquiditeitszones
plot(liquidityZoneHigh, title="Liquidity Zone High", color=color.red, linewidth=1, style=plot.style_cross)
plot(liquidityZoneLow, title="Liquidity Zone Low", color=color.green, linewidth=1, style=plot.style_cross)


Berkaitan

Lebih lanjut