Chiến lược lướt sóng


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

Chiến lược lướt sóng

Tổng quan

Chiến lược lướt sóng là một chiến lược kết hợp để đạt được tín hiệu giao dịch đáng tin cậy hơn bằng cách kết hợp các chiến lược theo xu hướng khác nhau. Nó tích hợp chiến lược đảo ngược 123 và chiến lược ECO nhằm tạo ra tín hiệu giao dịch chính xác hơn sau khi xác nhận xu hướng.

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

Chiến lược Troll là sự kết hợp giữa hai loại chiến lược khác nhau: chiến lược đảo ngược và chiến lược theo xu hướng.

Đầu tiên, 123 là một chiến lược đảo ngược. Nó sử dụng thông tin K-line để xác định giá có tín hiệu đảo ngược hay không. SIGNAL CHO BÁO khi giá đóng cửa hôm qua cao hơn ngày trước, và giá đóng cửa hôm nay thấp hơn ngày hôm qua, và ngày 9 SLOW K thấp hơn 50, SIGNAL BÁO khi giá đóng cửa hôm qua thấp hơn ngày trước, và giá đóng cửa hôm nay cao hơn ngày hôm qua, và ngày 9 FAST K cao hơn 50.

Thứ hai, chiến lược ECO thuộc chiến lược theo xu hướng. Nó sử dụng kích thước thực thể và hướng của đường K của giá để tính toán động lực để xác định hướng của xu hướng. Chỉ số ECO cao hơn 0 cho thấy xu hướng tăng và thấp hơn 0 cho thấy xu hướng giảm.

Chiến lược Trotter tích hợp các tín hiệu của cả hai chiến lược. Chỉ khi cả hai chiến lược phát tín hiệu đồng chiều, chẳng hạn như ECO cho thấy xu hướng tăng và chiến lược 123 đảo ngược cũng phát tín hiệu mua, thì sẽ mở vị trí để thiết lập vị trí. Điều này có thể tránh việc giao dịch bị tổn thất do phán đoán sai của một chiến lược duy nhất.

Phân tích lợi thế

So với một chiến lược đơn lẻ, chiến lược người lang thang có những ưu điểm sau:

  1. Kết hợp các chiến lược đảo ngược và xu hướng, kéo dài và rút ngắn, làm cho tín hiệu giao dịch đáng tin cậy hơn. ECO đảm bảo chỉ đảo ngược trước khi xu hướng thay đổi và tránh tín hiệu đảo ngược xảy ra giữa xu hướng.

  2. 123 Chiến lược đảo ngược sử dụng chỉ số stochastic để xác định khu vực quá mua quá bán, chiến lược ECO để xác định hướng động lượng giá, cả hai đều bổ sung cho nhau, có thể làm giảm xác suất sai lầm.

  3. Cơ chế lọc kép đảm bảo chỉ mở vị trí khi cả hai chiến lược được đánh giá là cùng hướng, làm giảm đáng kể rủi ro giao dịch.

  4. Các tham số có thể được thiết lập linh hoạt, có thể điều chỉnh các tham số cho các thị trường khác nhau để phù hợp với môi trường thị trường rộng hơn.

  5. Sử dụng khung thời gian đa dạng để đánh giá xu hướng đường dài và đường trung bình, bạn có thể nắm bắt nhiều cơ hội giao dịch hơn.

Phân tích rủi ro

Mặc dù các chiến lược của người lang thang có thể giảm thiểu rủi ro của một chiến lược đơn lẻ bằng cách sử dụng nhiều chiến lược kết hợp, nhưng giao dịch vẫn có những rủi ro sau:

  1. 123 Chiến lược đảo ngược có khả năng đánh giá yếu về tình hình chấn động, có thể tạo ra các tín hiệu đảo ngược liên tục dẫn đến sự gia tăng tổn thất.

  2. Chiến lược ECO kém hiệu quả khi năng lượng không đủ và nên tránh sử dụng trong môi trường có lượng thấp.

  3. Khi lọc các tín hiệu của hai chiến lược, có thể bỏ qua một số tín hiệu lợi nhuận được phát ra bởi các chiến lược riêng lẻ.

  4. Thiết lập tham số không đúng có thể dẫn đến tín hiệu sai của chiến lược. Các tham số nên được điều chỉnh để chiến lược phù hợp với thị trường khác nhau.

  5. Chiến lược này có thể không phù hợp với một số tình huống thị trường đặc biệt, chẳng hạn như khi xảy ra sự kiện Black Swan quan trọng.

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

