Strategi Perdagangan Emas VWAP MACD SMO

Penulis:ChaoZhang, Tarikh: 2023-10-20 16:23:33
Tag:

img

Ringkasan

Strategi perdagangan VWAP MACD SMO Emas adalah strategi lengkap yang direka untuk pasaran emas menggunakan carta jangka masa 12 jam. Ia menggabungkan VWAP bulanan, osilator SMO dan histogram MACD untuk mengenal pasti peluang perdagangan di pasaran emas.

Logika Strategi

Strategi ini menggunakan VWAP bulanan sebagai penunjuk trend utama. VWAP mewakili harga urus niaga purata, dan bulanan bermaksud jangka masa untuk mengira VWAP adalah bulan lalu. Jika penutupan semasa di atas VWAP bulanan, ia menunjukkan trend menaik semasa; jika penutupan di bawah VWAP bulanan, ia bermakna trend menurun.

Osilator SMO digunakan untuk menentukan keadaan overbought dan oversold semasa. Ia terdiri daripada komponen kitaran panjang dan komponen kitaran pendek. Apabila osilator di atas 0, ia menunjukkan keadaan overbought, dan apabila di bawah 0, ia mewakili oversold.

Histogram MACD boleh menentukan arah momentum. Apabila lajur pecah, ia mewakili momentum menguat untuk pergi panjang; apabila lajur pecah, ia bermakna momentum melemah untuk mempertimbangkan pergi pendek.

Menurut tiga penunjuk ini, peraturan khusus strategi perdagangan boleh ditetapkan:

Masukan panjang: apabila penutupan di atas VWAP bulanan, histogram MACD pecah, dan osilator SMO di atas 0. Pendaftaran pendek: apabila penutupan di bawah VWAP bulanan, histogram MACD terpecah, dan osilator SMO di bawah 0.

Ambil keuntungan dan hentikan kerugian ditetapkan berdasarkan peratusan input.

Analisis Kelebihan

Strategi ini menggabungkan pelbagai jangka masa dan penunjuk untuk menentukan arah trend dan kekuatan dengan berkesan, dengan kelebihan berikut:

  1. VWAP bulanan boleh menentukan arah trend utama untuk mengelakkan perdagangan kontra trend.
  2. Histogram MACD dapat menangkap perubahan momentum dengan cara yang tepat pada masanya.
  3. Osilator SMO menilai keadaan overbought dan oversold, yang membantu untuk memasuki titik pembalikan yang berpotensi.
  4. Gabungan beberapa penunjuk boleh mengesahkan antara satu sama lain dan meningkatkan kebolehpercayaan isyarat.
  5. Peratusan keuntungan dan stop loss boleh disesuaikan untuk mengawal risiko.

Analisis Risiko

Walaupun strategi ini direka dengan munasabah, masih ada beberapa risiko yang perlu diperhatikan:

  1. VWAP sensitif terhadap whipsaws, yang boleh menghasilkan isyarat yang salah.
  2. Tetapan parameter MACD yang tidak betul meningkatkan kebarangkalian pecah palsu.
  3. Parameter SMO yang tidak betul juga boleh membawa kepada penilaian yang salah mengenai zon yang terlalu banyak dibeli dan terlalu banyak dijual.
  4. Tetapan mengambil keuntungan yang terlalu luas dan menghentikan kerugian tidak dapat mengawal kerugian tunggal dengan berkesan.

Untuk mengawal risiko di atas, parameter VWAP dan MACD harus dioptimumkan dengan munasabah tanpa julat yang terlalu luas.

Arahan pengoptimuman

Strategi ini juga boleh dioptimumkan dalam aspek berikut:

  1. Tambah pengesahan jumlah, seperti pemisahan jumlah MA.
  2. Menggabungkan penunjuk turun naik seperti ATR untuk menyesuaikan saiz kedudukan berdasarkan turun naik pasaran.
  3. Tambahkan mekanisme ringan pada tahap yang tinggi untuk mengelakkan keuntungan yang hilang.
  4. Uji strategi mengambil keuntungan dan stop loss yang berbeza, seperti stop loss, stop loss adaptif dan sebagainya.
  5. Tambah modul pengesahan model untuk menapis isyarat abnormal.

Kesimpulan

Strategi VWAP MACD SMO emas menggabungkan pelbagai penunjuk untuk menentukan trend dan keadaan overbought / oversold, yang dapat menangkap peluang jangka menengah hingga panjang dalam emas dengan berkesan. Walaupun terdapat beberapa risiko, mereka boleh dikawal melalui pengoptimuman parameter dan pengurusan risiko. Strategi ini mempunyai skalabiliti yang sangat kuat dan boleh dioptimumkan secara modular berdasarkan keperluan sebenar. Ini adalah sistem perdagangan yang layak untuk penjejakan jangka panjang.


/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
// strategy("VWAP Gold strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10000, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.005)


source = input(low)


//vwap monthly
timeframeM = time("M")
beginningM = na(timeframeM[1]) or timeframeM > timeframeM[1]

sumsourceM = source * volume
sumVolM = volume
sumsourceM := beginningM ? sumsourceM : sumsourceM + sumsourceM[1]
sumVolM := beginningM ? sumVolM : sumVolM + sumVolM[1]
vwapMonthly= sumsourceM / sumVolM

//macd
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)


fast_ma = ema(src, fast_length)
slow_ma = ema(src, slow_length)
macd = fast_ma - slow_ma
signal =  ema(macd, signal_length)
hist = macd - signal


//SMO
longlen = input(22, minval=1, title="Long Length SMO")
shortlen = input(6, minval=1, title="Short Length SMO")
siglen = input(5, minval=1, title="Signal Line Length SMO")
erg = tsi(close, shortlen, longlen)
sig = ema(erg, siglen)
osc = erg - sig


shortCondition =  close < vwapMonthly and hist < hist[1] and osc < 0
longCondition =  close > vwapMonthly and hist> hist[1] and osc > 0

tplong=input(0.085, step=0.005, title="Take profit % for long")
sllong=input(0.03, step=0.005, title="Stop loss % for long")
tpshort=input(0.05, step=0.005, title="Take profit % for short")
slshort=input(0.025, step=0.005, title="Stop loss % for short")

strategy.entry("long",1,when=longCondition)
strategy.entry("short",0,when=shortCondition)

strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')




Lebih lanjut