Strategi perdagangan reversal Golden Cross ganda

Penulis:ChaoZhang, Tanggal: 2023-11-03 15:32:38
Tag:

img

Gambaran umum

Strategi trading reversal double golden cross adalah strategi trading yang menggabungkan beberapa indikator analisis teknis. Ini menggabungkan strategi pola reversal 123 dan indikator prime number bands untuk mengintegrasikan berbagai sinyal trading dan mendapatkan sinyal trading yang lebih andal.

Prinsip Strategi

Strategi ini terdiri dari dua sub-strategi:

  1. 123 strategi pola pembalikan

    Sinyal pendek dihasilkan ketika harga penutupan sebelumnya lebih tinggi dari dua hari yang lalu, dan harga penutupan saat ini lebih rendah dari hari sebelumnya. Sinyal panjang dihasilkan ketika harga penutupan sebelumnya lebih rendah dari dua hari yang lalu, dan harga penutupan saat ini lebih tinggi dari hari sebelumnya. Selain itu, sinyal hanya diaktifkan ketika osilator stokastik melintasi. Artinya, sinyal panjang diaktifkan hanya ketika garis cepat di bawah garis lambat. Sinyal pendek diaktifkan hanya ketika garis cepat di atas garis lambat.

  2. Strategi band bilangan prima

    Strategi ini menggunakan distribusi unik dari bilangan prima untuk menentukan rentang fluktuasi harga. Pertama-tama menemukan bilangan prima tertinggi dan terendah dalam rentang persentase tertentu dari harga, dan memetakan dua deret bilangan prima sebagai band. Sinyal perdagangan dihasilkan ketika harga menyentuh band. Secara khusus, sinyal panjang dipicu ketika harga melanggar band atas. Sinyal pendek dipicu ketika harga melanggar band bawah.

Kedua sub-strategi dikombinasikan untuk menghasilkan sinyal perdagangan akhir. yaitu, sinyal panjang hanya dihasilkan ketika kedua strategi menghasilkan sinyal panjang. Demikian pula untuk sinyal pendek. Tidak ada perdagangan yang dilaksanakan jika sinyal dari dua strategi bertentangan satu sama lain.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Peningkatan profitabilitas melalui integrasi sinyal

    Dengan menggabungkan sinyal dari dua jenis strategi yang berbeda, keandalan sinyal dapat diverifikasi untuk mengidentifikasi peluang perdagangan yang menguntungkan dengan probabilitas tinggi.

  2. Tingkat kemenangan tinggi dari 123 pola pembalikan

    Pola pembalikan 123 adalah strategi kontrarian klasik yang dapat menangkap peluang pembalikan yang timbul dari situasi overbought dan oversold jangka pendek, sehingga memiliki tingkat kemenangan yang relatif tinggi dalam perdagangan langsung.

  3. Band bilangan prima menangkap pola harga

    Band bilangan prima memanfaatkan keacakan unik bilangan prima untuk menentukan rentang fluktuasi harga, menghindari bias subjektif dan meningkatkan objektivitas sinyal perdagangan.

  4. Logika strategi baru menghindari eksploitasi

    Integrasi inovatif dari beberapa indikator membuat strategi kurang rentan terhadap rekayasa terbalik dan eksploitasi oleh strategi peniru.

Analisis Risiko

Strategi ini juga membawa risiko berikut:

  1. Risiko pembalikan gagal

    Sebagai strategi pembalikan, pembalikan gagal dari pola 123 dapat menyebabkan kerugian.

  2. Kegagalan pita bilangan prima

    Band bilangan prima bergantung pada pengaturan parameter yang tepat. parameter yang salah dapat membuatnya tidak efektif.

  3. Peningkatan frekuensi perdagangan dari beberapa sinyal

    Lebih banyak perdagangan dapat dihasilkan karena dua sumber sinyal dikombinasikan. Biaya perdagangan yang berlebihan dapat mengikis keuntungan jika tidak dikendalikan dengan benar.

  4. Optimasi yang sulit

    Mengoptimalkan parameter dari dua strategi terintegrasi bisa menjadi tantangan.

Saran Optimalisasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Menggabungkan stop loss untuk membatasi kerugian per perdagangan.

  2. Mengoptimalkan parameter pita bilangan prima agar sesuai dengan kondisi pasar terbaru.

  3. Mengontrol frekuensi perdagangan untuk menghindari biaya perdagangan dari overtrading.

  4. Memperkenalkan algoritma pembelajaran mesin untuk mengotomatisasi optimasi parameter strategi.

  5. Tambahkan lebih banyak indikator konfirmasi seperti indikator volume untuk lebih meningkatkan akurasi sinyal.

Ringkasan

Strategi trading reversal double golden cross mengintegrasikan beberapa indikator teknis untuk menyaring perdagangan noise dan mengidentifikasi peluang trading probabilitas tinggi melalui verifikasi sinyal. tetapi juga membawa risiko yang melekat yang perlu dikurangi melalui optimasi yang tepat untuk memperkuat strategi. dengan risiko di bawah kendali, strategi dapat menjadi strategi trading kuantitatif yang relatif stabil dan dapat diandalkan.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/04/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
// Determining market trends has become a science even though a high number 
// or people still believe it’s a gambling game. Mathematicians, technicians, 
// brokers and investors have worked together in developing quite several 
// indicators to help them better understand and forecast market movements.
// The Prime Number Bands indicator was developed by Modulus Financial Engineering 
// Inc. This indicator is charted by indentifying the highest and lowest prime number 
// in the neighborhood and plotting the two series as a band.
//
// 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

PrimeNumberUpBand(price, percent) =>
    res = 0.0
    res1 = 0.0
    for j = price to price + (price * percent / 100)
        res1 := j
	    for i = 2 to sqrt(price)
        	res1 := iff(j % i == 0 , 0, j)
            if res1 == 0 
                break
		if res1 > 0 
		    break
    res := iff(res1 == 0, res[1], res1)
    res

PrimeNumberDnBand(price, percent) =>
    res = 0.0
    res2 = 0.0
    for j = price to price - (price * percent / 100)
        res2 := j
	    for i = 2 to sqrt(price)
        	res2 := iff(j % i == 0 , 0, j)
            if res2 == 0 
                break
		if res2 > 0 
		    break
    res := iff(res2 == 0, res[1], res2)
    res

PNB(percent, Length,srcUp,srcDn) =>
    pos = 0.0
    xPNUB = PrimeNumberUpBand(srcUp, percent)
    xPNDB = PrimeNumberDnBand(srcDn, percent)
    xHighestPNUB = highest(xPNUB, Length)
    xLowestPNUB = lowest(xPNDB, Length)
    pos:= iff(close > xHighestPNUB[1], 1,
             iff(close < xLowestPNUB[1], -1, nz(pos[1], 0))) 
    pos


strategy(title="Combo Backtest 123 Reversal & Prime Number Bands", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Prime Number Bands ----")
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
Length_PNB = input(5, minval=1)
srcUp = input(title="Source Up Band", type=input.source, defval=high)
srcDn = input(title="Source Down Band", type=input.source, defval=low)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPNB = PNB(percent, Length_PNB,srcUp,srcDn)
pos = iff(posReversal123 == 1 and posPNB == 1 , 1,
	   iff(posReversal123 == -1 and posPNB == -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 banyak