Pembalikan dan Strategi Gabungan Aliran Wang


Tarikh penciptaan: 2023-09-17 22:37:54 Akhirnya diubah suai: 2023-09-17 22:58:03
Salin: 0 Bilangan klik: 651
1
fokus pada
1617
Pengikut

Strategi ini membolehkan trend-tracking dan reversal trading dengan menggabungkan 123 reversals dengan penunjuk aliran wang.

Prinsip Strategi

Pertama, dengan 123 bentuk pembalikan menilai titik pembalikan harga. Secara khusus, jika harga penutupan dua hari pertama jatuh, harga penutupan naik pada hari ketiga, dan penunjuk rawak berada di bawah penurunan, menghasilkan isyarat beli; jika harga penutupan dua hari pertama naik, harga penutupan hari ketiga jatuh, dan penunjuk rawak berada di atas penurunan, menghasilkan isyarat jual.

Kedua, mengira indikator aliran dana untuk garis pantas dan perlahan. Garis pantas terdiri daripada purata bergerak indeks aliran dana untuk tempoh yang lebih lama, dan garis perlahan adalah purata bergerak indeks untuk tempoh yang lebih lama. Jika garis pantas lebih tinggi daripada garis perlahan, ia dianggap sebagai aliran dana, menghasilkan isyarat membeli; sebaliknya, ia menghasilkan isyarat menjual.

Akhir sekali, gabungan 123 reversals dengan indikator aliran wang menghasilkan isyarat dagangan jika kedua-dua isyarat itu sepadan.

Analisis kelebihan

  • Menggabungkan beberapa isyarat, ia boleh meningkatkan kebolehpercayaan isyarat.
  • 123 bentuk pembalikan dapat menangkap titik pembalikan, dan penunjuk aliran dana menentukan arah aliran dana.
  • Ia boleh menyesuaikan parameter untuk mengoptimumkan prestasi pelbagai jenis dan kitaran.
  • Anda boleh menggunakan salah satu isyarat untuk berdagang secara berasingan.

Analisis risiko

  • 123 bentuk terbalik mungkin menghasilkan isyarat palsu.
  • “Kedua-duanya tidak dapat dipastikan”, kata beliau. “Kedua-duanya tidak dapat dipastikan.
  • Kombinasi pelbagai isyarat, strategi logik agak rumit.
  • Parameter perlu dioptimumkan untuk mengelakkan perdagangan berlebihan.

Risiko boleh dikawal dengan meningkatkan kebolehpercayaan bentuk pembalikan, sensitiviti dalam penunjuk aliran dana, dan logik stop-loss.

Arah pengoptimuman

  • Uji kombinasi parameter yang berbeza untuk mencari parameter terbaik.
  • Menyesuaikan pembelian dan penjualan dengan nilai terendah, mengurangkan kemungkinan perdagangan yang salah.
  • Menambah petunjuk teknikal lain untuk meningkatkan kualiti isyarat.
  • Bergabung dengan mekanisme halangan kerugian untuk mengawal kerugian tunggal.
  • Mengoptimumkan strategi pengurusan dana dan mengawal risiko keseluruhan.

ringkaskan

Strategi ini mengintegrasikan kelebihan perdagangan terbalik dan trend tracking, dapat mengenal pasti titik-titik perubahan pasaran dengan berkesan. Tetapi perlu berhati-hati dengan parameter penyesuaian dan kawalan risiko, untuk mengelakkan terlalu banyak isyarat yang salah semasa mengikuti trend. Jika digunakan dengan baik, ia boleh menjadi salah satu strategi perdagangan yang cekap.

Kod sumber strategi
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/02/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
//    Indicator plots Money Flow Indicator (Chaikin). This indicator looks 
//    to improve on Larry William's Accumulation Distribution formula that 
//    compared the closing price with the opening price. In the early 1970's, 
//    opening prices for stocks stopped being transmitted by the exchanges. 
//    This made it difficult to calculate Williams' formula. The Chaikin 
//    Oscillator uses the average price of the bar calculated as follows 
//    (High + Low) /2 instead of the Open.
//    The indicator subtracts a 10 period exponential moving average of the 
//    AccumDist function from a 3 period exponential moving average of the 
//    AccumDist function.  
//
// 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


MFI(Fast,Slow) =>
    pos = 0.0
    lenMax = max(Fast, Slow)
    lenMin = min(Fast, Slow)
    xDiv = (high - low) * volume
    SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax)
    SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin)
    emaMax = ema(SumMax, lenMax)
    emaMin = ema(SumMin, lenMin)
    nRes = emaMax - emaMin
    pos:= iff(nRes > 0, 1,
           iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Money Flow Indicator", 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, "---- Money Flow ----")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(Fast,Slow)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -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 )