Strategi Poin Indeks


Tanggal Pembuatan: 2023-11-06 14:40:26 Akhirnya memodifikasi: 2023-11-06 14:40:26
menyalin: 0 Jumlah klik: 604
1
fokus pada
1617
Pengikut

Strategi Poin Indeks

Ringkasan

Strategi ini dilakukan dengan menghitung perbedaan antara kedua indikator ROC dan SMA, k, dan kemudian melakukan perkalian panjang tertentu pada k, berdasarkan sum nilai perkalian positif negatif sebagai dasar penilaian melakukan lebih banyak melakukan shorting. Strategi ini termasuk dalam strategi perdagangan garis pendek.

Prinsip Strategi

Strategi ini pertama-tama menghitung rata-rata SMA dan indikator ROC dengan panjang l, lalu menghitung perbedaan harga penutupan saat ini dengan SMA k. Kemudian menghitung k s hari agregat dan sum. Jika sum > 0 maka naik, jika sum < 0 maka turun.

Secara khusus, dalam kode tersebut:

  1. SMA rata-rata a dengan panjang l

  2. Berhitung panjang ROC r

  3. Hitung perbedaan antara harga penutupan saat ini dan garis rata-rata SMA k = close - a

  4. Perkembangan k pada s hari, mendapatkan sum

  5. Jika sum>0, lakukan lebih banyak; jika sum, lakukan kosong

  6. Kondisi posisi kosong: melakukan posisi plus atau minus dengan sum<0; melakukan posisi kosong dengan sum>0

Kunci dari strategi ini adalah dengan menghitung agregat dan sum dari k, dengan menggunakan sum yang positif-negatif sebagai sinyal perdagangan. Bila k> 0 menunjukkan bahwa harga naik, maka lakukan lebih banyak; Jika k < 0 menunjukkan bahwa harga turun, maka lakukan lebih banyak.

Analisis Keunggulan

Ini adalah strategi perdagangan short-line yang sederhana dan praktis, dengan keuntungan berikut:

  1. Kombinasi indikator yang digunakan relatif sederhana, mudah dipahami dan diterapkan.

  2. Untuk menemukan peluang perdagangan yang lebih tepat, Anda dapat memfilter indikator dengan nilai diferensial.

  3. Dengan mengakumulasikan selisih, tren garis pendek dapat ditangkap dengan lebih akurat.

  4. Parameter l dan s dapat disesuaikan dengan pasar untuk menyesuaikan dengan siklus yang berbeda.

  5. Strategi yang jelas, prosedur yang sederhana, mudah diubah dan dioptimalkan.

  6. Efisiensi penggunaan dana yang tinggi, memungkinkan transaksi singkat yang sering terjadi.

Analisis risiko

Strategi ini juga memiliki beberapa risiko, yang meliputi:

  1. Ada risiko besar dalam transaksi short-line dan kemungkinan kerugian.

  2. Pengaturan parameter yang tidak tepat dapat menyebabkan perdagangan yang terlalu sering atau kehilangan peluang.

  3. Tidak dapat secara efektif menanggulangi pembalikan tren, melewati stop loss dapat menyebabkan kerugian yang lebih besar.

  4. Parameter yang perlu sering dipantau dan disesuaikan lebih bergantung pada pengalaman trader.

  5. Transaksi yang sering terjadi dapat meningkatkan biaya transaksi dan slippage, yang mempengaruhi keuntungan.

Solusi untuk mengatasi risiko meliputi:

  1. Ada beberapa hal yang perlu diperhatikan untuk mengurangi frekuensi transaksi.

  2. Dengan menggunakan indikator tren, identifikasi perubahan tren.

  3. Mengoptimalkan strategi stop loss, mengendalikan kerugian tunggal.

  4. Menambahkan modul optimasi parameter otomatisasi, mengurangi ketergantungan pada pengalaman pedagang.

  5. Mengoptimalkan modul pesanan dan mengurangi biaya transaksi.

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam beberapa hal:

  1. Optimalkan metode perhitungan parameter agar parameter lebih adaptif. Anda dapat mempertimbangkan untuk mengoptimalkan parameter secara dinamis menggunakan algoritma genetik, rantai Markov, dan lain-lain.

  2. Menggabungkan lebih banyak indikator dan kondisi penyaringan, meningkatkan kualitas sinyal perdagangan. Misalnya, menggabungkan indikator tren untuk menghindari perdagangan berlawanan arah.

  3. Memperbaiki strategi stop loss, seperti memperkenalkan stop loss bergerak, stop loss rata-rata, dan lain-lain, untuk mengendalikan kerugian tunggal.

  4. Mengoptimalkan strategi pengelolaan dana, seperti pengelolaan nilai risiko, pembagian dana dalam proporsi tetap, dan lain-lain, untuk mengendalikan risiko keseluruhan.

  5. Mengoptimalkan modul pesanan, menggunakan algoritma seperti pelacakan tren, kontrol slider, dan lain-lain untuk mengurangi biaya transaksi.

  6. Menambahkan modul optimasi otomatisasi umpan balik untuk mengevaluasi dampak berbagai parameter terhadap strategi dengan cepat.

  7. Menambahkan modul penilaian indikator kuantitatif, menilai kualitas sinyal perdagangan, meningkatkan stabilitas strategi.

Dengan pengoptimalan seperti itu, strategi ini dapat dibuat menjadi sistem perdagangan garis pendek yang lebih komprehensif, cerdas, stabil, dan dapat dikontrol.

Meringkaskan

Secara keseluruhan, strategi ini menghasilkan sinyal perdagangan melalui perhitungan indikator sederhana, ide yang jelas dan mudah diimplementasikan, dan merupakan strategi perdagangan garis pendek yang khas. Dengan pengoptimalan lebih lanjut pada parameter, stop loss, dan manajemen dana, strategi ini dapat mengurangi risiko dan meningkatkan stabilitas, menjadikannya salah satu strategi perdagangan kuantitatif yang layak digunakan.

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

//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false)

l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=18)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
    sum := sum + k[i]
//plot(a,color=yellow,linewidth=2,transp=0)
//bc =  iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)

inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na

////buyEntry = crossover(source, lower)
////sellEntry = crossunder(source, upper)
if sum>0
    strategy.entry("Long", strategy.long, oca_name="Long",  comment="Long")
else
    strategy.cancel(id="Long")
if sum<0
    strategy.entry("Short", strategy.short, oca_name="Short", comment="Short")
else
    strategy.cancel(id="Short")
strategy.initial_capital = 50000
plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2)
hline(0)
//longCondition = sum>0
//exitlong = sum<0

//shortCondition = sum<0
//exitshort = sum>0

//strategy.entry(id = "Long", long=true, when = longCondition)
//strategy.close(id = "Long", when = exitlong)
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)

//strategy.entry(id = "Short", long=false, when = shortCondition)
//strategy.close(id = "Short", when = exitshort)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)