Strategi mengikuti tren berdasarkan rasio penelusuran kembali


Tanggal Pembuatan: 2023-09-14 19:49:14 Akhirnya memodifikasi: 2023-09-14 19:49:14
menyalin: 1 Jumlah klik: 643
1
fokus pada
1617
Pengikut

Artikel ini akan menjelaskan strategi perdagangan kuantitatif untuk melacak tren berdasarkan rasio pengembalian harga. Strategi ini mengidentifikasi titik tinggi lokal untuk penetapan harga dengan rasio pengembalian tertentu.

  1. Prinsip Strategi

Logika inti dari strategi ini adalah untuk mengidentifikasi harga tertinggi dalam periode tertentu, dan kemudian melacak perdagangan di posisi pengembalian proporsional. Langkah-langkahnya adalah sebagai berikut:

  1. Pertama, menghitung harga tertinggi dari 90 garis K terakhir, sebagai titik tertinggi lokal;

  2. Pelacakan pembelian dilakukan ketika harga kembali dari titik tinggi tersebut dengan persentase tertentu (misalnya 3%)

  3. Stop loss ditetapkan sebagai kenaikan persentase tertentu dari harga masuk (misalnya 6%) dan ditutup ketika harga mencapai titik stop loss;

  4. Tidak mengatur stop loss, dan hanya mengikuti tren.

Dengan cara ini, waktu masuk dinilai berdasarkan rasio resonansi titik tinggi lokal, dan dapat secara efektif menyaring getaran, masuk hanya setelah konfirmasi tren. Pengaturan Stop Stop juga memungkinkan setiap keuntungan memiliki manajemen yang diharapkan.

Kedua, keunggulan strategi

Keuntungan terbesar dari strategi ini adalah menggunakan rasio regresi untuk menilai tren, memfilter banyak kebisingan. Dibandingkan dengan masuk langsung di titik pivot, ini dapat mengurangi kemungkinan masuk set-up.

Keuntungan lainnya adalah pengaturan logika stop-loss. Hal ini membuat keuntungan dan kerugian dari setiap transaksi dapat dikontrol, sesuai dengan prinsip manajemen uang yang positif.

Akhirnya, pelacakan stop loss lebih besar dari rasio callback juga memungkinkan strategi untuk memiliki mekanisme pengembalian risiko.

Ketiga, potensi risiko

Meskipun ada beberapa keuntungan dari strategi ini, ada beberapa risiko yang harus diperhatikan dalam praktiknya:

Pertama-tama, rasio pengembalian harus diatur dengan hati-hati. Terlalu dalam atau terlalu sedikit pengembalian dapat mempengaruhi ruang keuntungan.

Kedua, tidak ada pengaturan stop loss yang membuat strategi menghadapi risiko tunggal yang lebih besar. Pembalikan tren yang kuat dapat menyebabkan kerugian yang lebih besar.

Akhirnya, optimasi parameter yang tidak tepat juga dapat menyebabkan masalah over-fitting, yang menyebabkan penurunan kualitas sinyal.

Empat isi, ringkasan

Artikel ini menjelaskan secara rinci tentang sebuah strategi kuantitatif untuk melacak tren berdasarkan rasio harga yang berbalik. Strategi ini dapat secara efektif mengidentifikasi arah tren dan memanfaatkan perubahan untuk masuk. Selain itu, pengaturan pengelolaan stop loss juga memungkinkan strategi untuk memiliki mekanisme pengendalian risiko tertentu. Secara keseluruhan, strategi ini dapat menjadi salah satu pilihan untuk strategi pelacakan tren dengan membangun aturan perdagangan berdasarkan perubahan titik tinggi lokal.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © luboremenar

//@version=4
strategy("test_%_down_up", overlay = false, initial_capital = 1000, pyramiding = 0, default_qty_value = 1000,
     default_qty_type = strategy.cash, precision = 8, commission_type = strategy.commission.percent, commission_value = 0.1)

// inputs
range_of_tops = input(title="Range of candles to find highest value from.", defval=90, type=input.integer, minval=1 )
basis_points = input(title="Basis points, if asset has two decimals use 100, three decimals 1000, etc.", defval=100, type=input.integer, minval=1)
retrace_percent = input(title="Percent value retrace from the top.", type=input.integer, defval=3, minval = 1, maxval=99)
take_profit_percent = input(title="Percent value of take profit from entry price.", type=input.integer, defval=6, minval=1)

// strategy definition
three_months_top = highest(range_of_tops)
longCondition1 = (close <= float((three_months_top*(1-(take_profit_percent/100)))) and strategy.position_size == 0)

if (longCondition1)
    strategy.entry("Long1", strategy.long, qty = strategy.equity/close)

strategy.exit(id="TP1", from_entry="Long1", profit=((close*(1 + take_profit_percent/100)-close)*basis_points),
     when= crossover(strategy.position_size, 0))


// plot
plot(strategy.equity)

// for testing, debugging
//test=0.0  
//if(crossover(strategy.position_size, 0))
//    test := (close*1.06-close)*basis_points
//plot(test)