Strategi Gabungan Breakout Band Pembalikan Faktor Berganda


Tarikh penciptaan: 2024-02-01 10:45:12 Akhirnya diubah suai: 2024-02-01 10:45:12
Salin: 0 Bilangan klik: 600
1
fokus pada
1617
Pengikut

Strategi Gabungan Breakout Band Pembalikan Faktor Berganda

Gambaran keseluruhan

Strategi ini adalah strategi gabungan dua faktor yang didorong oleh faktor penukaran balik dan faktor saluran gelombang, yang mewujudkan penumpukan pelbagai faktor, yang dapat memberikan kelebihan strategi dalam keadaan pasaran yang berbeza.

Prinsip Strategi

Strategi ini terdiri daripada dua sub-strategi:

  1. 123 Strategi pembalikan: apabila harga penutupan jatuh dua hari berturut-turut, jika harga penutupan hari ini menembusi harga terendah dua hari berturut-turut sebelumnya, dan pada hari ke-9 melintasi garis perlahan pada garis cepat penunjuk rawak, buat lebih banyak; apabila harga penutupan meningkat dua hari berturut-turut, jika harga penutupan hari ini jatuh di bawah harga tertinggi dua hari berturut-turut sebelumnya, dan pada hari ke-9 melintasi garis perlahan di bawah garis cepat penunjuk rawak, buat kosong.

  2. Penapis gelombang: mengira indikator gelombang harga dalam tempoh tertentu, melakukan lebih banyak apabila indikator gelombang lebih besar daripada nilai terhad tertentu, dan kosong apabila indikator gelombang lebih kecil daripada nilai terhad tertentu.

Isyarat gabungan adalah: jika strategi 123 berbalik dan strategi penapis gelombang adalah isyarat yang sama, maka ambillah kedudukan yang lebih banyak; jika kedua-duanya adalah isyarat yang sama, maka ambillah kedudukan yang sama; jika tidak, bersih.

Kelebihan Strategik

  • Didorong oleh dua faktor, pasaran beradaptasi dengan baik, dan boleh menghasilkan keuntungan dalam pelbagai situasi
  • 123 Strategi Pembaikan untuk Menangkap Pembaikan dalam Keadaan Julat Guncang
  • Penapis gelombang boleh mengesan trend dalam keadaan yang jelas
  • Isyarat gabungan disahkan untuk mengurangkan kemungkinan perdagangan yang salah

Analisis risiko

  • Tetapan parameter yang tidak betul boleh menyebabkan terlalu banyak dagangan
  • Kemungkinan kerugian berganda dalam keadaan gegaran
  • Kesan bayaran urus niaga

Arah pengoptimuman

  • Menyesuaikan parameter penapis gelombang, mengoptimumkan pengiraan penunjuk gelombang
  • Sesuaikan parameter 123 strategi pembalikan untuk mengoptimumkan penghakiman pembalikan lebih banyak
  • Menyertai mekanisme halangan kerugian untuk mengawal kerugian tunggal

ringkaskan

Strategi ini menggunakan faktor pembalikan dan faktor trend secara komprehensif, mewujudkan perdagangan kuantitatif yang didorong oleh pelbagai faktor. Dengan pengesahan dua faktor, kemungkinan perdagangan yang salah dapat dikurangkan, menjadikan strategi berfungsi dengan baik di pelbagai pasaran. Kemudian, strategi ini dapat dioptimumkan lagi dengan penyesuaian parameter dan tetapan stop loss, yang meningkatkan kestabilan dan keuntungan strategi.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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 related article is copyrighted material from
// Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// 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


Bandpass_Filter(Length, Delta, TriggerLevel) =>
    xPrice = hl2
    beta = cos(3.14 * (360 / Length) / 180)
    gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180)
    alpha = gamma - sqrt(gamma * gamma - 1)
    BP = 0.0
    pos = 0.0
    BP := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2])
    pos := iff(BP > TriggerLevel, 1,
	       iff(BP <= TriggerLevel, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Bandpass Filter", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthBF = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBandpass_Filter = Bandpass_Filter(LengthBF, Delta, TriggerLevel)
pos = iff(posReversal123 == 1 and posBandpass_Filter == 1 , 1,
	   iff(posReversal123 == -1 and posBandpass_Filter == -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 ? red: possig == 1 ? green : blue )