Chiến lược theo dõi chỉ báo cơ sở kép


Ngày tạo: 2024-01-26 15:42:36 sửa đổi lần cuối: 2024-01-26 15:42:36
sao chép: 0 Số nhấp chuột: 585
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi chỉ báo cơ sở kép

Tổng quan

Chiến lược theo dõi chỉ số hai cơ sở là một chiến lược giao dịch định lượng tiền kỹ thuật số. Chiến lược này tạo ra tín hiệu giao dịch bằng cách kết hợp hai chỉ số cơ bản của chỉ số 123 và chỉ số Qstick, quyết định có nên tham gia hay không dựa trên sự nhất quán của hai chỉ số.

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

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

  1. 123 chỉ số đảo ngược

Tín hiệu giao dịch của chỉ số này đến từ giá đóng cửa của hai đường K cuối cùng. Nếu giá đóng cửa của hai đường K cuối cùng bị đảo ngược (tức là giá đóng cửa chuyển từ tăng lên xuống hoặc từ giảm lên) và đồng thời đáp ứng các điều kiện của chỉ số ngẫu nhiên, tín hiệu giao dịch sẽ được tạo ra.

Cụ thể, nếu hai ngày trước giá đóng cửa giảm, ngày hôm nay giá đóng cửa tăng, đồng thời đường chậm ngẫu nhiên ngày 9 thấp hơn 50, tạo ra tín hiệu mua; nếu hai ngày trước giá đóng cửa tăng, ngày hôm nay giá đóng cửa giảm, đồng thời đường nhanh ngẫu nhiên ngày 9 cao hơn 50, tạo ra tín hiệu bán.

  1. Chỉ số Qstick

Chỉ số này đánh giá sức mạnh của đầu nhiều đầu và đầu trống bằng cách tính toán trung bình di chuyển đơn giản của giá mở và giá đóng. Nó tạo ra tín hiệu giao dịch thông qua việc đi qua trục không.

Nếu Qstick đi qua 0 trên, nghĩa là tăng lực đa đầu, tạo ra tín hiệu mua; nếu Qstick đi qua 0 dưới, nghĩa là tăng lực trống, tạo ra tín hiệu bán.

Chỉ số hai cơ sở theo chiến lược xem xét tổng hợp các tín hiệu giao dịch của chỉ số 123 reversal và chỉ số Qstick, và hành động giao dịch tương ứng khi hai tín hiệu phù hợp.

Phân tích lợi thế

Chỉ số hai cơ sở theo chiến lược kết hợp tín hiệu của hai loại chỉ số khác nhau, có thể làm tăng độ chính xác của tín hiệu giao dịch. So với chỉ số đơn, có thể giảm hiệu quả tín hiệu sai và có tỷ lệ thắng cao hơn.

Ngoài ra, chiến lược này chỉ được đưa vào khi hai tín hiệu chỉ số phù hợp, có thể kiểm soát rủi ro một cách hiệu quả và ngăn ngừa sự khác biệt hai cơ sở.

Rủi ro và giải pháp

  1. Các tín hiệu chỉ số có sự khác biệt về thời gian, không thể phối hợp hoàn hảo

Các tham số của hai chỉ số có thể được điều chỉnh thông qua các tham số tối ưu hóa để làm cho tần số và nhịp điệu của tín hiệu được phối hợp tốt hơn.

  1. Sự khác biệt giữa hai cơ sở thường dẫn đến hoạt động siêu ngắn

Bạn có thể thiết lập thời gian nắm giữ tối thiểu để tránh thường xuyên hủy bỏ ủy thác và thiết lập ủy thác.

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

  1. Tối ưu hóa các tham số chiều dài của cả hai chỉ số để tìm các tham số kết hợp tốt nhất

  2. Kiểm tra các cấu hình tham số chỉ số ngẫu nhiên khác nhau

  3. Tham gia chiến lược dừng lỗ

Tóm tắt

Chỉ số cơ bản kép theo dõi chiến lược bằng cách kết hợp các lợi thế của nhiều chỉ số cơ bản, có thể cải thiện chất lượng tín hiệu, thu được lợi nhuận cao hơn trong khi kiểm soát rủi ro. Chiến lược này có không gian tối ưu hóa tham số và tối ưu hóa chiến lược hơn nữa, có thể làm cho chiến lược ổn định và đáng tin cậy hơn thông qua thử nghiệm.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/05/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
// A technical indicator developed by Tushar Chande to numerically identify 
// trends in candlestick charting. It is calculated by taking an 'n' period 
// moving average of the difference between the open and closing prices. A 
// Qstick value greater than zero means that the majority of the last 'n' days 
// have been up, indicating that buying pressure has been increasing. 
// Transaction signals come from when the Qstick indicator crosses through the 
// zero line. Crossing above zero is used as the entry signal because it is indicating 
// that buying pressure is increasing, while sell signals come from the indicator 
// crossing down through zero. In addition, an 'n' period moving average of the Qstick 
// values can be drawn to act as a signal line. Transaction signals are then generated 
// when the Qstick value crosses through the trigger line.
//
// 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


Qstick(Length) =>
    pos = 0.0
    xR = close - open
    xQstick = sma(xR, Length)
    pos:= iff(xQstick > 0, 1,
           iff(xQstick < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Qstick Indicator", 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, "---- Qstick Indicator ----")
LengthQ = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posQstick = Qstick(LengthQ)
pos = iff(posReversal123 == 1 and posQstick == 1 , 1,
	   iff(posReversal123 == -1 and posQstick == -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 )