Chiến lược giao dịch tỷ lệ vàng

Tác giả:ChaoZhang, Ngày: 2024-01-05 14:21:52
Tags:

img

Tổng quan

Chiến lược giao dịch trung bình động tỷ lệ vàng là một chiến lược giao dịch định lượng cố gắng sử dụng chéo vàng của trung bình động ngắn hạn và dài hạn làm tín hiệu giao dịch. Chiến lược cũng kết hợp chỉ số RSI để tránh mở các vị trí ở mức cao địa phương để kiểm soát rủi ro.

Chiến lược logic

Chiến lược này chủ yếu dựa trên hai đường trung bình động: MA 200 ngày là MA dài hạn và MA 10 ngày là MA ngắn hạn. Một tín hiệu mua được tạo ra khi MA ngắn hạn vượt qua MA dài hạn; Một tín hiệu bán được tạo ra khi MA ngắn hạn vượt qua dưới MA dài hạn. Đây là đường chéo vàng nổi tiếng. Chiến lược cũng kết hợp chỉ số RSI để chiến lược chỉ mở các vị trí dài trong khu vực quá bán khi RSI dưới 30.

Cụ thể, một vị trí dài sẽ được mở nếu đáp ứng các điều kiện sau:

  1. MA 10 ngày vượt quá MA 200 ngày
  2. Hiện tại không có vị trí
  3. RSI dưới 30

Các điều kiện đóng thế là như sau:

  1. Stop loss: Stop loss khi giá giảm xuống dưới một tỷ lệ phần trăm nhất định (có thể điều chỉnh) của giá mở cửa
  2. Lấy lợi nhuận: lấy lợi nhuận khi giá vượt quá một tỷ lệ phần trăm nhất định (có thể điều chỉnh)

Phân tích lợi thế

Chiến lược có những lợi thế sau:

  1. Nó sử dụng tín hiệu chéo vàng của đường trung bình động, đó là một tín hiệu giao dịch chỉ số kỹ thuật cổ điển và hiệu quả
  2. Kết hợp RSI tránh mua ở mức cao, có thể kiểm soát rủi ro ở một mức độ nào đó
  3. Với các thiết lập dừng lỗ và lấy lợi nhuận, nó có thể khóa trong lợi nhuận và tránh rủi ro

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Các chiến lược trung bình động có xu hướng tạo ra các tín hiệu sai và chém
  2. RSI có thể thất bại trong một số thị trường xu hướng mạnh
  3. Nếu stop loss được đặt quá nhỏ, nó có thể dẫn đến giao dịch cực ngắn hạn và kích hoạt stop loss thường xuyên

Để giảm thiểu những rủi ro này, các biện pháp tối ưu hóa sau đây có thể được xem xét:

  1. Điều chỉnh các thông số MA, hoặc thêm nhiều MA
  2. Bao gồm các chỉ số khác để xác nhận tín hiệu RSI
  3. Điều chỉnh các thiết lập tham số dừng lỗ và lấy lợi nhuận

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

Có chỗ cho việc tối ưu hóa thêm chiến lược:

  1. Tăng nhiều bộ lọc chỉ số để tránh tín hiệu sai
  2. Tối ưu hóa các thông số trung bình động
  3. Tích hợp các chỉ số biến động để thiết lập dừng động
  4. Thêm các mô hình học máy để đánh giá điều kiện thị trường
  5. Sử dụng thuật toán để tự động tối ưu hóa các thông số

Kết luận

Tóm lại, chiến lược giao dịch tỷ lệ vàng là một chiến lược theo xu hướng đơn giản và hiệu quả. Nó tạo ra các cơ hội giao dịch bằng cách sử dụng các tín hiệu chéo MA cổ điển và có điểm dừng để kiểm soát rủi ro. Chiến lược có thể được cải thiện hơn nữa thông qua sự kết hợp nhiều chỉ số, tối ưu hóa tham số, học máy, vv để có được hiệu suất chiến lược tốt hơn.


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 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/
// © tsujimoto0403

//@version=5
strategy("聖杯", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//ユーザーインプットの準備
malongperiod=input.int(200,"長期移動平均BASE200",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10",group = "パラメータ")
stop=input.int(20,title = "損切の割合%",group = "パラメータ")
profit=input.int(5,title = "利食いの割合%",group = "パラメータ")
startday=input(title="バックテストを始める日", defval=timestamp("01 Jan 2018 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")

//使う変数
var float stopprice=0
var float takeprofit=0

//とりあえず使うインジケーターをプロット
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)


plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
bgcolor(ta.rsi(close,3)<30?color.rgb(229, 86, 86, 48):na)

//期間条件
datefilter = true

//エントリー条件
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30
    strategy.entry(id="long", direction=strategy.long)

if strategy.position_size>0 
    strategy.exit(id="long",stop=(1-0.01*stop)*strategy.position_avg_price)

//売り
if  strategy.position_size > 0 and close>mashort and close<low[1] 
    strategy.close(id ="long")




Thêm nữa