Chiến lược giờ giao dịch vàng

Tác giả:ChaoZhang, Ngày: 2023-09-19 16:03:52
Tags:

Tổng quan

Chiến lược giờ giao dịch vàng tự động xác định các giờ tốt nhất để mua và bán mỗi ngày bằng cách kiểm tra lại dữ liệu lịch sử. Nó sử dụng chỉ số ROC để tính tỷ lệ phần trăm tăng và giảm của các cây nến trong các giờ khác nhau và do đó đánh giá hiệu suất giao dịch để tìm giờ mua và bán tối ưu.

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

  1. Sử dụng thời gian hiện tại để lấy giờ hiện tại now_hour.

  2. Sử dụng chỉ số ROC để tính tỷ lệ phần trăm tăng và giảm hàng giờ của chỉ số nến.

  3. Tính toán tổng sản phẩm của chỉ số và now_hour như buy_hourXindicator_cum.

  4. Tính toán tổng của chỉ số là buy_indicator_cum.

  5. Thời gian mua tốt nhất buy_hour = buy_hourXindicator_cum / buy_indicator_cum

  6. Tương tự như vậy, tính toán giờ bán tốt nhất sell_hour.

  7. So sánh now_hour với buy_hour và sell_hour để xác định xem giờ hiện tại có phải là giờ mua hoặc bán tối ưu không.

  8. Gửi tín hiệu tương ứng trong giờ mua và bán tối ưu.

  9. Sử dụng màu nền khác nhau để hiển thị giờ mua và bán tối ưu trong thời gian thực.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là khả năng tự động xác định giờ giao dịch tốt nhất trong ngày. Nó tiết kiệm rất nhiều thời gian và nỗ lực từ việc quan sát dữ liệu lịch sử theo tay để đánh giá giờ giao dịch tối ưu. Ngoài ra, chiến lược có thể điều chỉnh giờ giao dịch tối ưu trong thời gian thực dựa trên dữ liệu trực tiếp để phản ứng nhanh chóng với những thay đổi trên thị trường. Chiến lược này có nhiều lợi thế hơn so với giờ giao dịch cố định.

Ngoài ra, chiến lược sử dụng tốt chỉ số ROC. Bằng cách tính tỷ lệ phần trăm tăng và giảm hàng giờ của các ngọn nến, nó có thể đánh giá chính xác hơn hiệu suất giao dịch của các giai đoạn khác nhau. Chỉ số ROC nhạy cảm với biến động không đối xứng và có thể phản ánh những thay đổi của thị trường.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này nằm ở những hạn chế của chỉ số ROC. ROC chỉ xem xét những thay đổi giá và không nhạy cảm với những thay đổi về khối lượng giao dịch. Ngoài ra, ROC không hoạt động tốt trong các thị trường giới hạn phạm vi với các băng tần hẹp. Nếu gặp phải các thị trường giới hạn phạm vi bên cạnh, hiệu quả của chỉ số ROC sẽ bị giảm giá.

Ngoài ra, chiến lược sử dụng kiểm tra ngược dữ liệu lịch sử để xác định giờ giao dịch tối ưu. Nhưng các mô hình lịch sử có thể không áp dụng cho thị trường hiện tại. Những thay đổi cấu trúc có thể xảy ra trên thị trường và các quy tắc giao dịch ban đầu có thể không còn áp dụng nữa. Điều này đòi hỏi phải điều chỉnh các tham số dựa trên điều kiện thị trường hiện tại thay vì chỉ dựa vào kết quả kiểm tra ngược.

Để giải quyết vấn đề này, chúng ta có thể xem xét kết hợp các chỉ số khác như khối lượng giao dịch để có được đánh giá toàn diện hơn về điều kiện thị trường.

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Hãy thử các chỉ số khác để thay thế chỉ số ROC, chẳng hạn như khối lượng giao dịch, để tìm các chỉ số phù hợp hơn để tính điểm mạnh và điểm yếu hàng giờ.

  2. Thêm các điều kiện lọc khác bằng cách sử dụng đường trung bình động, dao động, vv để đánh giá xu hướng địa phương và tránh giao dịch không hợp lý.

  3. Tối ưu hóa các thông số khoảng thời gian và kiểm tra tác động của các khoảng thời gian khác nhau đối với kết quả.

  4. Thêm các cơ chế dừng lỗ và thiết lập các điểm dừng lỗ hợp lý để kiểm soát rủi ro giao dịch.

  5. Kết hợp các phương pháp học máy và các bộ dữ liệu lớn hơn để giải quyết giờ giao dịch tối ưu.

Tóm lại

Tóm lại, chiến lược giờ giao dịch vàng là một cách tiếp cận khả thi và hiệu quả. Nó sử dụng chỉ số ROC để tự động xác định giờ mua và bán tối ưu trong ngày, tiết kiệm rất nhiều thời gian và nỗ lực. Nhưng chúng ta cũng nên lưu ý những hạn chế của chỉ số ROC và kiểm tra ngược lịch sử, và điều chỉnh các tham số dựa trên điều kiện thị trường hiện tại. Hơn nữa, vẫn còn nhiều chỗ để cải thiện bằng cách tối ưu hóa chiến lược này trong nhiều khía cạnh để tạo ra các tín hiệu chính xác và đáng tin cậy hơn. Nếu được sử dụng cho giao dịch trực tiếp, nên tuân thủ nghiêm ngặt các quy tắc dừng lỗ để kiểm soát rủi ro giao dịch.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
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/
// © mablue (Masoud Azizi)

//@version=5
strategy("Trade Hour V3",overlay=false)
timezone = input.string("Europe/London",options=["America/New_York","America/Los_Angeles","America/Chicago","America/Phoenix","America/Toronto","America/Vancouver","America/Argentina" ,"America/El_Salvador","America/Sao_Paulo","America/Bogota","Europe/Moscow","Europe/Athens","Europe/Berlin","Europe/London","Europe/Madrid","Europe/Paris","Europe/Warsaw","Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/ACT","Asia/Almaty","Asia/Ashkhabad","Asia/Tokyo","Asia/Taipei","Asia/Singapore","Asia/Shanghai","Asia/Seoul","Asia/Tehran","Asia/Dubai","Asia/Kolkata","Asia/Hong_Kong","Asia/Bangkok","Pacific/Auckland","Pacific/Chatham","Pacific/Fakaofo","Pacific/Honolulu"]	)
source = input.source(close)
tp = input.int(1,"ROC Timeperiod")

now_hour = hour(time,timezone)

indicator = ta.roc(source,tp)

buy_hourXindicator_cum = ta.cum(indicator* now_hour)
buy_indicator_cum = ta.cum(indicator)
buy_hour = buy_hourXindicator_cum/buy_indicator_cum

sell_hourXindicator_cum = ta.cum( (1/indicator ) * now_hour)
sell_indicator_cum = ta.cum(1/indicator)
sell_hour = sell_hourXindicator_cum/sell_indicator_cum

plot(buy_hour,color=color.green)
plot(sell_hour,color=color.red)
plot(now_hour,color=color.gray,display=display.none)


bool isLongBestHour = now_hour==math.round(buy_hour)
bool isShortBestHour = now_hour==math.round(sell_hour)

bgcolor(isLongBestHour ? color.new(color.green,80) : na)
bgcolor(isShortBestHour ? color.new(color.red,80) : na)
strategy.order("buy", strategy.long, when =isLongBestHour)
strategy.order("sell", strategy.short, when = isShortBestHour)

Thêm nữa