Chiến lược đảo ngược va chạm nhiều chỉ số


Ngày tạo: 2024-01-04 18:02:12 sửa đổi lần cuối: 2024-01-04 18:02:12
sao chép: 0 Số nhấp chuột: 385
1
tập trung vào
1218
Người theo dõi

Chiến lược đảo ngược va chạm nhiều chỉ số

Tổng quan

Chiến lược này thiết kế một chiến lược đảo ngược hiệu quả bằng cách kết hợp các tín hiệu chỉ số kép. Đầu tiên, nó tích hợp một tín hiệu đảo ngược dựa trên các chỉ số ngẫu nhiên và một hệ thống theo dõi số ngày tăng liên tục, chiến lược này sẽ đặt hàng khi hai tín hiệu đồng thời kích hoạt mua hoặc bán. Cơ chế va chạm nhiều chỉ số này có thể lọc một số tín hiệu không hiệu quả một cách hiệu quả, do đó tăng tỷ lệ chiến thắng của chiến lược.

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

Chiến lược này bao gồm hai phần tín hiệu chỉ số. Phần đầu tiên là hệ thống đảo ngược 123, nó quan sát sự thay đổi của giá đóng cửa trong hai ngày gần đây, và giá chỉ số ngẫu nhiên chậm với chênh lệch chuẩn là 3. Cụ thể, nếu giá đóng cửa trong một ngày hiện tại thấp hơn giá đóng cửa hai ngày trước, giá đóng cửa hôm nay cao hơn giá đóng cửa hôm qua, và 9 ngày chỉ số ngẫu nhiên chậm thấp hơn 50, làm nhiều hơn; ngược lại, khi giá đóng cửa ngày hôm nay thấp hơn giá đóng cửa hôm qua và chỉ số ngẫu nhiên nhanh hơn 50.

Phần thứ hai của chỉ số theo dõi số ngày tăng liên tục trong n ngày gần đây nhất. Nếu n ngày gần đây nhất đều tăng, xuất 1 hoặc xuất 0 . Chỉ số này được sử dụng để xác định sự hình thành của xu hướng.

Cuối cùng, chiến lược này sẽ chỉ thực hiện giao dịch khi 123 tín hiệu đảo ngược và ngày tăng liên tục đồng thời xuất hiện trong trạng thái mua hoặc bán. Phương thức tăng trọng lượng va chạm đa chỉ số này có thể lọc ra một số tín hiệu không hiệu quả, do đó cải thiện sự ổn định của chiến lược tổng thể.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược kết hợp nhiều chỉ số này là có thể cải thiện độ tin cậy của tín hiệu và lọc một số tín hiệu không hiệu quả. Cụ thể, có một số lợi thế chính như sau:

  1. 123 Reversal tự nó có một chức năng lọc, có thể tránh bị nhiễu. Kết hợp với việc theo dõi các chỉ số ngày tăng, có thể xác định xu hướng hơn nữa, tránh đảo ngược.

  2. Các tham số chỉ số ngẫu nhiên được thiết lập để so sánh đường nhanh chậm giữa ngày 9 và ngày 3, có thể làm mượt các thay đổi tham số, tránh bị xáo trộn bởi biến động ngắn hạn, tăng sự ổn định.

  3. Các tham số có thể tùy chỉnh, bao gồm tham số chỉ số stoch, số ngày tăng, v.v., có thể điều chỉnh tham số cho các thị trường khác nhau để cải thiện khả năng thích ứng.

  4. Có thể chọn hướng giao dịch đảo ngược, có nhiều cơ hội giao dịch, có thể kiếm lợi nhuận bằng cách hoạt động ngược.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro, chủ yếu tập trung vào các khía cạnh sau:

  1. Mặc dù kết hợp nhiều chỉ số có thể cải thiện độ chính xác tín hiệu, nhưng cũng có thể bỏ lỡ một số cơ hội, làm giảm giới hạn lợi nhuận chiến lược.

  2. Các tín hiệu đảo ngược có nguy cơ bị mắc kẹt, cần thiết lập dừng lỗ để kiểm soát nguy cơ.

  3. Thiết lập tham số không đúng cũng ảnh hưởng đến hiệu suất của chiến lược và cần điều chỉnh tham số theo thị trường khác nhau.

  4. Việc nắm giữ lâu dài mà không dừng lại kịp thời hoặc theo đuổi sự đảo ngược của cổ phiếu cũng có thể mang lại một số rủi ro.

Theo đó, các biện pháp sau đây có thể được áp dụng để kiểm soát rủi ro:

  1. Điều kiện tham số được nới lỏng một cách thích hợp, giữ lại nhiều cơ hội giao dịch hơn.

  2. Thiết lập điểm dừng để kiểm soát tổn thất đơn lẻ

  3. Tối ưu hóa tham số và xây dựng quy tắc tham số cho các thị trường khác nhau.

  4. Tránh giữ một cổ phiếu duy nhất trong thời gian dài và giữ cho vốn lưu động.

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

Chiến lược đảo ngược đa chỉ số này có rất nhiều khả năng để tối ưu hóa, chủ yếu là từ các khía cạnh sau:

  1. Kiểm tra nhiều hơn các kết hợp các chỉ số để tìm kiếm các chiến lược kết hợp các chỉ số phù hợp hơn.

  2. Sử dụng thuật toán học máy để tự động tối ưu hóa các tham số chỉ số.

  3. Thêm các điều kiện dừng lỗ và dừng lại để làm cho chiến lược trở nên vững chắc hơn.

  4. Trong phần chỉ số xu hướng, bạn có thể kiểm tra các chỉ số khác nhau về chu kỳ thời gian.

  5. Đánh giá sự phù hợp của các thị trường khác nhau như chỉ số chứng khoán, ngoại hối, kim loại quý và tiền điện tử.

  6. Thiết kế chiến lược tổng hợp, đồng thời đánh giá nhiều thị trường, điều chỉnh vị trí động.

Tóm tắt

Chiến lược này được thiết kế bằng cách kết hợp nhiều chỉ số một cách khéo léo, thiết kế một chiến lược giao dịch đảo ngược có hiệu quả cao và ổn định. So với chỉ số đơn, cơ chế va chạm nhiều chỉ số này có thể lọc hiệu quả các tín hiệu giả. Đồng thời, chiến lược này cũng cập nhật chiến lược đảo ngược truyền thống, thêm các chỉ số xu hướng mới làm tín hiệu xác nhận.

Mã nguồn chiến lược
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/03/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
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBU(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] >= open[1], nz(nCounter[1],0)+1,
                  iff(close[1] < open[1], 0, nCounter))
    C1 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Up", 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, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
	   iff(posReversal123 == -1 and posNBU == -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 )