Chiến lược đảo ngược đột phá động lượng nhị phân


Ngày tạo: 2024-02-28 17:20:02 sửa đổi lần cuối: 2024-02-28 17:20:02
sao chép: 0 Số nhấp chuột: 633
1
tập trung vào
1617
Người theo dõi

Chiến lược đảo ngược đột phá động lượng nhị phân

Tổng quan

Chiến lược đảo ngược phá vỡ động lực kép bằng cách kết hợp chỉ số Stocks và chỉ số Bulls, thực hiện lọc tín hiệu kép, giao dịch đảo ngược tại các điểm biến động của thị trường, theo đuổi vượt quá.

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

Chiến lược này bao gồm hai phần:

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

Sử dụng Ulf Jansen trong cuốn sách của ông Cách tôi tăng gấp ba lần số tiền của tôi trên thị trường tương lai Chiến lược đảo ngược. Khi giá đóng cửa cao hơn giá đóng cửa ngày trước 2 ngày liên tiếp, và chỉ số cổ phiếu K-đường chậm 9 ngày thấp hơn 50, 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à chỉ số cổ phiếu K-đường nhanh 9 ngày cao hơn 50.

  1. Chỉ số bò

Sử dụng chỉ số động lực của Vadim Gimel Fab trong cuốn sách của ông về cân bằng của con bò đực và con gấu. Nó đánh giá sức mạnh của không gian dư thừa bằng cách tính toán mối quan hệ của dòng K hiện tại với dòng K trước đó và cung cấp tín hiệu làm không gian dư thừa.

Chiến lược này kết hợp hai chiến lược tín hiệu đơn trên, phát ra tín hiệu giao dịch khi cả hai tín hiệu phù hợp, bằng cách lọc kép để giảm tín hiệu giả.

Phân tích lợi thế

Chiến lược này kết hợp các ưu điểm của chiến lược đảo ngược và chiến lược theo dõi, có thể bắt kịp khi có tín hiệu đảo ngược trên thị trường, đồng thời giảm tín hiệu giả thông qua lọc hai tín hiệu, tránh theo đuổi đà giảm. Các ưu điểm cụ thể như sau:

  1. Sử dụng hình thức 123 để đánh giá điểm đảo ngược của thị trường, có thể xác định điểm quá bán quá mua.
  2. Cơ chế lọc tín hiệu kép, tránh tín hiệu giả do chỉ số duy nhất tạo ra, cải thiện chất lượng tín hiệu.
  3. Sử dụng phương pháp giao dịch đảo ngược để nắm bắt các cơ hội từ xu hướng của thị trường.
  4. Các tham số được tối ưu hóa rộng rãi, có thể điều chỉnh các tham số chỉ số để phù hợp với môi trường thị trường khác nhau.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro, các nguồn chính là:

  1. Rủi ro thất bại của sự đảo ngược. Có một số khó khăn trong việc nhận ra tín hiệu đảo ngược, và có rất nhiều khả năng giá sẽ tiếp tục chạy theo xu hướng ban đầu sau khi tín hiệu đảo ngược được phát hành.
  2. Mất cơ hội giao dịch khi các tín hiệu lọc kép không phù hợp.
  3. Các tham số không chính xác gây ra sự nhận dạng tín hiệu đảo ngược không chính xác.
  4. Chiến lược này phù hợp hơn với các giao dịch đường dài và đường ngắn.

Phản ứng như sau:

  1. Sử dụng chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ.
  2. Các tham số tối ưu hóa, các giống khác nhau có thể chọn các kết hợp tham số khác nhau.
  3. Kết hợp với các chỉ số khác để đánh giá hỗ trợ.

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

Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:

  1. Kiểm tra ảnh hưởng của các tham số khác nhau đối với hiệu quả của chiến lược, tìm kiếm sự kết hợp tối ưu của các tham số. Ví dụ: tham số chu kỳ của chỉ số điều chỉnh Stochke, tham số làm mịn của chỉ số KDJ, v.v.
  2. Thêm chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ. Bạn có thể đặt mức dừng lỗ kết hợp với chỉ số ATR.
  3. Kiểm tra tín hiệu kết hợp với các chỉ số khác. Nếu các chỉ số như MACD, KD, RSI tạo ra tín hiệu, hãy xem xét phát tín hiệu giao dịch.
  4. Sử dụng thuật toán học máy để tối ưu hóa các tham số, thực hiện điều chỉnh động của tham số.

Tóm tắt

Chiến lược đảo ngược đột phá động lực kép, thông qua sự kết hợp của chỉ số Stoker và chỉ số Bull, thực hiện lọc tín hiệu kép và giao dịch đảo ngược. Nó có thể nắm bắt cơ hội đảo ngược thị trường và tránh tiếng ồn do tín hiệu đơn tạo ra, là một chiến lược định lượng ổn định và hiệu quả. Chiến lược này có thể được cải thiện bằng cách tối ưu hóa tham số, chiến lược dừng lỗ, kiểm tra tín hiệu, v.v., thích nghi với nhiều loại khác nhau và môi trường thị trường, có rất nhiều không gian tối ưu hóa và triển vọng ứng dụng.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/07/2019
// 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
//  Bull Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// 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

BullPower(SellLevel, BuyLevel) =>
    pos = 0
    value = iff (close < open ,  
             iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)),
              iff (close > open, 
               iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
                 iff(high - close > close - low, 
                  iff (close[1] < open, max(high - close[1], close - low), high - open), 
                   iff (high - close < close - low, 
                     iff(close[1] > open,  high - low, max(open - close, high - low)), 
                      iff (close[1] > open, max(high - open, close - low),
                       iff(close[1] < open, max(open - close, high - low), high - low))))))
    pos := iff(value > SellLevel, -1,
	         iff(value <= BuyLevel, 1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & 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)
//-------------------------
SellLevel = input(15, step=1)
BuyLevel = input(3, step=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullPower = BullPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullPower == 1 , 1,
	   iff(posReversal123 == -1 and posBullPower == -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 )