Sumber dimuat naik... memuat...

Strategi Pelaburan Rata-rata Kos Dolar Bollinger Band

Penulis:ChaoZhang, Tarikh: 2024-12-12 17:17:15
Tag:BBDCAEMASMA

img

Ringkasan

Strategi ini adalah pendekatan pelaburan pintar yang menggabungkan Purata Kos Dolar (DCA) dengan penunjuk teknikal Bollinger Bands. Ia secara sistematik membina kedudukan semasa penurunan harga dengan memanfaatkan prinsip pembalikan purata. Mekanisme teras melaksanakan pembelian jumlah tetap apabila harga memecahkan di bawah Bollinger Band yang lebih rendah, bertujuan untuk mencapai harga kemasukan yang lebih baik semasa pembetulan pasaran.

Prinsip Strategi

Strategi ini dibina di atas tiga tiang asas: 1) Purata Kos Dolar, yang mengurangkan risiko masa melalui pelaburan jumlah tetap biasa; 2) Teori Pembalikan Rata-rata, yang mengandaikan harga akhirnya akan kembali ke purata sejarah mereka; 3) Indikator Bollinger Bands untuk mengenal pasti zon overbought dan oversold. Isyarat beli dipicu apabila harga pecah di bawah band bawah, dengan kuantiti pembelian ditentukan dengan membahagikan jumlah pelaburan yang ditetapkan dengan harga semasa. Strategi menggunakan EMA 200 tempoh sebagai band tengah dengan pengganda penyimpangan standard 2 untuk menentukan band atas dan bawah.

Kelebihan Strategi

  1. Mengurangkan Risiko Masa - Pembelian sistematik dan bukannya penilaian subjektif mengurangkan kesilapan manusia
  2. Pendaftaran Pullback - Pelaksanaan pembelian secara automatik semasa keadaan oversold
  3. Parameter fleksibel - Parameter Bollinger Band yang boleh disesuaikan dan jumlah pelaburan untuk keadaan pasaran yang berbeza
  4. Peraturan kemasukan/keluar yang jelas - Isyarat objektif berdasarkan penunjuk teknikal
  5. Pelaksanaan automatik - Tiada campur tangan manual diperlukan, mengelakkan perdagangan emosi

Risiko Strategi

  1. Risiko kegagalan pembalikan purata - Boleh menghasilkan isyarat palsu dalam pasaran trend
  2. Risiko Pengurusan Modal - Memerlukan rizab modal yang mencukupi untuk isyarat pembelian berturut-turut
  3. Risiko pengoptimuman parameter - Pengoptimuman berlebihan boleh menyebabkan kegagalan strategi
  4. Kebergantungan kepada persekitaran pasaran - Kemungkinan prestasi rendah dalam pasaran yang sangat tidak menentu Disyorkan untuk melaksanakan peraturan pengurusan modal yang ketat dan menilai prestasi strategi secara berkala untuk menguruskan risiko ini.

Arahan Pengoptimuman Strategi

  1. Memasukkan penapis trend untuk mengelakkan operasi kontra-trend dalam trend yang kuat
  2. Tambah mekanisme pengesahan jangka masa berbilang
  3. Mengoptimumkan sistem pengurusan modal dengan saiz kedudukan berdasarkan turun naik
  4. Melaksanakan mekanisme mengambil keuntungan apabila harga kembali ke purata
  5. Pertimbangkan untuk menggabungkan dengan penunjuk teknikal lain untuk meningkatkan kebolehpercayaan isyarat

Ringkasan

Ini adalah strategi yang kukuh yang menggabungkan analisis teknikal dengan kaedah pelaburan yang sistematik. Ia menggunakan Bollinger Bands untuk mengenal pasti peluang oversold sambil melaksanakan Dollar-Cost Averaging untuk mengurangkan risiko. Kunci kejayaan terletak pada tetapan parameter yang betul dan disiplin pelaksanaan yang ketat. Walaupun risiko ada, pengoptimuman berterusan dan pengurusan risiko dapat meningkatkan kestabilan strategi.


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

//@version=5
strategy("DCA Strategy with Mean Reversion and Bollinger Band", overlay=true) // Define the strategy name and set overlay=true to display on the main chart

