Strategi penambahan kedudukan dinamik


Tarikh penciptaan: 2023-12-22 14:36:30 Akhirnya diubah suai: 2023-12-22 14:36:30
Salin: 0 Bilangan klik: 565
1
fokus pada
1623
Pengikut

Strategi penambahan kedudukan dinamik

Gambaran keseluruhan

Strategi menaikkan simpanan dinamik dengan cara menaikkan simpanan semasa kerugian, untuk mencapai harga purata kos turun, sehingga mencapai tujuan pengembalian kerugian. Apabila harga mencetuskan keadaan menaikkan simpanan, strategi ini akan menaikkan simpanan berturut-turut dengan jumlah dan selang waktu tertentu, sambil menetapkan jumlah maksimum kenaikan simpanan, untuk mengelakkan risiko kenaikan simpanan tanpa had.

Prinsip Strategi

Logik utama strategi ini ialah:

  1. Membeli untuk membuka kedudukan: Jika memegang kedudukan adalah 0, buka kedudukan dengan harga yang ditetapkan.

  2. Syarat penambahan kedudukan: Penambahan kedudukan akan dicetuskan jika jumlah penambahan kedudukan semasa kurang daripada jumlah penambahan kedudukan maksimum dan harga lebih rendah daripada satu penurunan yang diramalkan pada harga kedudukan sebelumnya.

  3. Kaedah penambahan simpanan: Jumlah simpanan ditambah dengan faktor pemesanan mengikut jumlah sebelumnya, selang penambahan simpanan dikurangkan dengan faktor pemesanan mengikut selang sebelumnya.

  4. Syarat penutupan: Jika harga purata pegangan memegang satu margin keuntungan yang ditetapkan dicetuskan, semua pegangan akan ditutup.

Dengan cara ini, apabila pasaran tidak baik, strategi ini dapat menurunkan kos pegangan dengan menaikkan kedudukan dan memperoleh keuntungan tambahan sambil memulihkan kerugian. Apabila keadaan berubah ke atas, keadaan berhenti dipicu dan semua kedudukan mendapat keuntungan.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah bahawa dengan cara menambah simpanan, kos turun dengan harga purata, memperoleh keuntungan yang lebih besar dengan menanggung kerugian tertentu, yang sangat jelas di pasaran lembu. Secara khusus, terdapat beberapa kelebihan utama:

  1. Ia boleh mengurangkan kos memegang kedudukan dengan ketara dan meningkatkan keupayaan untuk menghentikan kerugian. Apabila harga berubah, strategi ini akan meningkatkan kedudukan, yang akan mengurangkan kos keseluruhan dengan mencairkan nikel tunggal yang dibeli pada harga yang lebih tinggi.

  2. Peningkatan ruang keuntungan. Selepas mengurangkan kos, ruang keuntungan akan diperluaskan selagi harga melonjak kembali, sehingga memberi laluan.

  3. Fleksibiliti dalam menetapkan logik penambahan, boleh disesuaikan. Dasar membolehkan anda menetapkan parameter seperti kadar penambahan, jumlah, dan selang, yang boleh disesuaikan mengikut keutamaan anda.

  4. Risiko boleh dikawal, menetapkan had maksimum untuk menambah pertaruhan. Had jumlah maksimum untuk menambah pertaruhan membolehkan strategi tidak menambah pertaruhan tanpa had, dan dapat mengawal risiko.

Analisis risiko

Walaupun strategi ini memberikan ruang untuk keuntungan yang lebih besar dengan mengambil risiko, terdapat juga risiko yang perlu diperhatikan:

  1. Risiko kerugian. Strategi ini adalah untuk mengambil risiko kerugian tertentu. Jika keadaan terus buruk, kerugian mungkin meningkat.

  2. Risiko kejatuhan harga. Dalam keadaan yang melampau, harga mungkin jatuh melampaui kemampuan strategi. Ini memerlukan parameter penambahan dan titik hentian yang munasabah.

  3. Rebound tidak tepat pada masanya. Rebound harga tidak semestinya akan mencetuskan penghentian, tidak dapat menghentikan penghentian tepat pada masanya adalah papan pendek strategi.

  4. Pengaturan parameter risiko. Pengaturan parameter yang tidak betul seperti faktor penempatan, penangguhan kenaikan harga, dan sebagainya boleh menyebabkan strategi gagal.

