Strategi perdagangan kuantitatif berdasarkan indikator turbo yang ditingkatkan


Tanggal Pembuatan: 2023-11-14 14:40:54 Akhirnya memodifikasi: 2023-11-14 14:40:54
menyalin: 0 Jumlah klik: 825
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif berdasarkan indikator turbo yang ditingkatkan

Ringkasan

Strategi ini merupakan versi yang lebih baik dari turbo indicator strategi, berdasarkan turbo indicator asli, menambahkan beberapa fitur baru, termasuk triggering sinyal beli dan jual berdasarkan nilai terendah, menggunakan EMA untuk meluruskan garis turbo, menambahkan stop loss stop, memungkinkan hanya melakukan lebih banyak, hanya melakukan lebih sedikit atau perdagangan dua arah, dll. Strategi ini cocok untuk investor yang ingin menggunakan turbo indicator yang lebih baik untuk melakukan perdagangan kuantitatif.

Prinsip

Indikator utama dari strategi ini adalah indikator turning yang ditingkatkan. Indikator turning tradisional membentuk garis turning positif-negatif dengan menghitung jumlah nilai mutlak dari pergerakan harga. Ini adalah sinyal beli ketika garis turning positif melewati garis turning negatif; ini adalah sinyal jual ketika garis turning negatif melewati garis turning positif.

Strategi ini merupakan peningkatan dari indikator-indikator tradisional:

  1. Tidak lagi hanya berdasarkan persimpangan garis putar untuk menilai jual beli, tetapi memperkenalkan konsep nilai jatuh. Hanya jika perbedaan antara garis putar positif-negatif melebihi nilai jatuh yang ditetapkan, maka akan memicu jual beli. Ini dapat menyaring beberapa sinyal persimpangan kecil yang tidak valid.

  2. Garis putar dilapisi dengan EMA untuk mengurangi gesekan.

  3. Penambahan pengaturan Stop Loss Stop, yang memungkinkan Anda untuk mengatur rasio keuntungan dan kerugian, dan mengontrol risiko dengan lebih baik.

  4. Anda dapat memilih untuk melakukan perdagangan hanya dengan mata uang plus, hanya dengan mata uang minus, atau perdagangan dua arah, sesuai dengan kebutuhan yang berbeda.

Berdasarkan perbaikan di atas, strategi ini dapat menangkap tren dengan lebih andal, dan bekerja dengan baik dalam pengujian ulang.

Analisis Keunggulan

  1. Tanda gigi yang ditingkatkan untuk menghapus sinyal yang tidak valid, dapat secara efektif mencegah penembusan palsu. Pengolahan halus EMA juga membantu menghilangkan suara.

  2. Dengan menggunakan nilai terendah untuk menilai sinyal jual beli, bukan sekrup sederhana, dapat lebih dipercaya untuk menilai titik balik tren.

  3. Ditambahkan fitur Stop Loss Stop, Anda dapat mengatur rasio untung rugi untuk mengendalikan risiko transaksi tunggal, sesuai dengan prinsip perdagangan yang wajar.

  4. Opsi yang tersedia adalah hanya melakukan perdagangan mata uang, hanya melakukan perdagangan mata uang, atau perdagangan mata uang dua arah, dengan fleksibilitas yang dapat disesuaikan dengan berbagai tahap pasar dan memenuhi kebutuhan pedagang yang berbeda.

  5. Strategi ini dirancang dengan parameter yang masuk akal, memiliki kinerja yang baik dan memiliki nilai praktis.

Analisis risiko

  1. Strategi ini terutama berlaku untuk tren yang mungkin mempengaruhi kinerja dalam pasar yang terkonsolidasi.

  2. Garis putar itu sendiri sangat sensitif terhadap fluktuasi saham, dan pengaturan parameter yang tidak tepat dapat menyebabkan perdagangan yang terlalu sering.

  3. Setting threshold terlalu tinggi akan membuat Anda tidak dapat membeli dan menjual, dan terlalu rendah akan meningkatkan sinyal palsu, sehingga Anda perlu melakukan tes yang cermat untuk menemukan parameter optimal.

  4. Stop loss dapat diatasi jika terjadi kondisi pasar yang tidak normal.

