Strategi Mata Indeks


Tarikh penciptaan: 2023-11-06 14:40:26 Akhirnya diubah suai: 2023-11-06 14:40:26
Salin: 0 Bilangan klik: 604
1
fokus pada
1617
Pengikut

Strategi Mata Indeks

Gambaran keseluruhan

Strategi ini menggunakan pengiraan perbezaan antara kedua-dua indikator ROC dan SMA, k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k. Strategi ini termasuk dalam strategi perdagangan garis pendek.

Prinsip Strategi

Strategi ini mula-mula mengira rata-rata SMA dan ROK dengan panjang l, kemudian mengira perbezaan harga penutupan semasa dengan SMA k. Kemudian menghitung k dengan agregat dan jumlah hari s. Apabila jumlah > 0, tambah, dan apabila jumlah < 0, kosong.

Secara khusus, kod ini mengandungi:

  1. Mengira garisan purata SMA dengan panjang l

  2. Mengira panjang ROC r

  3. Hitung perbezaan antara harga penutupan semasa dan garis rata-rata SMA k = close - a

  4. Perkembangan k pada hari-hari s dan hasilnya ialah sum.

  5. Jika sum>0, buat lebih; jika sum, buat kosong

  6. Syarat kedudukan kosong: melakukan kedudukan kosong ketika sum<0; melakukan kedudukan kosong ketika sum>0

Kunci strategi ini adalah dengan mengira k dan sum, dengan menggunakan sum positif negatif sebagai isyarat perdagangan. Apabila k> 0 yang paling baru, harga naik, maka lakukan lebih banyak; apabila k < 0 yang paling baru, harga turun, maka lakukan kosong.

Analisis kelebihan

Ini adalah strategi perdagangan garis pendek yang lebih mudah dan praktikal, dengan kelebihan berikut:

  1. Gabungan penunjuk yang digunakan adalah sederhana, mudah difahami dan dilaksanakan.

  2. Untuk mencari peluang perdagangan yang lebih tepat, anda boleh menyaring perbezaan di dalam indikator.

  3. Dengan penjumlahan perbezaan, trend garis pendek dapat ditangkap dengan lebih tepat.

  4. Parameter l dan s boleh disesuaikan mengikut pasaran, menyesuaikan diri dengan kitaran yang berbeza.

  5. Strategi yang jelas, prosedur yang ringkas, mudah diubah dan dioptimumkan.

  6. Kecekapan penggunaan dana yang tinggi, boleh mencapai perdagangan garis pendek yang kerap.

Analisis risiko

Strategi ini juga mempunyai beberapa risiko, terutamanya:

  1. Perdagangan dalam talian pendek adalah lebih berisiko dan boleh menyebabkan kerugian.

  2. Tetapan parameter yang tidak betul boleh menyebabkan terlalu banyak perdagangan atau kehilangan peluang.

  3. Tidak dapat menangani perubahan trend dengan berkesan, dan melepasi halangan boleh menyebabkan kerugian yang lebih besar.

  4. Ia memerlukan pemantauan dan penyesuaian parameter yang kerap dan lebih bergantung kepada pengalaman peniaga.

  5. Perdagangan yang kerap boleh meningkatkan kos transaksi dan titik tergelincir, yang menjejaskan keuntungan.

Penyelesaian untuk menghadapi risiko termasuk:

  1. Menyesuaikan parameter dengan betul untuk mengurangkan frekuensi transaksi.

  2. Kaedah ini boleh digunakan untuk mengesan perubahan trend, dengan menggunakan indikator trend.

  3. Mengoptimumkan strategi hentikan kerugian dan mengawal kerugian tunggal.

  4. Menambah modul pengoptimuman parameter automatik, mengurangkan kebergantungan kepada pengalaman peniaga.

  5. Mengoptimumkan modul pesanan dan mengurangkan kos transaksi.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Mengoptimumkan kaedah pengiraan parameter, menjadikan parameter lebih beradaptasi. Anda boleh mempertimbangkan untuk mengoptimumkan parameter secara dinamik menggunakan algoritma genetik, rantaian Markov dan lain-lain.

  2. Menggabungkan lebih banyak penunjuk dan syarat penapisan, meningkatkan kualiti isyarat perdagangan. Contohnya, menggabungkan penunjuk trend untuk mengelakkan perdagangan berlawanan.

  3. Meningkatkan strategi penutupan kerugian, seperti memperkenalkan penutupan bergerak, penutupan purata, dan lain-lain, untuk mengawal kerugian tunggal.

  4. Mengoptimumkan strategi pengurusan dana, seperti pengurusan mata risiko, peruntukan dana peratusan tetap, dan sebagainya, untuk mengawal risiko keseluruhan.

  5. Mengoptimumkan modul pesanan, menggunakan algoritma seperti trend tracking, kawalan titik slider, dan lain-lain untuk mengurangkan kos transaksi.

  6. Tambah modul pengoptimuman maklum balas automatik untuk menilai kesan pelbagai parameter terhadap strategi dengan cepat.

  7. Menambah modul penilaian penunjuk kuantitatif, menilai kualiti isyarat perdagangan, meningkatkan kestabilan strategi.

Dengan pengoptimuman ini, strategi ini boleh menjadi sistem perdagangan garis pendek yang lebih komprehensif, pintar, stabil dan boleh dikawal.

ringkaskan

Secara keseluruhannya, strategi ini menghasilkan isyarat perdagangan melalui pengiraan petunjuk yang mudah, idea yang jelas dan mudah dilaksanakan, dan merupakan strategi perdagangan garis pendek yang tipikal. Dengan pengoptimuman lebih lanjut mengenai parameter, berhenti, dan pengurusan wang, ia dapat mengurangkan risiko dan meningkatkan kestabilan, menjadikannya salah satu strategi perdagangan kuantitatif yang bernilai digunakan.

Kod 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)