Chiến lược đột phá đảo ngược đường trung bình động kép


Ngày tạo: 2023-12-18 10:24:08 sửa đổi lần cuối: 2023-12-18 10:24:08
sao chép: 0 Số nhấp chuột: 600
1
tập trung vào
1621
Người theo dõi

Chiến lược đột phá đảo ngược đường trung bình động kép

Tổng quan

Chiến lược phá vỡ hai đường cong ngược là một chiến lược kết hợp hai chiến lược 123 đường cong ngược và chiến lược chênh lệch giữa giá và đường cong. Ý tưởng chính của chiến lược này là tạo ra tín hiệu giao dịch khi 123 đường cong ngược tạo ra tín hiệu đồng thời, và chênh lệch giữa giá và đường cong của chu kỳ được chỉ định cũng tạo ra tín hiệu tương ứng.

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

Chiến lược phá vỡ bằng hai đường cong có hai phần:

  1. 123 Chiến lược đảo ngược

Các tín hiệu giao dịch của chiến lược đảo ngược 123 là: giá đóng cửa đảo ngược hai ngày liên tiếp ((đó là giá đóng cửa cao ngày trước, ngày tiếp theo đóng cửa thấp; hoặc ngày trước đóng cửa thấp, ngày tiếp theo đóng cửa cao), trong khi đường K chỉ số ngẫu nhiên ngày 9 nằm dưới một mức nhất định ((thông nhận 50), do đó tạo ra tín hiệu mua; giá đóng cửa đảo ngược hai ngày liên tiếp, trong khi đường K chỉ số ngẫu nhiên ngày 9 cao hơn một mức nhất định ((thông nhận 50), do đó tạo ra tín hiệu bán.

  1. Chiến lược chênh lệch giá và đường trung bình

Phương pháp chênh lệch giá với đường trung bình, là phần trăm chênh lệch giá với đường trung bình của chu kỳ được chỉ định (từ 14 ngày mặc định). Khi chênh lệch nhỏ hơn một mức nhất định (từ 3% mặc định), nó tạo ra tín hiệu mua và khi chênh lệch lớn hơn một mức nhất định (từ 0,54%) nó tạo ra tín hiệu bán.

Chiến lược phá vỡ đảo ngược hai đường ngang, chiến lược này chỉ tạo ra tín hiệu giao dịch thực tế khi tín hiệu giao dịch của cả hai chiến lược trên đồng bộ, tức là cả hai đều mua hoặc cả hai đều bán.

Phân tích lợi thế

Chiến lược phá vỡ đảo ngược hai đường cong kết hợp các ưu điểm của chiến lược đảo ngược và chiến lược xu hướng, có thể được gọi là kéo dài và rút ngắn.

Chiến lược đảo ngược là một chiến lược đảo ngược, có thể nắm bắt cơ hội đảo ngược khi giá đảo ngược. Trong khi đó, chiến lược chênh lệch giữa giá và đường trung bình là một chiến lược theo dõi xu hướng, có thể nắm bắt xu hướng trên đường dài hơn.

Ngoài ra, bằng cách yêu cầu hai chiến lược tín hiệu đồng bộ, có thể giảm hiệu quả số lần giao dịch không hiệu quả và tăng tỷ lệ tín hiệu ồn.

Phân tích rủi ro

Chiến lược phá vỡ hai đường thẳng, mặc dù sử dụng lợi thế của cả hai chiến lược, nhưng cũng có những rủi ro riêng của cả hai chiến lược.

Đối với phần 123 đảo ngược, hai ngày liên tiếp đảo ngược không đảm bảo hoàn toàn sự đảo ngược giá, có thể là sự đảo ngược sai do điều chỉnh ngắn hạn của thị trường. Ngoài ra, cài đặt tham số chỉ số ngẫu nhiên không đúng cách cũng có thể dẫn đến giảm chất lượng tín hiệu.

Đối với phần chênh lệch giữa giá và đường trung bình, thiết lập tham số đường trung bình không đúng có thể gây ra sự chậm trễ tín hiệu. Ngoài ra, chênh lệch giữa giá và đường trung bình không thể xác định hướng xu hướng, chỉ có thể tạo tín hiệu bằng máy.

Tóm lại, rủi ro chính của chiến lược này là đặt tham số không đúng và phán đoán sai. Có thể tránh rủi ro bằng cách tối ưu hóa tham số, đặt trạm dừng lỗ, hoặc giao dịch can thiệp nhân tạo.

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

Chiến lược đột phá đảo ngược hai đường đều có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa đường trung bình và tham số chỉ số ngẫu nhiên để cải thiện chất lượng tín hiệu
  2. Thêm bộ lọc cho các chỉ số khác để đảm bảo tín hiệu giao dịch đáng tin cậy hơn
  3. Thêm thiết lập Stop Loss
  4. Thêm mô-đun đánh giá xu hướng để tránh giao dịch không phù hợp
  5. Sự can thiệp của con người và các tham số thích nghi

Sự kết hợp của nhiều phương tiện có thể làm tăng thêm sự ổn định và lợi nhuận của chiến lược.

Tóm tắt

Chiến lược đột phá đảo ngược hai đường thẳng có lợi thế của chiến lược đảo ngược và chiến lược xu hướng, tạo ra tín hiệu giao dịch thực tế khi cả hai chiến lược tín hiệu đồng bộ. Nó có thể nắm bắt cơ hội đảo ngược giá trong thời gian ngắn và theo dõi xu hướng dài hạn để tránh bị bao vây. Đồng thời có thể tăng độ tin cậy của tín hiệu bằng cách kết hợp tín hiệu kép.

Mã nguồn chiến lược
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/04/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Percent difference between price and MA
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


DBP_MA(Length,SellZone,BuyZone) =>
    pos = 0.0
    xSMA = sma(close, Length)
    nRes = abs(close - xSMA) * 100 / close
    pos:= iff(nRes < BuyZone, 1,
           iff(nRes > SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Difference between price and MA", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Difference between price and MA ----")
LengthDBP = input(14, minval=1)
SellZone = input(0.54, minval=0.01, step = 0.01)
BuyZone = input(0.03, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDBP_MA = DBP_MA(LengthDBP,SellZone,BuyZone)
pos = iff(posReversal123 == 1 and posDBP_MA == 1 , 1,
	   iff(posReversal123 == -1 and posDBP_MA == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )