Pembalikan tren silang dikombinasikan dengan strategi ganda tiga puluh osilator


Tanggal Pembuatan: 2024-01-19 14:41:02 Akhirnya memodifikasi: 2024-01-19 14:41:02
menyalin: 0 Jumlah klik: 675
1
fokus pada
1617
Pengikut

Pembalikan tren silang dikombinasikan dengan strategi ganda tiga puluh osilator

Ringkasan

Strategi ini terutama menggabungkan dua jenis sinyal strategi yang berbeda, untuk mencapai efek peningkatan kualitas sinyal. Jenis pertama adalah strategi reversal melintasi, dan jenis kedua adalah strategi tiga puluh osilator.

Strategi 1: Strategi Pembalikan Trends

Strategi ini berasal dari buku How to Get Three-Fold Earnings in the Futures Market, halaman 183. Strategi ini adalah jenis strategi reversal. Logika spesifiknya adalah: ketika harga close out dua hari berturut-turut lebih tinggi dari harga close out hari sebelumnya, dan pada hari ke-9 garis K lambat di bawah 50, melakukan over; ketika harga close out dua hari berturut-turut lebih rendah dari harga close out hari sebelumnya, dan pada hari ke-9 garis K cepat di atas 50, kosong.

Strategi 2: Tiga Puluh Strategi Oscillator

Strategi ini menggunakan perbedaan antara rata-rata 3 hari dan rata-rata 10 hari untuk membangun indikator. Secara rinci, adalah rata-rata bergerak indeks 3 hari dikurangi rata-rata bergerak indeks 10 hari, yang menghasilkan perbedaan garis cepat, kemudian melakukan rata-rata bergerak sederhana 16 hari pada garis cepat, yang menghasilkan garis lambat.

Prinsip Strategi

  • Pertama, menghitung sinyal trading untuk strategi reversal lintas tren posReversal123;
  • Kemudian menghitung sinyal perdagangan dari tiga puluh strategi osilator posD_Three;
  • Ketika dua sinyal sinkron ((double plus atau double void), output sinyal komposit;
  • Untuk menentukan arah dan harga transaksi berdasarkan sinyal komprehensif (pos);
  • Gambarkan garis K dengan warna yang berbeda.

Analisis Keunggulan

Sinyal komposit multi-strategi ini memiliki keuntungan sebagai berikut:

  1. Menyaring sinyal palsu, meningkatkan kualitas sinyal

Karena diperlukan dua strategi untuk memberikan sinyal isotop pada saat yang sama, dapat menghindari dampak dari sinyal palsu dalam strategi tunggal, sehingga meningkatkan keandalan sinyal.

  1. Mengintegrasikan berbagai ide perdagangan

Kombinasi strategi reversal dan strategi tren dapat mengurangi titik buta strategi dan memberikan perspektif pasar yang lebih komprehensif.

  1. Fleksibilitas tinggi

Bergantung pada kebutuhan aktual, portofolio strategi yang terlibat dalam integrasi dapat disesuaikan, menggabungkan berbagai jenis strategi, dan menciptakan strategi integrasi yang lebih beragam.

Analisis risiko

  1. Anggaplah kontradiksi

Asumsi dasar dari strategi ini adalah bahwa beberapa strategi dapat saling memverifikasi sinyal. Namun, secara teoritis ada kemungkinan bahwa semua strategi dapat mengirim sinyal yang salah pada saat yang sama.

  1. Sinyal tidak konsisten

Ketika dua sinyal strategi tidak konsisten, tidak mungkin untuk menentukan strategi mana yang lebih dapat diandalkan, dan ada risiko pengambilan keputusan tertentu.

  1. Parameter yang tidak sesuai

Jika parameter yang tidak tepat, dapat menyebabkan beberapa kebijakan tidak dapat bekerja dengan baik, sehingga tidak dapat mencapai efek yang diharapkan dari kombinasi kebijakan.

Tanggapan:

  1. Peningkatan jumlah kebijakan dan suara mayoritas

  2. Setting Stop Loss Point, Mengontrol Kerugian Sinyal Tunggal

  3. Optimalkan parameter untuk memastikan bahwa strategi bekerja dengan baik

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa arah:

  1. Menambahkan lebih banyak strategi

Anda dapat terus menambahkan lebih banyak jenis strategi yang berbeda, membentuk strategi kombinasi, untuk meningkatkan kualitas sinyal lebih lanjut.

  1. Kondisi penyaringan sebelumnya

Sesuai dengan karakteristik pasar, beberapa kondisi pra-persiyapan dapat diatur, seperti penyaringan saham besar, untuk menghindari membuka posisi di bawah kondisi pasar yang tidak sesuai.

  1. Perubahan Dinamis dalam Kebijakan

Strategi yang berbeda dapat secara dinamis menyesuaikan portofolio keterlibatan berat mereka berdasarkan kinerja mereka sebelumnya, sehingga strategi yang lebih baik dapat memainkan peran yang lebih besar.

  1. Detil parameter optimasi

Dengan metode yang lebih sistematis, parameter dalam setiap strategi dapat diuji dan dioptimalkan secara menyeluruh untuk mendapatkan parameter terbaik.

Meringkaskan

Strategi ini merupakan strategi komprehensif multi-strategi overlay. Ini mengintegrasikan strategi cross-trend reversal dan tiga puluh strategi osilasi dua substrategi, dengan membuat sinyal perdagangan mereka selaras hanya untuk menghasilkan instruksi perdagangan, dapat secara efektif menghapus sinyal palsu dalam strategi tunggal, meningkatkan kualitas sinyal. Dibandingkan dengan strategi tunggal, jenis kombinasi strategi ini memiliki keunggulan seperti keandalan sinyal yang lebih tinggi, toleransi kesalahan yang lebih kuat, dll.

Kode Sumber Strategi
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-18 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/12/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
// TradeStation does not allow the user to make a Multi Data Chart with 
// a Tick Bar Chart and any other type a chart. This indicator allows the 
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived 
// from subtracting a 10 day moving average from a 3 day moving average. 
// The second plot is an 16 day simple moving average of the 3-10 Oscillator. 
// The 16 period moving average is the slow line and the 3/10 oscillator is 
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book 
// "The Power of Oscillator/Cycle Combinations" 
//
// 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_Three(Length1, Length2, Length3) =>
    pos = 0.0
    xPrice =  security(syminfo.tickerid,"D", hl2)
    xfastMA = ema(xPrice, Length1)
    xslowMA = ema(xPrice, Length2)
    xMACD = xfastMA - xslowMA
    xSignal = sma(xMACD, Length3)
    pos := iff(xSignal > xMACD, -1,
    	     iff(xSignal < xMACD, 1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & D_Three Ten Osc", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_Three = D_Three(Length1, Length2, Length3)
pos = iff(posReversal123 == 1 and posD_Three == 1 , 1,
	   iff(posReversal123 == -1 and posD_Three == -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 )