Chiến lược giao dịch dao động trung bình động đôi

Tác giả:ChaoZhang, Ngày: 2023-12-04 15:28:12
Tags:

img

Tổng quan

Chiến lược giao dịch dao động trung bình di chuyển kép tạo ra tín hiệu giao dịch bằng cách kết hợp trung bình di chuyển theo hàm số 2/20 và chỉ số dao động vùng giá thích nghi để kiếm lợi nhuận trong thị trường dao động. Chiến lược này chủ yếu phù hợp với các thị trường có đặc điểm dao động rõ ràng, chẳng hạn như chỉ số chứng khoán, ngoại hối, hàng hóa và tiền kỹ thuật số.

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

Chiến lược giao dịch dao động trung bình động đôi bao gồm hai phần:

  1. Chỉ số này tạo ra tín hiệu mua khi giá vượt qua đường 20 ngày và không vượt qua đường 2 ngày khi tăng; nó tạo ra tín hiệu bán khi giá vượt qua đường 2 ngày và không vượt quá đường 20 ngày khi giảm.

  2. Chỉ số dao động khu vực giá thích nghi. Chỉ số này xây dựng dải giá dựa trên phạm vi biến động của giá và đánh giá các điểm chuyển đổi thị trường bằng cách giá vượt qua dải giá trên và dưới để tạo ra tín hiệu mua và bán.

Chiến lược giao dịch dao động trung bình di chuyển kép chỉ tạo ra tín hiệu giao dịch thực tế khi trung bình di chuyển theo hàm số 2/20 và chỉ số dao động vùng giá thích nghi phát ra tín hiệu cùng một lúc để thực hiện chiến lược giao dịch. Điều này có thể lọc hiệu quả một số tín hiệu không hợp lệ và cải thiện chất lượng tín hiệu.

Phân tích lợi thế

Chiến lược giao dịch dao động trung bình động đôi kết hợp các lợi thế của các chỉ số trung bình động và các chỉ số biến động, với các đặc điểm sau:

  1. Các tín hiệu giao dịch đáng tin cậy. Kiểm tra hai chỉ số cải thiện chất lượng tín hiệu và lọc các tín hiệu không hợp lệ một cách hiệu quả.

  2. Điều chỉnh cho thị trường dao động. Việc sử dụng kết hợp các chỉ số trung bình động và dải giá có thể xác định chính xác các điểm chuyển đổi trong thị trường dao động.

  3. Tần suất hoạt động vừa phải. So với chiến lược đường trung bình di chuyển nhân tố kép, nó có thể làm giảm sự xuất hiện của các giao dịch không hợp lệ.

  4. Dễ dàng thực hiện giao dịch tự động. Các quy tắc tín hiệu là rõ ràng và các thông số là đơn giản để thiết lập, dễ dàng lập trình để đạt được giao dịch tự động.

Phân tích rủi ro

Chiến lược giao dịch dao động trung bình di chuyển đôi cũng có những rủi ro sau:

  1. Sự chậm trễ của tín hiệu có thể lớn. Kết hợp các chỉ báo kép để lọc tín hiệu có thể bỏ lỡ cơ hội đảo ngược giá nhanh chóng.

  2. Hiệu suất kém khi dao động suy yếu. Chiến lược dựa chủ yếu vào thị trường dao động, và tín hiệu giao dịch và lợi nhuận sẽ giảm khi biến động suy yếu.

  3. Tác động đáng kể của tối ưu hóa tham số. Cài đặt tham số chỉ số có thể có tác động lớn hơn đến kết quả giao dịch và cần phải được tối ưu hóa một cách có hệ thống cho các tham số tối ưu.

Để đáp ứng các rủi ro trên, các phương pháp như điều chỉnh động các tham số có thể được áp dụng để thích nghi với những thay đổi môi trường thị trường, đồng thời thiết lập các chiến lược dừng lỗ để kiểm soát rủi ro giảm.

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

Chiến lược giao dịch dao động trung bình động đôi có thể được tối ưu hóa trong các khía cạnh sau:

  1. Kiểm tra nhiều sự kết hợp của các đường trung bình động và dải giá.

  2. Thêm chỉ số khối lượng vào các tín hiệu lọc. Kết hợp các tín hiệu khối lượng giao dịch bất thường để lọc các tín hiệu giá của đường trung bình động có thể cải thiện thêm chất lượng tín hiệu.

  3. Thiết lập cơ chế dừng lỗ năng động. Khi biến động thị trường suy yếu, thắt chặt các điểm dừng lỗ để giảm lỗ đơn.

  4. Sử dụng LSTM và các mô hình học sâu khác để xác minh tín hiệu giao dịch để làm cho các chiến lược thông minh hơn.

Tóm lại

Chiến lược giao dịch dao động trung bình động đôi tạo ra tín hiệu giao dịch dao động chất lượng cao bằng cách kết hợp trung bình dao động theo hàm số 2/20 và chỉ số dao động vùng giá thích nghi, có thể thích nghi với các thị trường biến động như chỉ số chứng khoán, ngoại hối, hàng hóa có biến động lớn và điều hành sự điều chỉnh giao dịch thường xuyên trong phạm vi dao động. Chiến lược có những lợi thế như chất lượng tín hiệu cao và tự động hóa dễ dàng. Đồng thời, các rủi ro như xác định chậm các điểm chuyển đổi và điều chỉnh năng động các thông số cũng cần được kiểm soát, và vẫn còn nhiều chỗ để tối ưu hóa trên cơ sở này.


/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/03/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors 
// identify possible market turning points, which can be especially useful in a sideways-moving 
// market. It was created by technical analyst Lee Leibfarth in the article “Identify the 
// Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue 
// of the journal Technical Analysis of Stocks and Commodities.
// This indicator attempts to signal significant price movements by using a set of bands based on 
// short-term, double-smoothed exponential moving averages that lag only slightly behind price changes. 
// It can help short-term investors and day traders profit in volatile markets by signaling price 
// reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be 
// implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

APZ(nPeriods,nBandPct) =>
    pos = 0.0
    xHL = high - low
    nP = math.ceil(math.sqrt(nPeriods))
    xVal1 = ta.ema(ta.ema(close,nP), nP)
    xVal2 = ta.ema(ta.ema(xHL,nP), nP)
    UpBand = nBandPct * xVal2 + xVal1
    DnBand = xVal1 - nBandPct * xVal2
    pos := low < DnBand ? 1 : high > UpBand ? -1 : pos[1] 
    pos

strategy(title='Combo 2/20 EMA & Adaptive Price Zone', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Adaptive Price Zone  ═════●'
nPeriods = input(20)
nBandPct = input(2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)

StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAPZ = APZ(nPeriods,nBandPct)
iff_1 = posEMA20 == -1 and prePosAPZ == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAPZ == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)

Thêm nữa