Đầu tư vào Chiến lược theo xu hướng vàng


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

Đầu tư vào Chiến lược theo xu hướng vàng

Tổng quan

Chiến lược này sử dụng mô hình đường cân bằng để xác định xu hướng thị trường, định lượng đặt nhiều vị trí thường xuyên khi xu hướng giảm để theo dõi xu hướng tăng giá của thị trường Golden Cross.

Nguyên tắc chiến lược

Chiến lược này dựa trên các nguyên tắc kỹ thuật sau:

  1. Sử dụng đường trung bình EMA để đánh giá xu hướng thị trường. Khi đường EMA nhanh vượt qua đường EMA chậm, hãy đánh giá xu hướng bullish và chuẩn bị tham gia nhiều hướng.

  2. Kết hợp với chỉ số MACD để xác định thời điểm vào thị trường. Khi chỉ số MACD chuyển sang tích cực, nó cho thấy thị trường đã bắt đầu suy yếu và nhập vào nhiều hướng.

  3. Giới hạn chỉ có thể vào một lần mỗi tháng, tránh theo đuổi. Số lượng mỗi lần vào có thể được thiết lập.

  4. Bạn có thể đặt ngày bắt đầu và ngày kết thúc, giới hạn chu kỳ phản hồi. Khi phản hồi kết thúc, chiến lược sẽ xóa tất cả các vị trí.

Cụ thể, chiến lược này đầu tiên tính toán đường EMA nhanh và đường EMA chậm, và kiểm tra mối quan hệ giữa hai thứ để đánh giá xu hướng thị trường. Đồng thời tính toán chỉ số MACD để đánh giá điểm vào cụ thể. Khi điều kiện thứ hai được thiết lập, tạo ra nhiều tín hiệu, xác định thực sự phát lệnh vào theo quy tắc giới hạn chỉ có thể vào thị trường một lần mỗi tháng.

Lợi thế chiến lược

Đây là một chiến lược theo dõi xu hướng đơn giản và trực tiếp với một số ưu điểm:

  1. Sử dụng đường trung bình EMA để đánh giá xu hướng lớn là đơn giản và thực tế. đường trung bình EMA có tác dụng làm mỏng sự thay đổi giá, có thể lọc hiệu quả tiếng ồn của thị trường xung đột.

  2. Chỉ số MACD có thể xác định chính xác hơn khi cấu trúc mua bán yếu đi, do đó rủi ro tham gia thấp hơn.

  3. Giới hạn chỉ một lần mỗi tháng để tránh bị đánh giá cao trong thị trường bò.

  4. Cho phép tùy chỉnh số tiền nhập vào mỗi tháng, có thể điều chỉnh vị trí một cách linh hoạt theo chiến lược của riêng bạn.

  5. Bạn có thể kiểm tra lại hiệu quả của chiến lược bằng ngày bắt đầu và ngày kết thúc.

  6. Khi kết thúc đợt đánh giá, các nhà đầu tư sẽ chủ động thanh toán để tránh sự ngượng ngùng khi các giao dịch giả mạo rời khỏi thị trường.

Rủi ro và giải pháp

Chiến lược này cũng có một số rủi ro tiềm ẩn, bao gồm:

  1. Phương pháp dựa vào đường trung bình để đánh giá xu hướng có thể bỏ lỡ cơ hội điều chỉnh trong thời gian ngắn hoặc không phản ứng đủ nhanh khi xu hướng đảo ngược. Bạn có thể rút ngắn chu kỳ trung bình một cách thích hợp hoặc thêm các chỉ số phán quyết khác để tối ưu hóa.

  2. Chỉ thực hiện một lần theo dõi mỗi tháng có thể sẽ bỏ lỡ thời điểm tốt nhất. Bạn có thể cân nhắc việc nới lỏng tần suất nhập cảnh hoặc bắt kịp một lần nữa khi phá vỡ mức cao mới.

  3. Có một số rủi ro phù hợp với phản hồi. Cần tăng không gian điều chỉnh tham số và kiểm tra tính ổn định giữa các thị trường và các chu kỳ thời gian.

  4. Có nguy cơ bị chôn vùi và mua quá mức. Bạn nên kiểm soát số tiền đầu vào hàng tháng một cách thích hợp và tránh đặt vị trí quá lớn.

