Chiến lược giá trung bình tích lũy cố định thường xuyên


Ngày tạo: 2023-09-15 16:52:06 sửa đổi lần cuối: 2023-09-15 16:52:06
sao chép: 0 Số nhấp chuột: 645
1
tập trung vào
1617
Người theo dõi

Chiến lược này được gọi là chiến lược giá trị trung bình tích lũy định kỳ. Chiến lược này thực hiện việc nắm giữ tài sản trong thời gian dài bằng cách mua định kỳ, dần dần đạt được vị trí mục tiêu.

Chiến lược hoạt động như sau:

  1. Thiết lập số tiền mua và tần suất mua cố định.
  2. Thường xuyên mua tài sản theo số tiền đã đặt trong một chu kỳ cố định.
  3. Khi số lượng nắm giữ tích lũy đạt đến mức giá trị giảm giá, đặt cược bằng bằng.
  4. Lặp lại các bước trên và tiếp tục tích lũy các vị trí thường xuyên.

Quy trình hoạt động cụ thể:

  1. Mỗi một chu kỳ (ví dụ như hàng tháng), mua một số lượng cố định tài sản (ví dụ như 200 USD).
  2. Khi số lượng nắm giữ tích lũy vượt quá giới hạn đặt (ví dụ: 200) thì toàn bộ số lượng nắm giữ được sẽ bị xóa.
  3. Sau đó khởi động lại quá trình mua hàng thường xuyên và tiếp tục tích lũy cổ phiếu.

Những lợi thế của chiến lược này:

  1. Giảm chi phí nắm giữ trong thời gian dài, lợi nhuận thông qua giá trung bình.
  2. Tiếp theo, các nhà đầu tư sẽ có thể mua lại các cổ phiếu của họ mà không cần phải trả tiền.
  3. Dễ thực hiện liên tục, không cần phải chú ý đến thị trường thường xuyên.

Rủi ro của chiến lược này:

  1. Cần giữ lâu dài, không thể đối phó với biến động giá ngắn hạn.
  2. Khi giá giảm lâu dài, bạn có thể phải đối mặt với tổn thất.
  3. Bạn có thể không chọn đúng thời điểm bán hàng và bỏ lỡ điểm giao hàng tốt nhất.

Tóm lại, chiến lược định lượng định kỳ tích lũy tài sản bằng cách xây dựng kho hàng loạt, thân thiện với các nhà đầu tư dài dòng. Tuy nhiên, các nhà giao dịch vẫn cần phải chú ý đến rủi ro của thị trường lớn và tối ưu hóa chiến lược bán hàng, tối đa hóa lợi nhuận bằng cách tạo kho hàng loạt ở mức cao.

Mã nguồn chiến lược
/*backtest
start: 2022-09-08 00:00:00
end: 2023-09-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tanoshimooo

//@version=5
strategy ("DCA", initial_capital=44700, overlay=true)

// To start script at a given date
tz = 0 //timezone
timeadj = time + tz * 60 * 60 * 1000 //adjust the time (unix)
t1 = timeadj >= timestamp(2003, 03, 01, 0, 0) ? 1 : 0 //get the starting time

// Variables
var float lastRef = na
if barstate.isfirst
    lastRef := close
var float cash = 50000 // available money
var float sell_contracts = na
var bool first_trade_done = false

// Parameters
var float sell_min = 200 //200 sell more than sell_min or sell all
var float buy_dollars = 200

var int bi = 90

// LONGS
// if bar_index < bi
strategy.order("Long", strategy.long, int(buy_dollars/close))
cash := cash - int(buy_dollars/close)*close
// label.new(bar_index, na, na, xloc.bar_index, yloc.abovebar, color.blue, label.style_triangleup, color.blue, size.tiny)

//plot(cash)

// SHORTS
// if longExit  
//     if (strategy.position_size*sf*close > sell_min) and (strategy.position_size*sf >= 1)
//         strategy.order ("Long", strategy.short, strategy.position_size*sf)
//         cash := cash + strategy.position_size*sf*close
//     else 
//         strategy.order ("Long", strategy.short, strategy.position_size)
//         cash := cash + strategy.position_size*close
//     lastRef := close
//     label.new(bar_index, na, na, xloc.bar_index, yloc.belowbar, color.red, label.style_triangledown, color.red, size.tiny)

if bar_index == last_bar_index - 2 // bi
    strategy.order ("Long", strategy.short, strategy.position_size)