Strategi Salib Kematian Salib Emas


Tanggal Pembuatan: 2023-10-11 16:33:18 Akhirnya memodifikasi: 2023-10-11 16:33:18
menyalin: 0 Jumlah klik: 676
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan prinsip cross-gold dan cross-deadline dari moving average sederhana untuk melakukan posisi panjang dan pendek pada saham. Jika garis cepat menembus garis lambat dari arah bawah, maka lakukan over; jika garis cepat menembus garis lambat dari arah atas, maka lakukan short.

Prinsip Strategi

Strategi ini pertama-tama mendefinisikan awal dan akhir waktu pengukuran dan kemudian menetapkan parameter komputasi untuk dua rata-rata, termasuk jenis rata-rata dan panjang siklus.

Fungsi getMAType () menghitung nilai dari dua rata-rata. fastMA adalah rata-rata periode pendek dan slowMA adalah rata-rata periode panjang.

Logika inti dari strategi ini adalah:

  • Ketika fastMA memakai slowMA, sinyal yang dihasilkan adalah multi-long;

  • Ketika fastMA melewati slowMA, sinyal short dibuat.

Akhirnya, dalam periode pengamatan ulang, strategi long position diambil ketika ada sinyal melakukan lebih banyak; strategi long position diambil ketika ada sinyal melakukan lebih sedikit.

Analisis Keunggulan

  • Strategi yang jelas, sederhana, dan mudah dipahami.
  • Prinsip penyeberangan garis rata yang luas digunakan untuk sebagian besar jenis saham.
  • Jenis dan parameter rata-rata yang dapat disesuaikan, sangat mudah beradaptasi.
  • Dengan struktur strategi yang tersusun dari kerucut, setiap bagian memiliki fungsi yang jelas, sehingga mudah dioptimalkan di kemudian hari.

Analisis risiko

  • Pada saat ini, ada beberapa peluang perdagangan yang mungkin terlewatkan.
  • Tidak bisa memfilter pasar yang bergoyang dengan baik, mudah untuk dicurangi.
  • Optimasi parameter tidak cukup komprehensif sistem, perlu pengalaman manual untuk membantu.
  • Tidak dapat mengontrol risiko dan kerugian transaksi tunggal secara efektif.

Ada beberapa cara untuk mengoptimalkan risiko:

  1. Menambahkan filter untuk indikator teknis lainnya untuk mengidentifikasi tren.

  2. Meningkatkan strategi stop loss untuk mengendalikan kerugian tunggal.

  3. Menggunakan indikator kuantitatif untuk menghindari pasar yang bergejolak.

  4. Membangun mekanisme optimasi parameter, secara otomatis mencari kombinasi parameter terbaik.

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam beberapa hal:

  1. Menambahkan strategi stop loss, seperti menetapkan titik stop loss tetap atau melacak stop loss, mengendalikan kerugian.

  2. Meningkatkan strategi manajemen posisi, seperti posisi tetap, posisi dinamis, mengendalikan risiko perdagangan.

  3. Menambahkan filter, yang dikombinasikan dengan indikator teknis lainnya untuk mengidentifikasi tren, meningkatkan tingkat kemenangan.

  4. Optimalkan pengaturan parameter, mencari parameter optimal melalui pencarian grid, regresi linier, dan lain-lain.

  5. Perluasan melakukan lebih banyak strategi shorting, seperti breakout reversal, batch building, dan lain-lain, untuk memperkaya strategi trading.

  6. Meningkatkan indikator energi untuk menghindari terjadinya kebocoran.

  7. Berbagai jenis perdagangan diperluas ke indeks saham berjangka, valuta asing, mata uang digital dan lainnya.

Meringkaskan

Strategi ini didasarkan pada prinsip persilangan rata-rata bergerak untuk mencapai pilihan posisi saham yang panjang dan pendek. Strategi ini sederhana, digunakan secara luas, beradaptasi, dan memiliki nilai praktis tertentu. Namun, strategi ini juga memiliki keterlambatan tertentu, tidak dapat menyaring goyangan secara efektif dan kekurangan lainnya.

Kode Sumber Strategi
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy("Golden X BF Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Time Frame ///////////////
testStartYear = input(2010, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() =>  true

///////////// MA Params /////////////
source1 = input(title="MA Source 1", defval=close)
maType1 = input(title="MA Type 1", defval="sma", options=["sma", "ema", "swma", "wma"])
length1 = input(title="MA Length 1", defval=50)

source2 = input(title="MA Source 2", defval=close)
maType2 = input(title="MA Type 2", defval="sma", options=["sma", "ema", "swma", "wma"])
length2 = input(title="MA Length 2", defval=200)

///////////// Get MA Function /////////////
getMAType(maType, sourceType, maLen) => 
    res = sma(close, 1)
    
    if maType == "ema"
        res := ema(sourceType, maLen)
    if maType == "sma"
        res := sma(sourceType, maLen)
    if maType == "swma"
        res := swma(sourceType)
    if maType == "wma"
        res := wma(sourceType, maLen)
    res
    
///////////// MA /////////////
fastMA = getMAType(maType1, source1, length1)
slowMA = getMAType(maType2, source2, length2)

long = crossover(fastMA, slowMA)
short = crossunder(fastMA, slowMA)

/////////////// Plotting /////////////// 
checkColor() => fastMA > slowMA
colCheck = checkColor() ? color.lime : color.red
p1 = plot(fastMA, color = colCheck, linewidth=1)
p2 = plot(slowMA, color = colCheck, linewidth=1)
fill(p1, p2, color = checkColor() ? color.lime : color.red)
bgcolor(long ? color.lime : short ? color.red : na, transp=20)

/////////////// Execution /////////////// 
if testPeriod()
    strategy.entry("Long", strategy.long, when=long)
    strategy.entry("Short", strategy.short, when=short)