Hướng tối ưu hóa

Chiến lược này có thể được mở rộng và tối ưu hóa bằng cách:

  1. Thêm logic dừng lỗ EXIT, chủ động dừng lỗ khi thị trường có đầu gấu rõ ràng.

  2. Một lần nữa, mua thêm một lần nữa khi MACD Smile được thành lập để có được sự phơi bày đầy đủ hơn.

  3. Tham gia đánh giá theo nhiều phương thức, so sánh mức tăng cao trong tháng với mức tăng cao trong tháng trước, để đánh giá xu hướng có còn mạnh hay không.

  4. Thêm logic kiểm soát vị trí. Số tiền đầu vào hàng tháng có thể được kiểm soát theo tỷ lệ, thay vì giá trị cố định.

  5. Đánh giá tác động của các kết hợp đường trung bình khác nhau và các tham số MACD đối với hiệu quả chiến lược. Tìm kiếm kết hợp tham số tối ưu.

  6. Thêm một trailing stop theo dõi dừng lỗ. Bắt đầu theo dõi một mức độ nhất định khi giá đạt mức cao mới để lợi nhuận tiếp tục hoạt động.

Tóm tắt

Chiến lược này nói chung là một chiến lược theo dõi xu hướng đơn giản, ý tưởng cốt lõi rõ ràng, dễ thực hiện, phù hợp để kiểm tra hiệu quả của việc theo dõi xu hướng theo đường thẳng và kết hợp đầu tư. Có thể được học như một trong những chiến lược nhập vào giao dịch định lượng.

Mã nguồn chiến lược
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-30 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/
// © runescapeyttanic

//@version=4
// strategy("Buy and Hold entry finder Strategy",pyramiding=10000, overlay=true,initial_capital=0,default_qty_type=strategy.cash,default_qty_value=1000,currency = currency.EUR,commission_type=strategy.commission.cash_per_order,commission_value=0)

//INPUTS##################################################################################################################

maxEmaDistance = input(title="Maximum EMA Distance", type=input.float, step=0.01, defval=50000)
emalength = input(title="EMA Length", type=input.integer,defval=200)

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer,
     defval=12, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=02, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100)

endDate1=endDate-1
//starttag
//startmonat
//MACD########################################################################################################################

fast_length=12
slow_length=26
src=close
col_macd=#0094ff
fast_ma = ema(src, fast_length)
slow_ma = ema(src, slow_length)
macd = fast_ma - slow_ma

//EMA Distance CALC########################################################################################################

ma1 =ema(close,emalength)
distFromMean = close - ma1

inDateRange = true

longCondition = (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0 and inDateRange)
longnow=false

if(longCondition and strategy.position_size == 0)
    strategy.entry("My Long Entry Id", strategy.long)
    longnow:=true

if(longCondition and strategy.position_size > 0)
    longnow:=true
    

if(longCondition and strategy.position_size > 0 and month>valuewhen(longnow, month ,1) or longCondition and strategy.position_size > 0 and year>valuewhen(longnow, year ,1) and inDateRange)
    strategy.entry("My Long Entry Id", strategy.long)

plotchar(minute, "Minuten", "", location = location.top)

plotchar(hour, "Stunden", "", location = location.top)    

plotchar(dayofmonth, "Tage", "", location = location.top)

plotchar(month, "Monat", "", location = location.top)

plotchar(year, "Jahr", "", location = location.top)

plotchar(strategy.position_size, "Positionen", "", location = location.top)

plotchar(longCondition, "Long Condition", "", location = location.top)

if true
    strategy.close_all()

//#########################################################################################################################

plotArrow = if (distFromMean<=maxEmaDistance and distFromMean>=distFromMean[1] and macd<=0)
    1
else
    0
    
plotarrow(series=plotArrow)