Tren ADX Minyak mentah Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2024-01-25 15:18:15
Tag:

img

Gambaran umum

Strategi ini diadaptasi dari strategi perdagangan berjangka minyak mentah gratis Kevin Davey. Ini menggunakan indikator ADX untuk menentukan tren di pasar minyak mentah dan, dikombinasikan dengan prinsip price breakout, menerapkan strategi perdagangan otomatis yang sederhana dan praktis untuk minyak mentah.

Prinsip Strategi

  1. Menghitung indikator ADX periode 14
  2. Ketika ADX> 10, pasar dianggap memiliki tren
  3. Jika harga penutupan lebih tinggi dari harga penutupan 65 bar yang lalu, ini menunjukkan harga pecah dan sinyal panjang.
  4. Jika harga penutupan lebih rendah dari harga penutupan 65 bar yang lalu, ini menunjukkan harga pecah dan sinyal pendek.
  5. Setel stop loss dan take profit setelah masuk ke posisi

Strategi ini terutama mengandalkan indikator ADX untuk menentukan tren, dan menghasilkan sinyal perdagangan berdasarkan bursa harga siklus tetap dalam kondisi tren.

Analisis Keuntungan

  • Gunakan ADX untuk menentukan tren dan menghindari kehilangan peluang tren
  • Penembusan harga siklus tetap menghasilkan sinyal dengan hasil backtest yang baik
  • Kode intuitif dan sederhana, mudah dimengerti dan dimodifikasi
  • Kevin Davey verifikasi perdagangan hidup multi-tahun, non-kurva fitting

Analisis Risiko

  • Sebagai indikator utama, ADX sensitif terhadap pemilihan parameter dan pemilihan siklus istirahat.
  • Penembusan siklus tetap mungkin kehilangan beberapa kesempatan
  • Pengaturan stop loss dan take profit yang tidak tepat dapat meningkatkan kerugian
  • Mungkin ada perbedaan antara hasil perdagangan langsung dan hasil backtest

Arahan Optimasi

  • Mengoptimalkan parameter ADX dan siklus breakout
  • Meningkatkan penyesuaian dinamis ukuran posisi
  • Terus memodifikasi dan meningkatkan strategi berdasarkan hasil backtest dan verifikasi perdagangan langsung
  • Memperkenalkan teknik pembelajaran mesin dan pembelajaran mendalam untuk optimasi strategi

Ringkasan

Secara keseluruhan ini adalah strategi perdagangan minyak mentah yang sangat praktis. Ini menggunakan indikator ADX untuk menentukan tren dengan sangat wajar. Prinsip price breakout sederhana dan efektif dengan hasil backtest yang baik. Pada saat yang sama, sebagai strategi bebas publik Kevin Davey, strategi ini memiliki keandalan yang sangat kuat dalam pertempuran aktual. Meskipun masih ada ruang untuk perbaikan dalam strategi, ini adalah pilihan yang sangat cocok untuk pemula dan pedagang modal kecil untuk memulai dan berlatih.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// Strategy idea coded from EasyLanguage to Pinescript
//@version=5
strategy("Kevin Davey Crude free crude oil strategy", shorttitle="CO Fut", format=format.price, precision=2, overlay = true, calc_on_every_tick = true)
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = ta.change(high)
	down = -ta.change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = ta.rma(ta.tr, len)
	plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
	minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
plot(sig, color=color.red, title="ADX")

buy = sig > 10 and (close - close[65]) > 0 and (close - close[65])[1] < 0
sell = sig > 10 and (close - close[65]) < 0 and (close - close[65])[1] > 0

plotshape(buy, style = shape.arrowup, location = location.belowbar,size = size.huge)
plotshape(sell, style = shape.arrowdown, location = location.abovebar,size = size.huge)

if buy
	strategy.entry("long", strategy.long)
if sell
	strategy.entry("short", strategy.short)

if strategy.position_size != 0
	strategy.exit("long", profit = 450, loss = 300)
	strategy.exit("short", profit = 450, loss = 300)


// GetTickValue() returns the currency value of the instrument's
// smallest possible price movement.
GetTickValue() =>
    syminfo.mintick * syminfo.pointvalue

// On the last historical bar, make a label to display the
// instrument's tick value
if barstate.islastconfirmedhistory
    label.new(x=bar_index + 1, y=close, style=label.style_label_left,
         color=color.black, textcolor=color.white, size=size.large, 
         text=syminfo.ticker + " has a tick value of:\n" + 
             syminfo.currency + " " + str.tostring(GetTickValue()))

Lebih banyak