Strategi investasi tetap DCA dengan stop loss slippage


Tanggal Pembuatan: 2024-02-23 14:01:20 Akhirnya memodifikasi: 2024-02-23 14:01:20
menyalin: 0 Jumlah klik: 926
1
fokus pada
1617
Pengikut

Strategi investasi tetap DCA dengan stop loss slippage

Ringkasan

Strategi ini menggabungkan Dollar Cost Averaging (DCA) dengan Trailing Take Profit pada platform pertukaran. Ini menetapkan selisih harga 1% untuk pembelian dan target keuntungan 0,5% untuk setiap penjualan. Alasan untuk keuntungan kecil ini adalah untuk memastikan robot perdagangan berjalan lancar dan menghindari risiko terjebak di pasar yang lambat.

Prinsip Strategi

Strategi ini pertama-tama menetapkan parameter yang dapat dikonfigurasi seperti persentase stop loss, jumlah pesanan DCA maksimum, persentase defisiensi harga. Kemudian, ia akan melacak variabel seperti harga pembelian terakhir, jumlah pembelian, harga pembelian awal, dan harga stop loss. Secara logis, jika harga saat ini lebih rendah dari harga pembelian sebelumnya (-1 - persentase defisiensi harga) dan jumlah pesanan DCA maksimum belum tercapai, sinyal pembelian akan dikirim dan harga pembelian ini akan dicatat. Secara logis, jika harga saat ini lebih tinggi dari harga pembelian sebelumnya (-1 + persentase defisiensi harga), harga stop loss akan ditetapkan.

Keunggulan Strategis

  1. Kombinasi dengan DCA Fixed and Slip Stop loss, baik memastikan biaya rata-rata dari pembelian tetap secara berkala, dan juga mengunci sebagian dari keuntungan untuk menghindari penarikan balik.

  2. Skid Stop adalah mekanisme yang fleksibel yang dapat disesuaikan dengan kondisi pasar untuk mengurangi risiko.

  3. Pelaksanaan retrospektif lebih baik daripada strategi beli dan pegang tradisional, dengan tingkat pengembalian tahunan yang stabil, cocok untuk investasi jangka panjang.

  4. Implementasi sederhana, pengaturan parameter yang fleksibel, dan mudah diterapkan di platform bursa utama.

Risiko Strategis

  1. DCA dibeli dalam jumlah terbatas, dan kerugian dapat meningkat jika terjadi penurunan jangka panjang.

  2. Stop loss yang tidak tepat dapat menyebabkan keuntungan yang sering terkunci, atau kerugian yang berkembang.

  3. Biaya transaksi akan berpengaruh pada keuntungan. Setting titik stop loss yang tinggi akan meningkatkan jumlah transaksi.

  4. Perlu dana yang cukup untuk mendukung pembelian DCA yang sering. Kurang dana awal dapat menyebabkan pembelian yang tidak cukup.

Optimasi Strategi

  1. Anda dapat mengatur floating stop loss yang akan berkurang secara bertahap ketika profit mencapai proporsi tertentu.

  2. Menggabungkan indikator rata-rata, meningkatkan pembelian saham di dekat titik dukungan penting.

  3. Masuk ke dalam mekanisme rebalancing dengan mengadaptasi jumlah setiap pembelian DCA berdasarkan total aset.

  4. Pengaturan parameter yang dioptimalkan untuk menguji tingkat pengembalian dalam periode kepemilikan yang berbeda.

Meringkaskan

Strategi ini mengintegrasikan metode DCA Fixed and Slip Stop, yang memungkinkan perdagangan kuantitatif dengan keuntungan yang stabil dalam jangka panjang. Ini memiliki kinerja yang baik dan cocok untuk investor yang mencari pertumbuhan yang stabil. Kode ini sederhana dan mudah dipahami.

Kode 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