Strategi pelaburan tetap DCA dengan henti rugi gelincir


Tarikh penciptaan: 2024-02-23 14:01:20 Akhirnya diubah suai: 2024-02-23 14:01:20
Salin: 0 Bilangan klik: 926
1
fokus pada
1617
Pengikut

Strategi pelaburan tetap DCA dengan henti rugi gelincir

Gambaran keseluruhan

Strategi ini menggabungkan peratusan kos dolar (DCA) dengan fungsi trailing take profit di platform bursa. Ia menetapkan selisih harga 1% untuk pembelian dan keuntungan 0.5% untuk setiap jualan. Keuntungan kecil ini adalah untuk memastikan robot perdagangan berjalan lancar dan mengelakkan risiko terjebak dalam tempoh pasaran yang perlahan.

Prinsip Strategi

Strategi ini mula-mula menetapkan parameter yang boleh dikonfigurasi seperti peratusan stop loss, jumlah pesanan DCA maksimum, peratusan penyimpangan harga. Kemudian ia menjejaki pembolehubah seperti harga pembelian terakhir, jumlah pembelian, harga pembelian awal dan harga stop loss. Pada logik pembelian, jika harga semasa lebih rendah daripada harga pembelian terakhir ((1 - peratusan penyimpangan harga) dan jumlah pesanan DCA maksimum belum dicapai, isyarat pembelian akan dikeluarkan dan harga pembelian ini akan direkodkan. Pada logik penjualan, jika harga semasa lebih tinggi daripada harga pembelian terakhir ((1 + peratusan stop loss), nisbah akan ditetapkan sebagai harga stop loss.

Kelebihan Strategik

  1. Gabungan dengan DCA Fixed Input dan Stop Loss Sliding Point, kedua-dua memastikan kos purata pembelian tetap secara berkala dan mengunci sebahagian keuntungan untuk mengelakkan penarikan balik.

  2. Mekanisme Stop Loss Slider adalah fleksibel, dan anda boleh menyesuaikan stop loss dan slider rasio mengikut keadaan pasaran untuk mengurangkan risiko.

  3. Pelaksanaan yang lebih baik daripada strategi beli-memegang tradisional, pulangan tahunan yang stabil, sesuai untuk pelaburan jangka panjang.

  4. Ia mudah dilaksanakan, parameternya fleksibel, dan mudah digunakan di platform bursa utama.

Risiko Strategik

  1. Pembelian DCA adalah terhad, dan kerugian boleh meningkat jika pasaran turun dalam jangka masa yang panjang.

  2. Tetapan stop loss yang tidak betul boleh menyebabkan keuntungan sering dikunci, atau kerugian berkembang.

  3. Kos dagangan akan memberi kesan kepada keuntungan. Tetapan stop loss yang tinggi akan meningkatkan jumlah dagangan.

  4. Pembelian DCA yang kerap memerlukan dana yang mencukupi. Kurang dana awal boleh menyebabkan pembelian yang tidak mencukupi.

Pengoptimuman Strategi

  1. Anda boleh menetapkan hentian tergelincir yang boleh dikurangkan secara beransur-ansur apabila keuntungan mencapai peratusan tertentu.

  2. Menggabungkan indikator garis rata, meningkatkan pembelian saham di sekitar tahap sokongan utama.

  3. Menyertai mekanisme penyeimbangan semula, dengan jumlah setiap pembelian DCA disesuaikan dengan jumlah aset keseluruhan.

  4. Tetapan parameter optimum untuk menguji kadar pulangan dalam tempoh pegangan yang berbeza.

ringkaskan

Strategi ini mengintegrasikan kaedah penempatan DCA dan stop-loss slippage untuk mencapai perdagangan kuantitatif dengan keuntungan yang stabil dalam jangka masa panjang. Ia mempunyai prestasi yang baik dan sesuai untuk pelabur yang mencari pertumbuhan yang mantap.

Kod sumber strategi
/*backtest
start: 2023-02-16 00:00:00
end: 2024-02-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Stavolt

//@version=5
strategy("DCA Strategy with Trailing Take Profit", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Correctly using input to define user-configurable parameters
takeProfitPercent = input.float(0.6, title="Take Profit (%)", minval=0.1, maxval=5)
trailingPercent = input.float(0.1, title="Trailing Stop (%)", minval=0.05, maxval=1)
maxDCAOrders = input.int(10, title="Max DCA Orders", minval=1, maxval=20)
priceDeviationPercent = input.float(1.0, title="Price Deviation (%)", minval=0.5, maxval=5)

var float lastBuyPrice = na
var int buyCount = 0
var float initialBuyPrice = na
var float trailingStopPrice = na

// Strategy logic here...
// Note: The detailed logic for buying and selling based on the DCA strategy
// needs to be tailored to your specific requirements and tested for correctness.

if (buyCount < maxDCAOrders)
    if (na(lastBuyPrice) or close < lastBuyPrice * (1 - priceDeviationPercent / 100))
        strategy.entry("Buy", strategy.long)
        lastBuyPrice := close
        buyCount += 1
        if (na(initialBuyPrice))
            initialBuyPrice := close

if (not na(lastBuyPrice) and close > lastBuyPrice * (1 + takeProfitPercent / 100))
    if (na(trailingStopPrice) or close > trailingStopPrice)
        trailingStopPrice := close * (1 - trailingPercent / 100)
    if (close < trailingStopPrice)
        strategy.close("Buy")
        lastBuyPrice := na
        trailingStopPrice := na
        buyCount := 0
        initialBuyPrice := na