// Inputs for investment amount and dates
investment_amount = input.float(10000, title="Investment Amount (USD)", tooltip="Amount to be invested in each buy order (in USD)") // Amount to invest in each buy order
open_date = input(timestamp("2024-01-01 00:00:00"), title="Open All Positions On", tooltip="Date when to start opening positions for DCA strategy") // Date to start opening positions
close_date = input(timestamp("2024-08-04 00:00:00"), title="Close All Positions On", tooltip="Date when to close all open positions for DCA strategy") // Date to close all positions

// Bollinger Band parameters
source = input.source(title="Source", defval=close, group="Bollinger Band Parameter", tooltip="The price source to calculate the Bollinger Bands (e.g., closing price)") // Source of price for calculating Bollinger Bands (e.g., closing price)
length = input.int(200, minval=1, title='Period', group="Bollinger Band Parameter", tooltip="Period for the Bollinger Band calculation (e.g., 200-period moving average)") // Period for calculating the Bollinger Bands (e.g., 200-period moving average)
mult = input.float(2, minval=0.1, maxval=50, step=0.1, title='Standard Deviation', group="Bollinger Band Parameter", tooltip="Multiplier for the standard deviation to define the upper and lower bands") // Multiplier for the standard deviation to calculate the upper and lower bands

// Timeframe selection for Bollinger Bands
tf = input.timeframe(title="Bollinger Band Timeframe", defval="240", group="Bollinger Band Parameter", tooltip="The timeframe used to calculate the Bollinger Bands (e.g., 4-hour chart)") // Timeframe for calculating the Bollinger Bands (e.g., 4-hour chart)

// Calculate BB for the chosen timeframe using security
[basis, bb_dev] = request.security(syminfo.tickerid, tf, [ta.ema(source, length), mult * ta.stdev(source, length)]) // Calculate Basis (EMA) and standard deviation for the chosen timeframe
upper = basis + bb_dev // Calculate the Upper Band by adding the standard deviation to the Basis
lower = basis - bb_dev // Calculate the Lower Band by subtracting the standard deviation from the Basis

// Plot Bollinger Bands
plot(basis, color=color.red, title="Middle Band (SMA)") // Plot the middle band (Basis, EMA) in red
plot(upper, color=color.blue, title="Upper Band") // Plot the Upper Band in blue
plot(lower, color=color.blue, title="Lower Band") // Plot the Lower Band in blue
fill(plot(upper), plot(lower), color=color.blue, transp=90) // Fill the area between Upper and Lower Bands with blue color at 90% transparency

// Define buy condition based on Bollinger Band 
buy_condition = ta.crossunder(source, lower) // Define the buy condition when the price crosses under the Lower Band (Mean Reversion strategy)

// Execute buy orders on the Bollinger Band Mean Reversion condition
if (buy_condition ) // Check if the buy condition is true and time is within the open and close date range
    strategy.order("DCA Buy", strategy.long, qty=investment_amount / close) // Execute the buy order with the specified investment amount

// Close all positions on the specified date
if (time >= close_date) // Check if the current time is after the close date
    strategy.close_all() // Close all open positions

// Track the background color state
var color bgColor = na // Initialize a variable to store the background color (set to 'na' initially)

// Update background color based on conditions
if close > upper // If the close price is above the Upper Band
    bgColor := color.red // Set the background color to red
else if close < lower // If the close price is below the Lower Band
    bgColor := color.green // Set the background color to green

// Apply the background color
bgcolor(bgColor, transp=90, title="Background Color Based on Bollinger Bands") // Set the background color based on the determined condition with 90% transparency

// Postscript:
// 1. Once you have set the "Investment Amount (USD)" in the input box, proceed with additional configuration. 
// Go to "Properties" and adjust the "Initial Capital" value by calculating it as "Total Closed Trades" multiplied by "Investment Amount (USD)" 
// to ensure the backtest results are aligned correctly with the actual investment values.
//
// Example:
// Investment Amount (USD) = 100 USD
// Total Closed Trades = 10 
// Initial Capital = 10 x 100 = 1,000 USD

// Investment Amount (USD) = 200 USD
// Total Closed Trades = 24 
// Initial Capital = 24 x 200 = 4,800 USD


Berkaitan

Lebih lanjut