Strategi Kombinasi Pembalikan Tren dan Indikator Utama Ehlers


Tanggal Pembuatan: 2023-11-07 16:10:26 Akhirnya memodifikasi: 2023-11-07 16:10:26
menyalin: 0 Jumlah klik: 777
1
fokus pada
1617
Pengikut

Strategi Kombinasi Pembalikan Tren dan Indikator Utama Ehlers

Ringkasan

Strategi ini merupakan kombinasi antara strategi trend tracking reversal dan strategi Ellers pivot indicator untuk mendapatkan sinyal perdagangan yang lebih andal. Strategi trend tracking reversal menentukan titik reversal tren dan strategi Ellers pivot indicator menentukan titik perputaran periodik.

Prinsip Strategi

Strategi Pembalikan Mengikuti Tren

Strategi ini berasal dari Ulf Jensen’s How to Triple Your Money in the Futures Market, halaman 183. Ini adalah jenis strategi reversal. Ketika harga close out 2 hari berturut-turut lebih tinggi dari harga close out hari sebelumnya, dan pada hari ke-9 Stochastic Slow Line di bawah 50, lakukan over; ketika harga close out 2 hari berturut-turut lebih rendah dari harga close out hari sebelumnya, dan pada hari ke-9 Stochastic Fast Line di atas 50, lakukan short.

Strategi Indikator Terdepan Ellis

Strategi ini menggunakan data intraday untuk memetakan harga sintetis yang sedang tren dalam satu hari (Detrended Synthetic Price, DSP) dan indikator terdepan Ehlers (Ehlers Leading Indicator, ELI) dalam satu hari. DSP dapat menangkap siklus dominasi harga, dengan metode perhitungan 2 barworths minus 3 barworths.

Analisis Keunggulan

Keuntungan terbesar dari strategi kombinasi ini adalah kombinasi antara penilaian pembalikan tren dan penilaian perputaran berkala, sinyal perdagangan lebih dapat diandalkan. Strategi pembalikan tren dapat menentukan titik pembalikan tren yang akan menerobos tren naik ke bawah. Indikator Ells-Predator dapat mengindikasikan low dan high berkala lebih awal.

Kelebihan lain adalah fleksibilitas dalam penyesuaian parameter. Parameter indeks saham dalam strategi reversal tren dapat disesuaikan dengan pasar. Panjang siklus dalam indikator pivotal Ells juga dapat disesuaikan dengan siklus yang berbeda.

Analisis risiko

Risiko terbesar dari strategi ini adalah melewatkan persistensi tren. Karena strategi menunggu sinyal pembalikan untuk masuk, mungkin melewatkan tahap awal tren yang kuat.

Solusinya adalah dengan menyesuaikan parameter, mempersingkat siklus penilaian reversal, dan menangkap reversal tren tepat waktu. Selain itu, stop loss dapat diperkenalkan untuk mengendalikan kerugian.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Memperkenalkan strategi stop loss untuk mengendalikan kerugian tunggal.

  2. Optimalkan parameter, menyesuaikan siklus sinyal reversal, menyesuaikan dengan lingkungan pasar yang berbeda.

  3. Menambahkan filter untuk indikator lain, meningkatkan kualitas sinyal, dan mengurangi sinyal palsu.

  4. Menambahkan modul pengelolaan dana untuk mengontrol posisi dan risiko secara keseluruhan.

  5. Uji efek parameter dari berbagai varietas, optimalkan varietas yang cocok.

  6. Menambahkan modul pembelajaran mesin, sehingga parameter dapat disesuaikan.

Meringkaskan

Strategi ini menggabungkan penilaian pembalikan tren dan penilaian perpindahan berkala, sehingga lebih dapat diandalkan untuk menangkap waktu masuk ke pasar. Keuntungan terbesar adalah kualitas sinyal yang baik dan dapat disesuaikan. Risiko terbesar adalah kehilangan tren awal, yang dapat dikendalikan dengan menyesuaikan parameter, berhenti.

Kode Sumber Strategi
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/11/2019
// 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 Indicator plots a single
// Daily DSP (Detrended Synthetic Price) and a Daily ELI (Ehlers Leading
// Indicator) using intraday data.
// Detrended Synthetic Price is a function that is in phase with the dominant
// cycle of real price data. This one is computed by subtracting a 3 pole Butterworth
// filter from a 2 Pole Butterworth filter. Ehlers Leading Indicator gives an advanced
// indication of a cyclic turning point. It is computed by subtracting the simple
// moving average of the detrended synthetic price from the detrended synthetic price.
// Buy and Sell signals arise when the ELI indicator crosses over or under the detrended
// synthetic price.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70. 
//
// 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

D_ELI(Length) =>
    pos = 0.0
    xHL2 = security(syminfo.tickerid, 'D', hl2)
    xEMA1 = ema(xHL2, Length)
    xEMA2 = ema(xHL2, 2 * Length)
    xEMA1_EMA2 = xEMA1 - xEMA2
    xResultEMA = ema(xEMA1_EMA2, Length)
    nRes = xEMA1_EMA2 - xResultEMA
    pos:= iff(nRes > 0, 1,
	       iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & D_ELI (Ehlers Leading Indicator)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthELI = input(7, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_ELI = D_ELI(LengthELI)
pos = iff(posReversal123 == 1 and posD_ELI == 1 , 1,
	   iff(posReversal123 == -1 and posD_ELI == -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 )