
Strategi ini adalah kombinasi strategi yang menggunakan strategi reversal dan strategi resuscitation oscillator untuk mendapatkan sinyal perdagangan yang lebih andal.
Strategi ini terdiri dari dua bagian:
Strategi reversal berasal dari Ulf Jensen dalam buku How I Doubled My Money in the Futures Market, halaman 183. Strategi ini termasuk dalam tipe reversal, dan logikanya adalah:
Ketika harga penutupan lebih tinggi dari harga penutupan hari sebelumnya, dua hari berturut-turut, dan pada hari ke-9 indikator Stoch lambat di bawah 50, buatlah masukan tambahan.
Ketika harga penutupan lebih rendah dari harga penutupan hari sebelumnya, dua hari berturut-turut, dan pada hari ke-9 indikator STOH Rapid lebih tinggi dari 50, melakukan shorting.
Indikator resusitasi oscillator dengan menghitung nilai diferensial dari fluktuasi terkecil di pasar, yang nilainya biasanya berfluktuasi antara -1 dan 1. Semakin tinggi nilai indikator, semakin kuat tren, baik tren naik atau tren turun.
Ketika indikator mencapai nilai yang lebih tinggi, lakukan lebih banyak; ketika indikator mencapai nilai yang lebih rendah, lakukan short. Indikator ini cocok untuk perdagangan intraday.
Akhirnya, ketika dua sinyal strategi berorientasi, maka dilakukan perdagangan dalam arah yang terkait.
Kombinasi strategi reversal dan strategi tren dapat memfilter beberapa sinyal palsu dan meningkatkan keandalan sinyal perdagangan.
Strategi reversal dapat menangkap peluang reversal jangka pendek; strategi indikator resonansi dapat menangkap tren garis tengah dan panjang.
Parameter indikator Stoch dioptimalkan dengan baik, sehingga dapat secara efektif memfilter sinyal palsu dari pasar yang bergoyang.
Indikator resusitasi osilasi lebih sensitif terhadap pergerakan pasar yang lebih kecil, sehingga dapat menangkap perubahan tren lebih awal.
Strategi reversal mudah tertelan reversal tren besar, parameter dapat disesuaikan sesuai, atau digunakan dengan kombinasi strategi tren.
Strategi indikator mudah menghasilkan terlalu banyak sinyal perdagangan, parameter dapat disesuaikan sesuai, atau digunakan dengan kombinasi indikator penyaringan lainnya.
Dua sinyal strategi mungkin tidak konsisten dan dapat berkonflik. Parameter dapat disesuaikan berdasarkan data retrospeksi sejarah untuk mengoptimalkan keduanya.
Strategi stop loss dapat diperkenalkan untuk mengendalikan kerugian tunggal.
Uji berbagai kombinasi reversal parameter untuk menemukan parameter yang optimal.
Uji parameter indikator resusitasi osilasi yang berbeda untuk menemukan parameter optimal.
Cobalah berbagai metode pengoptimalan parameter indikator, seperti algoritma genetik, hutan acak, dll.
Menambahkan indikator tambahan untuk memfilter sinyal lebih lanjut.
Menambahkan model pembelajaran mesin untuk meningkatkan akurasi sinyal.
Memperkenalkan mekanisme manajemen risiko, seperti stop loss, manajemen posisi, dll.
Strategi ini dapat meningkatkan kualitas sinyal perdagangan, menunjukkan hasil yang lebih baik dalam retesting dengan menggabungkan strategi reversal dan strategi indikator resuscitation oscillation, dan memanfaatkan keunggulan dari dua jenis strategi yang berbeda. Optimasi lebih lanjut dengan pengoptimalan parameter, penambahan indikator lain, manajemen risiko, dan lain-lain, strategi ini diharapkan untuk mendapatkan efek yang lebih baik di lapangan. Secara keseluruhan, ini adalah strategi yang sangat inovatif, layak untuk penelitian dan aplikasi lebih lanjut.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 07/10/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
// The value of Fractal Chaos Oscillator is calculated as the difference between
// the most subtle movements of the market. In general, its value moves between
// -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the
// more one can say that it follows a certain trend – an increase in prices trend,
// or a decrease in prices trend.
//
// Being an indicator expressed in a numeric value, traders say that this is an
// indicator that puts a value on the trendiness of the markets. When the FCO reaches
// a high value, they initiate the “buy” operation, contrarily when the FCO reaches a
// low value, they signal the “sell” action. This is an excellent indicator to use in
// intra-day trading.
//
// 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
fractalUp(pattern) =>
p = high[pattern+1]
okl = 1
okr = 1
res = 0.0
for i = pattern to 1
okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0)
for i = pattern+2 to pattern*2+1
okr := iff(high[i] < high[i-1] and okr == 1, 1, 0)
res := iff(okl == 1 and okr == 1, p, res[1])
res
fractalDn(pattern) =>
p = low[pattern+1]
okl = 1
okr = 1
res = 0.0
for i = pattern to 1
okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0)
for i = pattern+2 to pattern*2+1
okr := iff(low[i] > low[i-1] and okr == 1, 1, 0)
res := iff(okl == 1 and okr == 1, p, res[1])
res
FCO(Pattern) =>
pos = 0.0
xUpper = fractalUp(Pattern)
xLower = fractalDn(Pattern)
xRes = iff(xUpper != xUpper[1], 1,
iff(xLower != xLower[1], -1, 0))
pos := iff(xRes == 1, 1,
iff(xRes == -1, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Fractal Chaos Oscillator", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFCO = FCO(Pattern)
pos = iff(posReversal123 == 1 and posFCO == 1 , 1,
iff(posReversal123 == -1 and posFCO == -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 )