Strategi Pengesanan Trend Combo

Penulis:ChaoZhang, Tarikh: 2024-01-02 10:41:30
Tag:

img

Ringkasan

Strategi pengesanan trend gabungan adalah strategi perdagangan kuantitatif yang menggabungkan penunjuk berganda untuk menilai trend. Ia mula-mula menggunakan penunjuk pembalikan 123 untuk menentukan isyarat pembalikan harga, dan kemudian menggabungkan indeks trend arah (DTI) untuk menilai arah trend harga, untuk mencapai isyarat pesanan pengesahan berganda.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian utama:

  1. 123 Penunjuk Pembalikan

    Prinsip penilaian penunjuk pembalikan 123 adalah:

    • Apabila harga penutupan meningkat secara berterusan selama 2 hari dan garis K perlahan 9 hari adalah lebih rendah daripada 50, pergi panjang;

    • Apabila harga penutupan terus turun selama 2 hari dan garis K cepat 9 hari lebih tinggi daripada 50, pergi pendek.

    Ini boleh menangkap masa pembalikan harga.

  2. Indeks Trend Arah (DTI)

    Prinsip penilaian penunjuk DTI adalah: mengira purata bergerak turun naik harga mutlak dalam tempoh masa, dan kemudian membahagikannya dengan turun naik harga purata.

    • Apabila DTI lebih tinggi daripada garis overbought, ia bermakna arus adalah trend menurun;

    • Apabila DTI lebih rendah daripada garis oversold, ia bermakna arus adalah trend menaik.

  3. Gabungan

    Pertama, gunakan penunjuk pembalikan 123 untuk menentukan sama ada isyarat pembalikan harga berlaku. kemudian, digabungkan dengan penunjuk DTI untuk menentukan arah trend keseluruhan selepas pembalikan.

    Ini mengelakkan masalah pembalikan palsu yang disebabkan oleh hanya bergantung pada isyarat pembalikan, dengan itu meningkatkan kestabilan dan keuntungan strategi.

Kelebihan

  1. Pengesahan penunjuk berganda mengelakkan risiko yang disebabkan oleh pembalikan palsu

  2. Menggabungkan pembalikan dan trend mencapai keseimbangan antara fleksibiliti operasi dan kestabilan

  3. Ruang pengoptimuman parameter yang besar, boleh diselaraskan dengan fleksibel untuk menyesuaikan diri dengan pelbagai jenis

Analisis Risiko

  1. Menetapkan parameter DTI memerlukan pengalaman, tidak sesuai akan salah menilai arah trend

  2. Pembalikan tidak semestinya mewakili trend baru, mungkin terdapat goyangan yang terikat julat

  3. Perlu stop loss yang berkesan untuk mengawal kerugian tunggal

    Penyelesaian: Ujian pengoptimuman parameter + Kerugian henti yang munasabah + Gabungan penunjuk lain

Arah pengoptimuman

  1. Uji parameter DTI untuk mencari kombinasi parameter yang optimum

  2. Gunakan penunjuk lain untuk menapis isyarat pembalikan palsu

  3. Mengoptimumkan strategi stop loss dan mencari titik stop loss yang optimum

Ringkasan

Strategi pengesanan trend combo secara berkesan menentukan kepentingan pembalikan harga dan menangkap arah trend baru melalui pengesahan dua kali lipat pembalikan 123 dan DTI, dengan itu meningkatkan keuntungan strategi. Walau bagaimanapun, tetapan parameter dan strategi stop loss masih memerlukan ujian dan pengoptimuman berterusan untuk memaksimumkan ruang keuntungan strategi. Secara keseluruhan, dengan menggabungkan kelebihan perdagangan trend dan perdagangan pembalikan, ini adalah strategi kuantitatif yang berbaloi untuk disyorkan.


/*backtest
start: 2023-12-25 00:00:00
end: 2024-01-01 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/02/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
// This technique was described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). His book focuses on three key aspects 
// of trading: momentum, direction and divergence. Blau, who was an electrical 
// engineer before becoming a trader, thoroughly examines the relationship between 
// price and momentum in step-by-step examples. From this grounding, he then looks 
// at the deficiencies in other oscillators and introduces some innovative techniques, 
// including a fresh twist on Stochastics. On directional issues, he analyzes the 
// intricacies of ADX and offers a unique approach to help define trending and 
// non-trending periods.
// Directional Trend Index is an indicator similar to DM+ developed by Welles Wilder. 
// The DM+ (a part of Directional Movement System which includes both DM+ and 
// DM- indicators) indicator helps determine if a security is "trending." William 
// Blau added to it a zeroline, relative to which the indicator is deemed positive or 
// negative. A stable uptrend is a period when the DTI value is positive and rising, a 
// downtrend when it is negative and falling. 
//
// 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

TDI(r,s,u,OS,OB) =>
    pos = 0.0
    xHMU = iff(high - high[1] > 0, high - high[1], 0)
    xLMD = iff(low - low[1] < 0, -(low - low[1]), 0)
    xPrice = xHMU - xLMD
    xPriceAbs = abs(xPrice)
    xuXA = ema(ema(ema(xPrice, r),s),u)
    xuXAAbs = ema(ema(ema(xPriceAbs, r),s),u)
    Val1 = 100 * xuXA
    Val2 = xuXAAbs
    DTI = iff(Val2 != 0, Val1 / Val2, 0)
    pos := iff(DTI > OS, -1,
    	     iff(DTI < OB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Directional Trend Index (DTI)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(14, minval=1)
s = input(10, minval=1)
u = input(5, minval=1)
OS = input(45, minval=1)
OB = input(-45, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posTDI = TDI(r,s,u,OS,OB)
pos = iff(posReversal123 == 1 and posTDI == 1 , 1,
	   iff(posReversal123 == -1 and posTDI == -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 )

Lebih lanjut