Chiến lược giao dịch đảo ngược động lực

Tác giả:ChaoZhang, Ngày: 2024-01-18 11:26:40
Tags:

img

Tổng quan

Đây là một chiến lược giao dịch ngắn hạn rất đơn giản, chủ yếu phù hợp với giao dịch hàng ngày tương lai chỉ số. Nó chỉ kéo dài khi chỉ số ở trong kênh xu hướng tăng dài hạn và có tín hiệu đảo ngược ngắn hạn.

Nguyên tắc

Chiến lược chủ yếu sử dụng đường trung bình động và chỉ số RSI để xác định xu hướng và điều kiện mua quá mức / bán quá mức. Các tín hiệu giao dịch cụ thể là: giá đóng chỉ số phục hồi từ đường trung bình động dài hạn 200 ngày và vẫn ở trên nó như phán đoán xu hướng dài hạn; giá đóng phá vỡ dưới đường trung bình động 10 ngày như tín hiệu điều chỉnh ngắn hạn; RSI3 dưới 30 như tín hiệu bán quá mức. Khi ba điều kiện trên được đáp ứng, người ta tin rằng xác suất đảo ngược ngắn hạn tương đối lớn, vì vậy hãy mua dài.

Sau khi thực hiện một vị trí, việc thoát được dựa trên đánh giá dừng lỗ, lấy lợi nhuận và xu hướng ngắn hạn. Nếu giá đóng lại trở lại trên mức MA 10 ngày, đánh giá rằng điều chỉnh ngắn hạn đã kết thúc, hãy tích cực lấy lợi nhuận; nếu giá đóng chạm mức thấp mới, dừng lại với lỗ; lấy lợi nhuận khi giá đóng tăng 10%.

Phân tích lợi thế

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

  1. Logic đơn giản, dễ hiểu và thực hiện, phù hợp cho người mới bắt đầu;
  2. Sử dụng đầy đủ xu hướng tăng dài hạn của chỉ số để tránh giao dịch chống lại xu hướng;
  3. Sử dụng chỉ số RSI để xác định điểm đảo ngược ngắn hạn để tăng xác suất lợi nhuận;
  4. Có các cơ chế dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro;
  5. Nhu cầu dữ liệu thấp, dữ liệu hàng ngày là đủ, phù hợp với việc triển khai không chi phí.

Phân tích rủi ro

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

  1. Sự sụt giảm bền vững trong thị trường giảm sẽ dẫn đến tổn thất;
  2. Việc đảo ngược không thành công có thể gây ra tổn thất đáng kể;
  3. Các thiết lập tham số không chính xác cũng có thể ảnh hưởng đến kết quả, chẳng hạn như các giai đoạn trung bình động không chính xác;
  4. Tần suất giao dịch có thể thấp, không thể nắm bắt tất cả các điều chỉnh;
  5. Lợi nhuận tăng hạn, không cao hơn nhiều so với lợi nhuận chỉ số thị trường.

Để đáp ứng các rủi ro trên, các phương pháp như tối ưu hóa các tham số chu kỳ, điều chỉnh tỷ lệ dừng lỗ, thêm các đánh giá chỉ số khác, v.v. có thể được sử dụng để cải thiện chiến lược.

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. Tăng các đánh giá đa yếu tố về xu hướng dài hạn và ngắn hạn, chẳng hạn như MACD và KD để cải thiện độ chính xác đánh giá;
  2. Thêm phân tích khối lượng giao dịch, chẳng hạn như mua dài khi khối lượng giao dịch tăng vọt;
  3. Tối ưu hóa cài đặt tham số thông qua Phân tích Tiến bộ và các phương pháp khác để tìm các tham số tốt nhất;
  4. Kết hợp nhiều yếu tố đảo ngược hơn, chẳng hạn như các mức khôi phục Fibonacci, các mức hỗ trợ và kháng cự để xác định các mức đảo ngược;
  5. Xem xét toàn diện tối ưu hóa tỷ lệ lợi nhuận, chẳng hạn như điều chỉnh các vị trí và tỷ lệ dừng lỗ để đạt được lợi nhuận cao hơn.

Tóm lại

Tóm lại, đây là một chiến lược giao dịch ngắn hạn rất đơn giản và thực tế. Nó kết hợp xu hướng tăng dài hạn và đảo ngược rút ngắn hạn của chỉ số để có được lợi nhuận dư thừa trong khi kiểm soát rủi ro. Bằng cách tối ưu hóa liên tục và điều chỉnh tham số, kết quả tốt hơn có thể đạt được.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 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("simple pull back", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//input value 
malongperiod=input.int(200,"長期移動平均BASE200/period of long term sma",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10/period of short term sma",group = "パラメータ")
stoprate=input.int(5,title = "損切の割合%/stoploss percentages",group = "パラメータ")
profit=input.int(20,title = "利食いの割合%/take profit percentages",group = "パラメータ")
startday=input(title="バックテストを始める日/start trade day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日/finish date day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")


//polt indicators that we use 
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)

plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)

//date range 
datefilter = true

//open conditions
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)
    
//sell conditions 
strategy.exit(id="cut",from_entry="long",stop=(1-0.01*stoprate)*strategy.position_avg_price,limit=(1+0.01*profit)*strategy.position_avg_price)


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




Thêm nữa