Strategi perdagangan saldo rata-rata bergerak jagung

Penulis:ChaoZhang, Tanggal: 2023-11-13 17:59:42
Tag:

img

Gambaran umum

Corn Moving Average Balance Trading Strategy menggunakan crossover emas dan mati dari moving average dengan periode yang berbeda untuk perdagangan saldo panjang dan pendek. Ini juga menggabungkan berbagai efek visual seperti warna lilin, warna latar belakang dan penanda bentuk untuk membantu mengamati perubahan tren.

Logika Strategi

Strategi ini pertama-tama mendefinisikan dua parameter yang dapat disesuaikan oleh pengguna: periode rata-rata bergerak aktif len1 dan periode rata-rata bergerak garis dasar len2. Rata-rata bergerak aktif memiliki periode yang lebih pendek untuk menangkap perubahan tren jangka pendek, sementara rata-rata bergerak garis dasar memiliki periode yang lebih lama untuk menyaring kebisingan pasar. Pengguna dapat secara bebas memilih antara 5 jenis rata-rata bergerak yang berbeda: EMA, SMA, WMA, DEMA dan VWMA. Kode ini menggunakan logika jika untuk menghitung berbagai jenis rata-rata bergerak berdasarkan pilihan pengguna.

Ketika rata-rata bergerak jangka pendek melintasi rata-rata jangka panjang, sebuah salib emas dihasilkan untuk membuka posisi panjang. Ketika sebuah salib mati terjadi, strategi membuka posisi pendek. Perdagangan saldo panjang dan pendek meningkatkan peluang keuntungan. Selain itu, warna lilin juga menampilkan arah tren saat ini.

Strategi ini memiliki dua mode perdagangan yang tersedia yaitu Long dan Short Balance dan Long Only.

Keuntungan

  1. Sinyal perdagangan yang lebih dapat diandalkan dengan kombinasi beberapa indikator
  2. Peningkatan potensi keuntungan dengan perdagangan saldo panjang dan pendek
  3. Jenis dan periode rata-rata bergerak yang dapat disesuaikan yang dapat disesuaikan dengan lingkungan pasar yang berbeda
  4. Pengamatan tren intuitif dengan berbagai efek visual
  5. Struktur kode yang jelas mudah dimengerti dan disesuaikan

Risiko dan Solusi

  1. Sinyal yang menyesatkan dari rata-rata bergerak

    • Menggunakan kombinasi rata-rata bergerak dari periode yang berbeda untuk mengurangi sinyal yang menyesatkan
    • Tambahkan kondisi keluar lainnya seperti stop loss
  2. Periode tertentu mungkin lebih sesuai dengan strategi

    • Uji parameter periode yang berbeda untuk menemukan yang optimal
    • Buat parameter periode dinamis dan disesuaikan dalam kode
  3. Peningkatan risiko kerugian dengan perdagangan panjang dan pendek

    • Sesuaikan ukuran posisi dengan benar
    • Pilih hanya mode perdagangan panjang

Arahan Optimasi

  1. Tambahkan stop loss untuk mengendalikan kerugian perdagangan tunggal
  2. Membangun kondisi untuk memasuki kembali pasar
  3. Mengoptimalkan strategi ukuran posisi
  4. Jelajahi sinyal perdagangan baru seperti indikator volatilitas
  5. Dinamis mengoptimalkan parameter periode
  6. Mengoptimalkan bobot antara jenis rata-rata bergerak yang berbeda

Ringkasan

Corn Moving Average Balance Trading Strategy mengintegrasikan kekuatan indikator rata-rata bergerak dan memungkinkan perdagangan saldo panjang dan pendek. Ini memiliki efek visual yang kaya untuk melihat tren dan parameter yang dapat disesuaikan untuk beradaptasi. Tetapi sinyal yang menyesatkan dan ukuran posisi perlu diwaspadai. Strategi ini memberikan perantara untuk pedagang lanjutan kerangka referensi yang dapat disesuaikan.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MASelect Crossover Strat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
av1 = input(title="Active MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
av2 = input(title="Base MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
len1 = input(20, "Active Length")
len2 = input(100, "Base Length")
src = input(close, "Source")
strat = input(defval="Long+Short", options=["Long+Short", "Long Only"])

ema1 = ema(src, len1)
ema2 = ema(src, len2)
sma1 = sma(src, len1)
sma2 = sma(src, len2)
wma1 = wma(src, len1)
wma2 = wma(src, len2)
e1 = ema(src, len1)
e2 = ema(e1, len1)
dema1 = 2 * e1 - e2
e3 = ema(src, len2)
e4 = ema(e3, len2)
dema2 = 2 * e3 - e4
vwma1 = vwma(src, len1)
vwma2 = vwma(src, len2)

ma1 = av1 == "EMA"?ema1:av1=="SMA"?sma1:av1=="WMA"?wma1:av1=="DEMA"?dema1:av1=="VWMA"?vwma1:na
ma2 = av2 == "EMA"?ema2:av2=="SMA"?sma2:av2=="WMA"?wma2:av2=="DEMA"?dema2:av2=="VWMA"?vwma2:na

co = crossover(ma1, ma2)
cu = crossunder(ma1, ma2)
barcolor(co?lime:cu?yellow:na)
col = ma1 >= ma2?lime:red
bgcolor(co or cu?yellow:col)
plotshape(co, style=shape.triangleup, location=location.belowbar)
plotshape(cu, style=shape.triangledown)
plot(ma1, color=col, linewidth=3), plot(ma2, style=circles, linewidth=1)

strategy.entry("Buy", strategy.long, when=co)
if strat=="Long+Short"
    strategy.entry("Sell", strategy.short, when=cu)
else
    strategy.close("Buy", when=cu)

Lebih banyak