Tuy nhiên, các chiến lược của người lang thang có thể được tối ưu hóa hơn nữa:

  1. Có thể xem xét thêm chiến lược dừng lỗ, tự động dừng lỗ khi lỗ đạt đến điểm dừng lỗ.

  2. Bạn có thể thử nghiệm các tham số đường trung bình khác nhau để tìm các tổ hợp tham số ổn định hơn.

  3. Bạn có thể cố gắng tự điều chỉnh các tham số dựa trên học máy để các tham số chính sách được điều chỉnh động.

  4. Có thể thêm nhiều Auxiliary Strategies hỗ trợ phán đoán để tăng thêm độ chính xác của tín hiệu.

  5. Có thể kiểm tra tính ổn định trong các môi trường thị trường khác nhau, điều chỉnh tham số để phù hợp với thị trường rộng hơn.

  6. Có thể phát triển hệ thống tự động thực hiện và phản hồi để tối ưu hóa chiến lược nghiêm ngặt hơn.

Tóm tắt

Tóm lại, chiến lược Troll có thể đạt được lợi nhuận vượt xa thị trường lớn bằng cách tích hợp chiến lược đảo ngược và chiến lược theo dõi xu hướng để xác nhận tín hiệu giao dịch hai lần, trong khi vẫn có một số rủi ro. Chiến lược này có tính linh hoạt, có thể kiểm soát rủi ro và phù hợp với các nhà đầu tư tìm kiếm thu nhập ổn định lâu dài.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/2020
// 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
// We call this one the ECO for short, but it will be listed on the indicator list 
// at W. Blau’s Ergodic Candlestick Oscillator. The ECO is a momentum indicator. 
// It is based on candlestick bars, and takes into account the size and direction 
// of the candlestick "body". We have found it to be a very good momentum indicator, 
// and especially smooth, because it is unaffected by gaps in price, unlike many other 
// momentum indicators.
// We like to use this indicator as an additional trend confirmation tool, or as an 
// alternate trend definition tool, in place of a weekly indicator. The simplest way 
// of using the indicator is simply to define the trend based on which side of the "0" 
// line the indicator is located on. If the indicator is above "0", then the trend is up. 
// If the indicator is below "0" then the trend is down. You can add an additional 
// qualifier by noting the "slope" of the indicator, and the crossing points of the slow 
// and fast lines. Some like to use the slope alone to define trend direction. If the 
// lines are sloping upward, the trend is up. Alternately, if the lines are sloping 
// downward, the trend is down. In this view, the point where the lines "cross" is the 
// point where the trend changes.
// When the ECO is below the "0" line, the trend is down, and we are qualified only to 
// sell on new short signals from the Hi-Lo Activator. In other words, when the ECO is 
// above 0, we are not allowed to take short signals, and when the ECO is below 0, we 
// are not allowed to take long signals. 
//
// 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

ECO(r,s) =>
    pos = 0
    xCO = close - open
    xHL = high - low
    xEMA = ema(ema(xCO, r), s)
    xvEMA = ema(ema(xHL, r), s)
    nRes = 100 * (xEMA / xvEMA)
    pos := iff(nRes > 0, 1,
	         iff(nRes <= 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & ECO Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(12, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posECO = ECO(r,s)
pos = iff(posReversal123 == 1 and posECO == 1 , 1,
	   iff(posReversal123 == -1 and posECO == -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 )