Strategi Jam Perdagangan Emas

Penulis:ChaoZhang, Tanggal: 2023-09-19 16:03:52
Tag:

Gambaran umum

Strategi jam perdagangan emas secara otomatis menentukan jam terbaik untuk membeli dan menjual setiap hari dengan melakukan backtesting data historis. Ini menggunakan indikator ROC untuk menghitung persentase kenaikan dan penurunan candlesticks di jam yang berbeda dan dengan demikian mengevaluasi kinerja perdagangan untuk menemukan jam beli dan jual yang optimal.

Prinsip Strategi

  1. Gunakan waktu saat ini untuk mendapatkan jam saat ini now_hour.

  2. Gunakan indikator ROC untuk menghitung persentase kenaikan dan penurunan per jam indikator candlestick.

  3. Hitung produk kumulatif dari indikator dan now_hour sebagai buy_hourXindicator_cum.

  4. Menghitung jumlah kumulatif indikator sebagai buy_indicator_cum.

  5. Waktu beli terbaik buy_hour = buy_hourXindicator_cum / buy_indicator_cum.

  6. Dengan cara yang sama, hitung jam jual terbaik sell_hour.

  7. Bandingkan now_hour dengan buy_hour dan sell_hour untuk menentukan apakah jam saat ini adalah jam beli atau jual yang optimal.

  8. Kirim sinyal yang sesuai selama jam pembelian dan penjualan yang optimal.

  9. Gunakan warna latar belakang yang berbeda untuk menampilkan jam beli dan jual optimal secara real time.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah kemampuan untuk secara otomatis menentukan jam perdagangan terbaik pada hari itu. Ini menghemat banyak waktu dan usaha dari secara manual mengamati data historis untuk menilai jam perdagangan optimal. Juga, strategi dapat menyesuaikan jam perdagangan optimal secara real time berdasarkan data langsung untuk merespons dengan cepat perubahan pasar. Strategi ini memiliki lebih banyak keuntungan dibandingkan dengan jam perdagangan tetap.

Selain itu, strategi ini memanfaatkan indikator ROC dengan baik. Dengan menghitung persentase kenaikan dan penurunan lilin per jam, ia dapat menilai kinerja perdagangan periode yang berbeda dengan lebih akurat. Indikator ROC sensitif terhadap fluktuasi asimetris dan dapat mencerminkan perubahan pasar.

Analisis Risiko

Risiko terbesar dari strategi ini terletak pada keterbatasan indikator ROC itu sendiri. ROC hanya mempertimbangkan perubahan harga dan tidak sensitif terhadap perubahan volume perdagangan. Selain itu, ROC tidak berkinerja baik di pasar yang terikat rentang dengan band sempit. Jika menghadapi pasar yang terikat rentang sisi, efektivitas indikator ROC akan didiskon.

Selain itu, strategi ini menggunakan backtesting data historis untuk menentukan jam perdagangan yang optimal. Tetapi pola historis mungkin tidak berlaku untuk pasar saat ini. Perubahan struktural dapat terjadi di pasar, dan aturan perdagangan asli mungkin tidak lagi berlaku. Ini membutuhkan penyesuaian parameter berdasarkan kondisi pasar saat ini daripada hanya mengandalkan hasil backtesting.

Untuk mengatasi hal ini, kita dapat mempertimbangkan menggabungkan indikator lain seperti volume perdagangan untuk mendapatkan penilaian yang lebih komprehensif tentang kondisi pasar.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Cobalah indikator lain untuk menggantikan indikator ROC, seperti volume perdagangan, untuk menemukan indikator yang lebih cocok untuk menghitung kekuatan dan kelemahan per jam.

  2. Tambahkan kondisi penyaringan lainnya menggunakan moving average, osilator dll untuk menilai tren lokal dan menghindari perdagangan yang tidak wajar.

  3. Mengoptimalkan parameter periode waktu dan menguji dampak periode waktu yang berbeda pada hasil.

  4. Tambahkan mekanisme stop loss dan tetapkan titik stop loss yang wajar untuk mengendalikan risiko perdagangan.

  5. Menggabungkan metode pembelajaran mesin dan set data yang lebih besar untuk memecahkan jam perdagangan yang optimal.

Ringkasan

Singkatnya, strategi jam perdagangan emas adalah pendekatan yang layak dan efektif. Ini menggunakan indikator ROC untuk secara otomatis menentukan jam beli dan jual intraday yang optimal, menghemat banyak waktu dan usaha. Tetapi kita juga harus memperhatikan keterbatasan indikator ROC dan backtesting historis, dan menyesuaikan parameter berdasarkan kondisi pasar saat ini. Selain itu, masih banyak ruang untuk perbaikan dengan mengoptimalkan strategi ini dalam banyak aspek untuk menghasilkan sinyal yang lebih akurat dan dapat diandalkan. Jika digunakan untuk perdagangan langsung, disarankan untuk mengikuti aturan stop loss yang ketat untuk mengendalikan risiko perdagangan.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
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/
// © mablue (Masoud Azizi)

//@version=5
strategy("Trade Hour V3",overlay=false)
timezone = input.string("Europe/London",options=["America/New_York","America/Los_Angeles","America/Chicago","America/Phoenix","America/Toronto","America/Vancouver","America/Argentina" ,"America/El_Salvador","America/Sao_Paulo","America/Bogota","Europe/Moscow","Europe/Athens","Europe/Berlin","Europe/London","Europe/Madrid","Europe/Paris","Europe/Warsaw","Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/ACT","Asia/Almaty","Asia/Ashkhabad","Asia/Tokyo","Asia/Taipei","Asia/Singapore","Asia/Shanghai","Asia/Seoul","Asia/Tehran","Asia/Dubai","Asia/Kolkata","Asia/Hong_Kong","Asia/Bangkok","Pacific/Auckland","Pacific/Chatham","Pacific/Fakaofo","Pacific/Honolulu"]	)
source = input.source(close)
tp = input.int(1,"ROC Timeperiod")

now_hour = hour(time,timezone)

indicator = ta.roc(source,tp)

buy_hourXindicator_cum = ta.cum(indicator* now_hour)
buy_indicator_cum = ta.cum(indicator)
buy_hour = buy_hourXindicator_cum/buy_indicator_cum

sell_hourXindicator_cum = ta.cum( (1/indicator ) * now_hour)
sell_indicator_cum = ta.cum(1/indicator)
sell_hour = sell_hourXindicator_cum/sell_indicator_cum

plot(buy_hour,color=color.green)
plot(sell_hour,color=color.red)
plot(now_hour,color=color.gray,display=display.none)


bool isLongBestHour = now_hour==math.round(buy_hour)
bool isShortBestHour = now_hour==math.round(sell_hour)

bgcolor(isLongBestHour ? color.new(color.green,80) : na)
bgcolor(isShortBestHour ? color.new(color.red,80) : na)
strategy.order("buy", strategy.long, when =isLongBestHour)
strategy.order("sell", strategy.short, when = isShortBestHour)

Lebih banyak