Risiko ini boleh dikurangkan dengan:

  1. Mengurangkan jumlah simpanan dengan sewajarnya dan mengawal kerugian tunggal.

  2. Menurunkan jarak antara kenaikan harga dan mengurangkan kos.

  3. Tetapkan titik hentian yang munasabah. Tetapkan titik hentian yang terlalu luas mudah untuk kerugian berkembang.

Arah pengoptimuman

Memandangkan sifat strategi ini menggunakan cara menambah risiko untuk mendapatkan keuntungan yang lebih besar, arah pengoptimumannya terutamanya tertumpu pada pengendalian risiko dan mendapatkan keuntungan yang lebih baik. Secara khusus, terdapat beberapa arah pengoptimuman utama berikut:

  1. Peningkatan algoritma logik penambahan, menjadikan penambahan lebih pintar dan sesuai dengan keadaan. Anda boleh mempertimbangkan untuk mencetuskan penambahan berdasarkan indikator seperti kadar turun naik, harga melonjak.

  2. Mengoptimumkan cara penangguhan, untuk mencapai penangguhan yang lebih cekap. Ia boleh digabungkan dengan cara penangguhan bergerak, penangguhan kumpulan, dan lain-lain, untuk mengurangkan keadaan yang tidak dapat dihentikan.

  3. Memperkenalkan algoritma pembelajaran mesin untuk mencapai optimasi penyesuaian parameter. Parameter utama tidak lagi statik, tetapi menyesuaikan diri secara dinamik mengikut keadaan dan maklum balas masa nyata.

  4. Menambah mekanisme hentikan kerugian, mengawal kerugian maksimum. Cara hentikan kerugian boleh mempertimbangkan hentikan bergerak, hentikan hentikan, dan lain-lain, untuk mengelakkan peningkatan kerugian yang disebabkan oleh keadaan yang melampau.

ringkaskan

Strategi kenaikan simpanan dinamik dengan cara kenaikan simpanan untuk mencapai harga rata-rata kos turun, dengan syarat mengawal risiko dengan betul, untuk mendapatkan keuntungan yang lebih besar. Strategi ini, dengan asumsi menanggung kerugian tertentu, sangat popular di kalangan pelabur yang mempunyai toleransi kerugian yang lebih kuat. Arah pengoptimuman masa depan, akan dilakukan di sekitar cara kenaikan simpanan yang lebih bijak, mekanisme penangguhan yang lebih cekap dan sebagainya.

Kod sumber strategi
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-18 19:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("DCA Bot Emulator", overlay=true, pyramiding=99, default_qty_type=strategy.cash, commission_value = 0.02)

// Date Ranges
from_month = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
from_day   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
from_year  = input(defval = 2021, title = "From Year")
to_month   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
to_day     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
to_year    = input(defval = 9999, title = "To Year")
start  = timestamp(from_year, from_month, from_day, 00, 00)  // backtest start window
finish = timestamp(to_year, to_month, to_day, 23, 59)        // backtest finish window
window = time >= start and time <= finish ? true : false // create function "within window of time"

// Strategy Inputs
price_deviation = input(2, title='Price deviation to open safety orders', maxval=0)/100
take_profit = input(1.5, title='Target Take Profit', minval=0)/100

// base order
base_order  = input(100000, title='base order') 
safe_order  = input(200, title='safe order') 
safe_order_volume_scale  = input(2, title='Safety order volume scale') 
safe_order_step_scale  = input(1, title='Safety order step scale') 

max_safe_order = input(10, title='max safe order') 
var current_so = 1
var initial_order = 0.0

// Calculate our key levels
pnl = (close - strategy.position_avg_price) / strategy.position_avg_price

take_profit_level = strategy.position_avg_price * (1 + take_profit)

// First Position
if(strategy.position_size == 0 and window)
    strategy.entry("Long", strategy.long, qty = base_order/close)
    initial_order := close
    current_so := 1

// Average Down!
if current_so > 0 and close  < initial_order * (1 - price_deviation * current_so * safe_order_step_scale) and current_so <= max_safe_order
    so_name = "SO " + tostring(current_so) 
    strategy.entry(so_name, long=strategy.long , qty = safe_order * safe_order_volume_scale /close)
    current_so := current_so + 1
    
// Take Profit!
strategy.close_all(when=take_profit_level <= close  and strategy.position_size > 0)