Động cơ dao động stochastic kết hợp và 123 Chiến lược đảo ngược

Tác giả:ChaoZhang, Ngày: 2023-10-26 17:00:27
Tags:

img

Tổng quan

Chiến lược này kết hợp mô hình đảo ngược 123 và dao động Stochastic để tạo ra tín hiệu mua khi giá hiển thị đảo ngược đáy và dao động Stochastic cũng đảo ngược từ đáy. Nó có thể xác định hiệu quả các đảo ngược đáy và bộ lọc xác nhận kép có thể làm giảm tần suất giao dịch và cải thiện độ chính xác tín hiệu.

Chiến lược logic

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

    • Tín hiệu mua được tạo ra nếu giá đóng cao hơn giá đóng 2 ngày trước và đường nhanh Stochastic 9 ngày nằm dưới đường chậm và dưới 50.

    • Tín hiệu bán được tạo ra nếu giá đóng thấp hơn giá đóng 2 ngày trước và đường nhanh Stochastic 9 ngày nằm trên đường chậm và trên 50.

  2. Chiến lược dao động stochastic

    • Tín hiệu mua được tạo ra nếu đường Stochastic % K vượt qua trên dải trên (bên mặc định 20).

    • Tín hiệu bán được tạo ra nếu đường Stochastic % K vượt qua dưới dải dưới (mục tiêu 80).

  3. Xác nhận hai lần

    Tín hiệu mua chỉ được tạo ra khi cả hai chiến lược 123 đảo ngược và Stochastic cung cấp tín hiệu mua. Tín hiệu bán tương tự.

Ưu điểm

  1. Xác nhận kép lọc ra tiếng ồn và cải thiện độ chính xác tín hiệu.

  2. 123 đảo ngược bắt đầu đảo ngược dưới cùng và trên cùng.

  3. Stochastic xác định mua quá mức và bán quá mức hiệu quả, phù hợp tuyệt vời với 123 đảo ngược.

  4. Độ linh hoạt tối ưu hóa cao với điều chỉnh tham số.

  5. Logic đơn giản, dễ hiểu, tốt cho người mới bắt đầu.

Rủi ro

  1. Xác nhận hai lần có thể bỏ lỡ một số cơ hội và giảm tần suất giao dịch.

  2. Stochastic có thể tạo ra tín hiệu sai, cần kiểm tra cẩn thận.

  3. Cần điều chỉnh tham số đúng cách, cài đặt không đúng ảnh hưởng đến hiệu suất.

  4. Chỉ hoạt động cho các thị trường có mô hình đảo ngược, không phải cho xu hướng bền vững.

  5. Tiếp tục theo dõi các tín hiệu chiến lược, tránh thiên vị từ sự phán đoán của chính mình.

Giải pháp rủi ro: Tối ưu hóa các thông số, tuân thủ chặt chẽ các tín hiệu, điều chỉnh điều kiện thị trường hiện hành.

Hướng dẫn tối ưu hóa

  1. Tối ưu hóa các thông số Stochastic để ổn định hơn.

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

  3. Thêm các bộ lọc như xác nhận âm lượng để cải thiện chất lượng tín hiệu.

  4. Thử kết hợp các chiến lược đảo ngược khác nhau và Stochastic.

  5. Sử dụng máy học để đào tạo và tối ưu hóa các thông số.

  6. Áp dụng chiến lược trên các thị trường khác nhau để kiểm tra độ bền.

  7. Khám phá sự kết hợp với các chỉ số khác.

Kết luận

Chiến lược này kết hợp dao động Stochastic và mô hình đảo ngược 123, có hiệu quả nắm bắt cơ hội đảo ngược đáy. So với chỉ số duy nhất, sự kết hợp nhiều chỉ số cải thiện đáng kể chất lượng tín hiệu và tỷ lệ thắng. Mặc dù vẫn còn chỗ để cải thiện, logic tổng thể đơn giản và dễ hiểu, làm cho nó lý tưởng cho thực hành giao dịch trực tiếp của người mới bắt đầu. Với thử nghiệm và tối ưu hóa lặp đi lặp lại, các tham số có thể trở nên mạnh mẽ hơn để có kết quả tích cực nhất quán.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/07/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
// This back testing strategy generates a long trade at the Open of the following 
// bar when the %K line crosses up UpBand line.
// It generates a short trade at the Open of the following bar when the %K line 
// crosses down DownBand 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


Stochastic(Length,DLength,UpBand,DownBand) =>
    pos = 0.0
    vFast = stoch(close, high, low, Length)
    vSlow = sma(vFast, DLength)
    pos := iff(vFast > UpBand, 1,
	         iff(vFast < DownBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic", 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, "---- Stochastic ----")
LengthS = input(7, minval=1)
DLengthS = input(3, minval=1)
UpBand = input(20, minval=1)
DownBand = input(80, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posStochastic = Stochastic(LengthS,DLengthS,UpBand,DownBand)
pos = iff(posReversal123 == 1 and posStochastic == 1 , 1,
	   iff(posReversal123 == -1 and posStochastic == -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 )

Thêm nữa