Chiến lược định lượng dao động giá tự tin gấp đôi

Tác giả:ChaoZhang, Ngày: 2024-02-18 10:10:16
Tags:

img

Tổng quan

Ý tưởng chính của chiến lược này là kết hợp chiến lược 123 Reversal và chỉ số dao động giá tuyệt đối để có được một tín hiệu tích hợp. Cụ thể, nếu cả hai chiến lược phụ phát ra tín hiệu dài, tín hiệu chiến lược cuối cùng là 1 (dài); nếu cả hai phát ra tín hiệu ngắn, tín hiệu cuối cùng là -1 (ngắn); nếu các tín hiệu không nhất quán, tín hiệu cuối cùng là 0 (không hoạt động).

Nguyên tắc

Thứ nhất, nguyên tắc của chiến lược 123 Reversal là: nếu giá đóng thấp hơn giá đóng ngày trước trong hai ngày liên tiếp, và Trình dao động Stochastic nằm dưới đường mua quá mức, mua dài; nếu giá đóng cao hơn giá đóng ngày trước trong hai ngày liên tiếp, và Trình dao động Stochastic nằm trên đường bán quá mức, mua ngắn.

Thứ hai, Máy dao động giá tuyệt đối hiển thị sự khác biệt giữa hai đường trung bình động theo cấp số nhân. Một giá trị dương cho thấy xu hướng tăng, trong khi một giá trị âm cho thấy xu hướng giảm.

Cuối cùng, chiến lược này kết hợp các tín hiệu của hai chiến lược phụ, tức là làm theo tín hiệu nếu chúng phù hợp; nếu không, không hoạt động.

Phân tích lợi thế

Chiến lược này xem xét toàn diện các tín hiệu đảo ngược ngắn hạn và tín hiệu xu hướng trung hạn đến dài hạn, có thể xác định hiệu quả các điểm chuyển đổi.

Ngoài ra, chiến lược này sử dụng nhiều chỉ số kỹ thuật để đánh giá thị trường toàn diện thay vì dựa vào một chỉ số duy nhất.

Phân tích rủi ro

Rủi ro lớn nhất là khi 123 Reversal và APO phát ra các tín hiệu mâu thuẫn. Trong những trường hợp như vậy, nhà khai thác cần đánh giá dựa trên kinh nghiệm tín hiệu nào đáng tin cậy hơn.

Ngoài ra, những thay đổi mạnh mẽ trên thị trường có thể vô hiệu hóa các tín hiệu từ cả hai chiến lược phụ đồng thời. Các nhà giao dịch cần theo dõi các sự kiện ảnh hưởng đáng kể đến thị trường và tạm dừng chiến lược nếu cần thiết.

Tối ưu hóa

Các hướng tối ưu hóa có thể:

  1. Tối ưu hóa các thông số chiến lược phụ cho các tín hiệu đáng tin cậy hơn, ví dụ như thời gian trung bình động.

  2. Thêm các chỉ số phụ khác để tạo thành một cơ chế bỏ phiếu.

  3. Thêm các chiến lược dừng lỗ.

  4. Tối ưu hóa mức đầu vào và dừng lỗ dựa trên kiểm tra ngược lịch sử.

Kết luận

Chiến lược này kết hợp nhiều chỉ số kỹ thuật để đánh giá thị trường, tránh rủi ro phụ thuộc chỉ số duy nhất đến một mức độ nào đó và cải thiện độ chính xác tín hiệu.


/*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=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// 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

AbsolutePriceOscillator(LengthShortEMA, LengthLongEMA) =>
    xPrice = close
    xShortEMA = ema(xPrice, LengthShortEMA)
    xLongEMA = ema(xPrice, LengthLongEMA)
    xAPO = xShortEMA - xLongEMA
    pos = 0.0    
    pos := iff(xAPO > 0, 1,
           iff(xAPO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal and Absolute Price Oscillator (APO)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posAbsolutePriceOscillator = AbsolutePriceOscillator(LengthShortEMA, LengthLongEMA)
pos = iff(posReversal123 == 1 and posAbsolutePriceOscillator == 1 , 1,
	   iff(posReversal123 == -1 and posAbsolutePriceOscillator == -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 ? red: possig == 1 ? green : blue ) 

Thêm nữa