Strategi gabungan pengoptimuman nisbah isyarat-ke-bunyi pembalikan hentakan berganda


Tarikh penciptaan: 2023-11-01 16:57:13 Akhirnya diubah suai: 2023-11-01 16:57:13
Salin: 3 Bilangan klik: 599
1
fokus pada
1617
Pengikut

Strategi gabungan pengoptimuman nisbah isyarat-ke-bunyi pembalikan hentakan berganda

Gambaran keseluruhan

Strategi ini menggabungkan strategi pembalikan goyah ganda dan strategi pengoptimuman nisbah bising untuk membentuk strategi perdagangan yang lebih kuat dan lebih stabil. Strategi ini bertujuan untuk menghantar isyarat perdagangan yang lebih tepat pada titik pembalikan trend.

Prinsip Strategi

Strategi pembalikan berganda dengan mengira nilai K cepat dan lambat dalam 14 hari terakhir untuk menentukan sama ada harga telah mengalami pembalikan dua hari berturut-turut. Jika pembalikan berlaku, K cepat di bawah 50 menandakan isyarat beli, dan K cepat di atas 50 menandakan isyarat jual.

Strategi pengoptimuman nisbah bising adalah dengan mengira indeks nisbah bising 21 hari yang lalu dan meluruskannya dengan purata bergerak mudah 29 hari. Apabila nisbah bising naik ke atas rata-rata bergeraknya sebagai isyarat menjual, turun ke bawah sebagai isyarat membeli.

Akhirnya, hanya apabila strategi pembalikan gegaran ganda dan strategi pengoptimuman nisbah bising menghantar isyarat pembelian atau penjualan yang sama, strategi ini melakukan pembelian atau penjualan yang sesuai.

Analisis kelebihan strategi

  1. Menggabungkan beberapa strategi, anda boleh menghantar isyarat dagangan yang lebih tepat dan mengelakkan isyarat palsu dari satu strategi.

  2. Strategi pembalikan berganda dapat menangkap titik pembalikan trend, strategi pengoptimuman nisbah bising dapat menyaring isyarat palsu, kedua-duanya digabungkan dapat melakukan perdagangan yang tepat pada titik pembalikan.

  3. Parameter pengiraan yang dioptimumkan, seperti parameter stok cepat dan perlahan 14 hari, kitaran nisbah bising 21 hari, dan lain-lain, dapat stab mencerminkan trend baru-baru ini tanpa terjejas oleh bunyi bising yang berlebihan.

  4. Penggunaan isyarat pengesahan dua kali dapat mengurangkan risiko perdagangan dan mengurangkan kerugian yang tidak perlu.

Analisis risiko strategi

  1. Isyarat pembalikan mungkin tertunda, tidak boleh dibeli pada titik rendah mutlak, dijual pada titik tinggi. Penundaan dapat dikurangkan dengan menyesuaikan parameter.

  2. Pengesahan isyarat berganda mungkin kehilangan sebahagian peluang perdagangan, dan syarat pengesahan boleh dilonggarkan dengan sewajarnya, tetapi risiko juga meningkat.

  3. Parameter nisbah bising dan kepercayaan perlu dioptimumkan, dan jika tetapan kitaran tidak betul, ia mungkin terlepas isyarat penting atau menghantar isyarat yang salah.

  4. Ia memerlukan pemantauan berbilang metrik pada masa yang sama, meningkatkan kerumitan strategi, dan memerlukan pertimbangan untuk pengoptimuman kod dan sumber pengiraan.

Arah pengoptimuman strategi

  1. Uji kombinasi lebih banyak indikator untuk mencari isyarat kombinasi yang lebih baik. Seperti MACD, RSI dan sebagainya.

  2. Optimumkan parameter strategi pembalikan gegaran berganda untuk menjadikan isyarat pembalikan lebih tepat dan tepat pada masanya.

  3. Mengoptimumkan kitaran parameter bagi nisbah bising, mencari titik keseimbangan yang optimum.

  4. Tambah strategi hentikan kerugian untuk mengawal kerugian yang mungkin berlaku dalam satu transaksi.

  5. Pertimbangkan untuk mengoptimumkan parameter secara automatik dengan kaedah pembelajaran mesin dan lain-lain untuk menjadikan strategi lebih mudah disesuaikan.

ringkaskan

Strategi ini memberikan isyarat perdagangan yang stabil pada titik perubahan trend dengan menggabungkan strategi pembalikan gejolak ganda dan strategi pengoptimuman nisbah bising. Apabila parameter dioptimumkan, kemungkinan isyarat palsu dapat dikurangkan dengan ketara, dan dengan menggunakan prinsip pengesahan ganda, risiko perdagangan dapat dikurangkan.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 196/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
// The signal-to-noise (S/N) ratio. 
// And Simple Moving Average.
//
// 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

SignalToNoise(length) =>
    StN = 0.0
    for i = 1 to length-1
        StN := StN + (1/close[i])/length
    StN := -10*log(StN)

StN(length,Smooth) =>
    pos = 0.0
    StN = SignalToNoise(length)
    SMAStN = sma(StN, Smooth)
    pos := iff(SMAStN[0] > StN[0] , -1,
    	     iff(SMAStN[0] < StN[0], 1, 0)) 
    pos

strategy(title="Combo Backtest 123 Reversal & Signal To Noise", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
lengthStN = input(title="Days", type=input.integer, defval=21, minval=2)
SmoothStN =  input(title="Smooth", type=input.integer, defval=29, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posStN = StN(lengthStN,SmoothStN)
pos = iff(posReversal123 == 1 and posStN == 1 , 1,
	   iff(posReversal123 == -1 and posStN == -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 )