
Strategi ini menggabungkan faktor reversal harga saham dan faktor momentum untuk membina model dua faktor dengan tujuan untuk menangkap peluang reversal jangka pendek dan persistensi jangka panjang. Strategi ini menggunakan 123 untuk menentukan isyarat reversal harga terkini, kemudian menggabungkannya dengan indikator RSI Laguerre untuk menentukan trend garis panjang tengah, dan akhirnya mewujudkan gabungan isyarat dua faktor yang berkesan.
Strategi ini terdiri daripada dua bahagian:
Bahagian ini mendapati isyarat pembalikan harga jangka pendek dengan menilai perubahan harga penutupan dua hari sebelumnya. Khususnya, jika harga penutupan hari sebelumnya lebih rendah daripada dua hari sebelumnya dan harga penutupan hari ini lebih tinggi daripada hari sebelumnya, maka isyarat kenaikan harga boleh dinilai sebagai pembalikan harga.
Bahagian ini membina indikator RSI yang lebih sensitif. Indikator RSI tradisional kurang sensitif terhadap perubahan harga, dan penapis Ragel dapat membina indikator dengan lebih sedikit data sejarah, sehingga meningkatkan kepekaan terhadap perubahan harga.
Akhirnya, strategi menggabungkan isyarat kedua-dua, memastikan bahawa trend utama tidak akan berbalik, dan pada masa yang sama menangkap peluang untuk bangkit.
Kelebihan utama strategi ini adalah bahawa ia berjaya menggabungkan faktor pembalikan dan faktor trend. Faktor pembalikan dapat menangkap peluang untuk membalikkan harga selepas penyesuaian jangka pendek, sementara faktor trend memastikan tidak ada perubahan dalam arah besar perdagangan / perdagangan. Model dua faktor ini dapat meningkatkan ketepatan perdagangan dengan syarat mengurangkan isyarat palsu berbanding dengan model pembalikan atau kuantiti bergerak tunggal.
Selain itu, penambahan RSI Ragel juga meningkatkan sensitiviti model terhadap perubahan harga, yang sangat penting untuk perdagangan frekuensi tinggi.
Risiko utama yang dihadapi oleh strategi ini adalah bahawa isyarat dua faktor mungkin berselisih. Terutama semasa penyesuaian pasaran yang bergolak, trend garis tengah juga mungkin berubah ketika harga jangka pendek sering berbalik.
Selain itu, pilihan parameter yang tidak tepat juga boleh menyebabkan prestasi strategi yang tidak baik. Parameter indikator teknikal yang sesuai dengan faktor pembalikan dan faktor trend perlu disesuaikan dan diuji, dan kombinasi parameter yang tidak betul juga boleh menjejaskan kesan strategi.
Arah pengoptimuman seterusnya dalam strategi ini bertumpu pada penapisan isyarat dan pilihan parameter. Anda boleh mempertimbangkan untuk menambahkan lebih banyak syarat penapisan, yang berfungsi apabila isyarat dua faktor berselisih, memastikan bahawa anda hanya membuka tempat di bawah keadaan kepastian yang tinggi. Ini dapat mengurangkan kadar isyarat yang salah.
Mengenai pilihan parameter, anda boleh mencuba kaedah pembelajaran mesin dan eksperimen saintifik untuk menguji sistematik setiap kombinasi parameter untuk mencari parameter yang paling optimum. Ini memerlukan sokongan kuasa pengkomputeran yang tinggi, tetapi dapat meningkatkan kestabilan strategi dengan ketara.
Strategi ini berjaya menggabungkan faktor pembalikan dan faktor trend untuk menangkap peluang rebound jangka pendek dan persistensi jangka panjang dengan menggunakan model dua faktor. Penapis RSI Ragel yang ditambahkan juga meningkatkan sensitiviti model terhadap perubahan harga.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 21/01/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 is RSI indicator which is more sesitive to price changes.
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior
// indicators using very short data lengths as well. The use of shorter
// data lengths means you can make the indicators more responsive to
// changes in the price.
//
// 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
LB_RSI(gamma,BuyBand,SellBand) =>
pos = 0.0
xL0 = 0.0
xL1 = 0.0
xL2 = 0.0
xL3 = 0.0
xL0 := (1-gamma) * close + gamma * nz(xL0[1], 1)
xL1 := - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
xL2 := - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
xL3 := - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0) + (xL2 >= xL3 ? xL2 - xL3 : 0)
CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1) + (xL2 >= xL3 ? 0 : xL3 - xL2)
nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
pos := iff(nRes > BuyBand, 1,
iff(nRes < SellBand, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Laguerre-based RSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLB_RSI = LB_RSI(gamma,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posLB_RSI == 1 , 1,
iff(posReversal123 == -1 and posLB_RSI == -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 )