Chiến lược sức mạnh đảo ngược


Ngày tạo: 2023-11-21 11:36:48 sửa đổi lần cuối: 2023-11-21 11:36:48
sao chép: 0 Số nhấp chuột: 667
1
tập trung vào
1617
Người theo dõi

Chiến lược sức mạnh đảo ngược

Tổng quan

Chiến lược này kết hợp chiến lược đảo ngược với chiến lược mạnh mẽ của Brin, tạo ra tín hiệu giao dịch kết hợp, thực hiện chức năng kép theo dõi xu hướng và nắm bắt đảo ngược.

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

Phản hồi

Theo logic của chiến lược đảo ngược trong trang 183 của cuốn sách Làm thế nào tôi có được 3 lần lợi nhuận trong thị trường tương lai của Chu Chen: Khi giá đóng cửa cao hơn giá đóng cửa ngày trước 2 ngày liên tiếp và đường chậm của chỉ số ngẫu nhiên ngày 9 thấp hơn 50, làm nhiều; Khi giá đóng cửa thấp hơn giá đóng cửa ngày trước 2 ngày liên tiếp và đường nhanh của chỉ số ngẫu nhiên ngày 9 cao hơn 50, làm rỗng.

Phần mạnh

Dựa trên chỉ số sức mạnh của Dr. Alexander Ayer của Brin: Sử dụng đường trung bình di chuyển chỉ số 13 ngày để thể hiện sự đồng thuận về giá trị thị trường, chỉ số sức mạnh đa đầu phản ánh khả năng của người mua để thúc đẩy giá cao hơn sự đồng thuận về giá trị, và chỉ số sức mạnh trên không phản ánh khả năng của người bán để thúc đẩy giá thấp hơn sự đồng thuận về giá trị. Chỉ số sức mạnh đa đầu được tính là giá cao nhất trong ngày trừ đi đường trung bình di chuyển chỉ số 13 ngày, chỉ số sức mạnh trên không là giá thấp nhất trong ngày trừ đi đường trung bình di chuyển chỉ số 13 ngày.

Chiến lược này đặt ngưỡng của chỉ số mạnh là 0, tức là khi chỉ số mạnh> 0 sẽ tạo ra tín hiệu giao dịch.

Tín hiệu tổng hợp

Khi các tín hiệu giao dịch của chiến lược đảo ngược và chiến lược mạnh mẽ phù hợp, tín hiệu giao dịch cuối cùng được tạo ra. Nhập nhiều tín hiệu là kết hợp của tín hiệu đảo ngược và tín hiệu mạnh mẽ; tín hiệu hỏng là kết hợp của tín hiệu đảo ngược và tín hiệu mạnh mẽ.

Phân tích lợi thế

Đây là một chiến lược tổng hợp, tạo ra tín hiệu giao dịch bằng cách sử dụng cả chiến lược đảo ngược và chiến lược theo dõi xu hướng cùng một lúc, cùng với lợi thế của việc nắm bắt đà phản hồi và theo dõi xu hướng.

Phần đảo ngược có thể khóa cơ hội đảo ngược sau khe hở nhảy vọt. Phần mạnh sẽ đảm bảo chỉ mở vị trí khi có xu hướng. Kết hợp với nhau, có thể lọc hiệu quả phá vỡ giả và tránh bị đặt.

Các tham số được tối ưu hóa linh hoạt hơn, có thể được điều chỉnh cho các giống và chu kỳ khác nhau để tìm kiếm các kết hợp tham số tối ưu nhất.

Phân tích rủi ro

Chiến lược đảo ngược và chiến lược mạnh mẽ có khả năng thấp hơn hoặc không nhìn thấy nhiều, tần số phát sinh tín hiệu có thể không cao, có một mức độ rủi ro về tín hiệu khan hiếm.

Phần đảo ngược có thể đánh giá sai sự điều chỉnh dao động trong đĩa là cơ hội đảo ngược, do đó xây dựng cơ sở sớm. Phần mạnh có thể bỏ lỡ một phần cơ hội đảo ngược. Việc sử dụng cả hai kết hợp có thể làm giảm thiểu các rủi ro này ở một mức độ nhất định.

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

  1. Cố gắng thử nhiều hơn để tìm ra giải pháp tốt nhất.
  2. Thêm mô-đun đánh giá xu hướng để tránh lập vị thế lặp đi lặp lại khi không có xu hướng rõ ràng;
  3. Xem xét thêm chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ.

Tóm tắt

Chiến lược này bao gồm cả theo dõi xu hướng và tính năng giao dịch đảo ngược, có thể được gọi là chiến lược tổng hợp. Thông qua tối ưu hóa tham số, có thể mong đợi thu nhập ổn định tốt. Đồng thời, cũng cần lưu ý đến nguy cơ giảm tín hiệu và phán đoán sai, sau này có thể được tối ưu hóa từ việc giới thiệu các mô-đun phán đoán xu hướng và dừng lỗ, làm cho hiệu suất chiến đấu thực tế của chiến lược trở nên xuất sắc hơn.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/06/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
// Developed by Dr Alexander Elder, the Elder-ray indicator measures buying 
// and selling pressure in the market. The Elder-ray is often used as part 
// of the Triple Screen trading system but may also be used on its own.
// Dr Elder uses a 13-day exponential moving average (EMA) to indicate the 
// market consensus of value. Bull Power measures the ability of buyers to 
// drive prices above the consensus of value. Bear Power reflects the ability 
// of sellers to drive prices below the average consensus of value.
// Bull Power is calculated by subtracting the 13-day EMA from the day's High. 
// Bear power subtracts the 13-day EMA from the day's Low.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// 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

BP(Trigger,Length) =>
    pos = 0
    DayHigh = 0.0
    xPrice = close
    xMA = ema(xPrice,Length)
    DayHigh := iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))
    nRes = DayHigh - xMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes < Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Elder Ray (Bull Power)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthBP = input(13, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBP = BP(Trigger,LengthBP)
pos = iff(posReversal123 == 1 and posBP == 1 , 1,
	   iff(posReversal123 == -1 and posBP == -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 )