Trend minyak mentah mengikut strategi berdasarkan penunjuk ADX


Tarikh penciptaan: 2024-01-25 15:18:15 Akhirnya diubah suai: 2024-01-25 15:18:15
Salin: 3 Bilangan klik: 643
1
fokus pada
1617
Pengikut

Trend minyak mentah mengikut strategi berdasarkan penunjuk ADX

Gambaran keseluruhan

Strategi ini adalah berdasarkan kepada strategi perdagangan niaga hadapan minyak mentah percuma Kevin Davey. Strategi ini menggunakan indikator ADX untuk menilai trend pasaran minyak mentah, digabungkan dengan prinsip penembusan harga, untuk mewujudkan strategi perdagangan automatik minyak mentah yang mudah dan praktikal.

Prinsip Strategi

  1. Mengira ADX 14 kitaran
  2. Apabila ADX > 10, ia dianggap sebagai trend
  3. Jika harga penutupan lebih tinggi daripada harga penutupan sebelum 65 garis K, ia menunjukkan harga pecah dan memberi isyarat untuk kedudukan panjang
  4. Sekiranya harga penutupan lebih rendah daripada harga penutupan sebelum 65 K, ini menunjukkan harga pecah dan memberi isyarat untuk kedudukan pendek
  5. Tetapkan hentian dan hentian selepas masuk

Strategi ini bergantung kepada trend penghakiman indikator ADX dan menghasilkan isyarat perdagangan berdasarkan harga yang pecah dalam kitaran tetap dalam keadaan trend. Logik keseluruhan strategi sangat mudah dan jelas.

Analisis kelebihan strategi

  • Menggunakan ADX untuk menilai trend dan mengelakkan kehilangan peluang
  • Penembusan harga kitaran tetap memberi isyarat, pengukuran semula lebih baik
  • Kode mudah difahami, ringkas dan mudah diubah suai
  • Kevin Davey, tahun-tahun ujian dalam talian, tidak sesuai dengan kurva

Analisis risiko strategi

  • ADX sebagai penunjuk utama, sensitif terhadap pemilihan parameter dan pemilihan kitaran pecah
  • Penembusan kitaran tetap mungkin terlepas beberapa peluang
  • Penetapan yang tidak betul boleh meningkatkan kerugian
  • Kemungkinan terdapat perbezaan antara kesan cakera keras dan pengukuran semula

Arah pengoptimuman strategi

  • Optimumkan parameter ADX dan kitaran penembusan
  • Peningkatan penyesuaian dinamik pegangan
  • Mengubah dan menyempurnakan strategi berdasarkan hasil tinjauan balik dan pengesahan di lapangan
  • Memperkenalkan pembelajaran mesin dan pembelajaran mendalam untuk pengoptimuman strategi

ringkaskan

Strategi ini secara keseluruhannya adalah strategi perdagangan minyak mentah yang sangat praktikal. Ia menggunakan indikator ADX untuk menilai trend yang sangat munasabah, prinsip penembusan harga mudah dan berkesan, dan pengesanan yang baik.

Kod sumber strategi
/*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()))