Arah optimasi

  1. Kombinasi dengan indikator lain dapat dipertimbangkan untuk memasukkan lebih banyak faktor dalam menentukan sinyal.

  2. Dapat menguji sensitivitas berbagai saham terhadap parameter, dan mengoptimalkan pengaturan parameter.

  3. Anda dapat mempelajari teknik stop loss yang dapat disesuaikan dengan harga dalam tren besar.

  4. Teknologi seperti pembelajaran mesin dapat diperkenalkan, model pelatihan otomatis mengoptimalkan parameter.

  5. Dengan menggunakan metode indeksasi yang didasarkan pada strategi ini, Anda dapat mengeksplorasi dan memperluas kapasitas strategi.

Meringkaskan

Strategi ini dibuat dengan beberapa perbaikan pada dasar indikator turning tradisional, membentuk sebuah program perdagangan kuantitatif yang lebih matang dan dapat diandalkan. Strategi ini menggabungkan keuntungan dari penilaian tren dan pengendalian risiko, yang dapat menghindari risiko over-adaptasi perdagangan yang tidak teratur, dan juga dapat memanfaatkan kemampuan indikator untuk menangkap tren.

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

// [Guz] Custom Vortex
// Custom version of the Vortex indicators that adds many features:
// -Triggers trades after a threshold is reached instead of the normal vortex lines cross (once the difference between the 2 lines is important enough)
// -Smooths the Vortex lines with an EMA
// -Adds Take Profit and Stop Loss selection
// -Adds the possibility to go Long only, Short only or both of them
// ! notice that it uses 10% position size and 0.04% trade fee, found on some crypto exchanges futures contracts
// Allows testing leverage with position size moddification (values above 100%, to be done with caution)
// Not an investment advice 

//@version=4
strategy(title="%-[Guz] Vortex Indicator Custom", shorttitle="%-[Guz] Vortex Indicator Custom", overlay=true)

period_ = input(300, title="Length", minval=2)
VMP = sum( abs( high - low[1]), period_ )
VMM = sum( abs( low - high[1]), period_ )
STR = sum( atr(1), period_ )
ema_len = input(title="EMA Length", defval=7)
tresh= input(title="Threshold", defval=16.2, step=0.1)
VIP = ema(VMP / STR,ema_len)
VIM = ema(VMM / STR,ema_len)
//plot(VIP, title="VI +", color=#2962FF)
//plot(VIM, title="VI -", color=#E91E63)

condition_long = crossover(VIP-VIM, tresh/100)
condition_close = cross(VIP-VIM,0)
condition_short = crossunder(VIP-VIM, -tresh/100)

is_short=input(true,title="Do Short?")
is_long=input(true,title="Do Long?")


if (condition_long and is_long)
    strategy.entry("VortexLE", strategy.long, comment="Long Algo")
if (condition_short and is_short)
	strategy.entry("VortexSE", strategy.short, comment="Short Algo")
if (condition_close)
    strategy.close_all()

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


stop_loss_long_percent = input(2.5, title="Stop Loss Long", minval=0.1, step=0.1)
stop_loss_long = (1-stop_loss_long_percent/100)*strategy.position_avg_price

take_profit_long_percent = input(1.5, title="Take Profit Long", minval=0.1, step=0.1)
take_profit_long = (1+take_profit_long_percent/100)*strategy.position_avg_price


stop_loss_short_percent = input(2.5,title="Stop Loss Short", minval=0.1, step=0.1) 
stop_loss_short = (1+stop_loss_short_percent/100)*strategy.position_avg_price

take_profit_short_percent = input(1.7,title="Take Profit Short", minval=0.1, step=0.1)
take_profit_short = (1-take_profit_short_percent/100)*strategy.position_avg_price

strategy.exit("TP-SL Long", "VortexLE",  limit = take_profit_long , stop = stop_loss_long) //, trail_price = trail_price_long , trail_offset = trail_offset_long) //, trail_offset=tsl_offset_tick, trail_price=tsl_offset_tick) 
strategy.exit("TP-SL Short", "VortexSE",  limit = take_profit_short , stop = stop_loss_short)