Strategi Perdagangan Emas VWAP MACD

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

img

Gambaran umum

Strategi perdagangan VWAP MACD SMO emas adalah strategi lengkap yang dirancang untuk pasar emas menggunakan grafik jangka waktu 12 jam.

Logika Strategi

Strategi ini menggunakan VWAP bulanan sebagai indikator tren utama. VWAP mewakili harga transaksi rata-rata, dan bulanan berarti rentang waktu untuk menghitung VWAP adalah bulan lalu. Jika penutupan saat ini di atas VWAP bulanan, itu menunjukkan tren naik saat ini; jika penutupan di bawah VWAP bulanan, itu berarti tren menurun.

Osilator SMO digunakan untuk menentukan situasi overbought dan oversold saat ini. Osilator ini terdiri dari komponen siklus panjang dan komponen siklus pendek.

Histogram MACD dapat menentukan arah momentum. Ketika kolom pecah, itu mewakili momentum menguat untuk pergi panjang; ketika kolom pecah, itu berarti momentum melemah untuk mempertimbangkan pergi pendek.

Berdasarkan tiga indikator ini, aturan khusus dari strategi perdagangan dapat ditetapkan:

Long entry: ketika close berada di atas VWAP bulanan, histogram MACD pecah, dan osilator SMO berada di atas 0. Entry pendek: ketika close berada di bawah VWAP bulanan, histogram MACD rusak, dan osilator SMO berada di bawah 0.

Ambil keuntungan dan stop loss ditetapkan berdasarkan persentase input.

Analisis Keuntungan

Strategi ini menggabungkan beberapa kerangka waktu dan indikator untuk secara efektif menentukan arah dan kekuatan tren, dengan keuntungan berikut:

  1. VWAP bulanan dapat menentukan arah tren utama untuk menghindari perdagangan kontra-tren.
  2. Histogram MACD dapat menangkap perubahan momentum secara tepat waktu.
  3. Osilator SMO menilai kondisi overbought dan oversold, yang membantu untuk memasuki titik pembalikan potensial.
  4. Kombinasi beberapa indikator dapat saling memverifikasi dan meningkatkan keandalan sinyal.
  5. Persentase profit dan stop loss yang dapat disesuaikan untuk mengendalikan risiko.

Analisis Risiko

Meskipun strategi ini dirancang secara wajar, masih ada beberapa risiko yang perlu dicatat:

  1. VWAP sensitif terhadap whipsaws, yang dapat menghasilkan sinyal yang salah.
  2. Pengaturan parameter MACD yang tidak benar meningkatkan kemungkinan terjadinya kegagalan yang salah.
  3. Parameter SMO yang tidak tepat juga dapat menyebabkan penilaian yang salah tentang zona overbought dan oversold.
  4. Pengaturan profit dan stop loss yang terlalu luas tidak dapat secara efektif mengendalikan kerugian tunggal.

Untuk mengendalikan risiko di atas, parameter VWAP dan MACD harus dioptimalkan secara wajar tanpa rentang yang terlalu luas. Juga, persentase profit dan stop loss tidak harus terlalu tinggi dan kerugian tunggal harus dikendalikan sekitar 3%.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dalam aspek berikut:

  1. Tambahkan konfirmasi volume, seperti volume breakout dari MA.
  2. Menggabungkan indikator volatilitas seperti ATR untuk menyesuaikan ukuran posisi berdasarkan volatilitas pasar.
  3. Tambahkan mekanisme cahaya pada tingkat tinggi untuk menghindari kehilangan keuntungan.
  4. Uji strategi mengambil keuntungan dan stop loss yang berbeda, seperti trailing stop loss, adaptive stop loss dll.
  5. Tambahkan modul verifikasi model untuk menyaring sinyal abnormal.

Kesimpulan

Strategi VWAP MACD SMO emas menggabungkan beberapa indikator untuk menentukan tren dan kondisi overbought / oversold, yang dapat secara efektif menangkap peluang jangka menengah hingga panjang di emas. Meskipun ada beberapa risiko, mereka dapat dikendalikan melalui optimasi parameter dan manajemen risiko. Strategi ini memiliki skalabilitas yang sangat kuat dan dapat dioptimalkan secara modular berdasarkan kebutuhan aktual. Ini adalah sistem perdagangan yang layak untuk pelacakan 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 banyak