Sumber dimuat naik... memuat...

Strategi Grid Panjang Berdasarkan Pengeluaran dan Matlamat Keuntungan

Penulis:ChaoZhang, Tarikh: 2025-01-06 16:29:17
Tag:GRIDDCATPSLROI

img

Ringkasan

Strategi ini adalah sistem perdagangan grid yang menambah kedudukan berdasarkan penurunan harga dan menutup kedudukan apabila mencapai sasaran keuntungan tetap. Logik terasnya adalah untuk membeli apabila pasaran jatuh kepada peratusan yang telah ditetapkan, menutup semua kedudukan apabila harga bangkit ke keuntungan sasaran, dan menjana pulangan dengan berulang kali melaksanakan proses ini. Strategi ini sangat sesuai untuk menangkap kebangkitan jangka pendek di pasaran berayun.

Prinsip Strategi

Strategi ini menggunakan mekanisme gabungan perdagangan grid dan mengambil keuntungan arah:

  1. Kedudukan awal: Selepas masa permulaan yang ditetapkan, sistem mengambil kedudukan pertama pada harga semasa apabila dicetuskan.
  2. Mekanisme Penambahan Kedudukan: Pembelian tambahan dicetuskan apabila harga turun melebihi peratusan yang telah ditetapkan (default 5%) berbanding harga kemasukan awal.
  3. Mekanisme Penutupan Posisi: Apabila harga meningkat di atas sasaran keuntungan yang telah ditetapkan (default 5%) berbanding harga kemasukan awal, sistem menutup semua kedudukan.
  4. Pengesanan Statistik: Sistem ini menjejaki jumlah perdagangan dan keuntungan kumulatif dalam masa nyata, memaparkannya secara dinamik pada carta.

Kelebihan Strategi

  1. Automasi Tinggi: Strategi ini sepenuhnya sistematik, tidak memerlukan campur tangan manual dan boleh beroperasi 24/7.
  2. Pembahagian risiko: Pendekatan pembinaan kedudukan kumpulan secara berkesan mengurangkan risiko entri tunggal.
  3. Sasaran Keuntungan yang Jelas: Sasaran keuntungan tetap memastikan keuntungan segera apabila dicapai.
  4. Kebolehsesuaian yang tinggi: Penyesuaian parameter membolehkan penyesuaian dengan persekitaran pasaran dan instrumen perdagangan yang berbeza.
  5. Pelaksanaan yang Kuat: Logik strategi yang jelas menghilangkan pengaruh emosi subjektif.

Risiko Strategi

  1. Risiko Trend: Dalam pasaran yang terus menurun, penambahan kedudukan berulang boleh meningkatkan kerugian.
  2. Risiko Pengurusan Modal: Tanpa kawalan kedudukan yang betul, penambahan kedudukan yang berlebihan boleh menyebabkan penggunaan modal yang tinggi.
  3. Risiko tergelincir: Tergelincir yang teruk semasa keadaan pasaran yang tidak menentu boleh menjejaskan prestasi strategi.
  4. Sensitiviti Parameter: Keberkesanan strategi sensitif kepada tetapan parameter, yang memerlukan penyesuaian tepat pada masanya dalam persekitaran pasaran yang berbeza.

Arahan Pengoptimuman Strategi

  1. Stop Loss Dinamik: Cadangkan penambahan ATR atau mekanisme stop-loss dinamik berasaskan turun naik untuk mengelakkan penarikan yang signifikan.
  2. Pengurusan Posisi: Memperkenalkan pengurusan kedudukan dinamik berasaskan ekuiti untuk penggunaan modal yang lebih rasional.
  3. Pemilihan Pasaran: Tambah penunjuk pengenalan trend untuk menghentikan operasi strategi di pasaran trend.
  4. Pengoptimuman Sasaran Keuntungan: Reka bentuk sasaran keuntungan dinamik yang menyesuaikan diri berdasarkan turun naik pasaran.
  5. Pengoptimuman Penambahan Kedudukan: Reka bentuk saiz kedudukan progresif untuk mengelakkan kedudukan awal yang berlebihan.

Ringkasan

Ini adalah strategi perdagangan grid yang sederhana secara struktural tetapi praktikal yang membina kedudukan dalam batch pada penurunan harga yang telah ditetapkan dan menutup kedudukan secara seragam apabila mencapai sasaran keuntungan. Kelebihan utama strategi terletak pada kepastian pelaksanaannya dan kepelbagaian risiko, tetapi pemilihan persekitaran pasaran dan pengoptimuman parameter adalah penting semasa pelaksanaan. Terdapat potensi pengoptimuman yang signifikan melalui penambahan stop-loss dinamik dan peningkatan pengurusan kedudukan. Untuk perdagangan langsung, pengujian balik menyeluruh dan penyesuaian parameter berdasarkan keadaan pasaran sebenar disyorkan.


/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Down 5%, Sell at 5% Profit", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// Inputs
initial_date = input(timestamp("2024-01-01 00:00:00"), title="Initial Purchase Date")
profit_target = input.float(5.0, title="Profit Target (%)", minval=0.1)   // Target profit percentage
rebuy_drop = input.float(5.0, title="Rebuy Drop (%)", minval=0.1)        // Drop percentage to rebuy

// Variables
var float initial_price = na             // Initial purchase price
var int entries = 0                      // Count of entries
var float total_profit = 0               // Cumulative profit
var bool active_trade = false            // Whether an active trade exists

// Entry Condition: Buy on or after the initial date
if not active_trade
    initial_price := close
    strategy.entry("Buy", strategy.long)
    entries += 1
    active_trade := true

// Rebuy Condition: Buy if price drops 5% or more from the initial price
rebuy_price = initial_price * (1 - rebuy_drop / 100)
if active_trade and close <= rebuy_price
    strategy.entry("Rebuy", strategy.long)
    entries += 1

// Exit Condition: Sell if the price gives a 5% profit on the initial investment
target_price = initial_price * (1 + profit_target / 100)
if active_trade and close >= target_price
    strategy.close_all(comment="Profit Target Hit")
    active_trade := false
    total_profit += profit_target

// Display information on the chart
plotshape(series=close >= target_price, title="Target Hit", style=shape.labelup, location=location.absolute, color=color.green, text="Sell")
plotshape(series=close <= rebuy_price, title="Rebuy", style=shape.labeldown, location=location.absolute, color=color.red, text="Rebuy")

// Draw statistics on the chart
var label stats_label = na
if (na(stats_label))
    stats_label := label.new(x=bar_index, y=close, text="", style=label.style_none, size=size.small)

label.set_xy(stats_label, bar_index, close)
label.set_text(stats_label, "Entries: " + str.tostring(entries) + "\nTotal Profit: " + str.tostring(total_profit, "#.##") + "%")


Berkaitan

Lebih lanjut