Strategi Kombinasi Pembalikan dan Aliran Uang


Tanggal Pembuatan: 2023-09-17 22:37:54 Akhirnya memodifikasi: 2023-09-17 22:58:03
menyalin: 0 Jumlah klik: 651
1
fokus pada
1617
Pengikut

Strategi ini memungkinkan trend tracking dan reversal trading dengan menggabungkan 123 reversal patterns dan cash flow indicator.

Prinsip Strategi

Pertama, menilai titik balik harga melalui 123 bentuk berbalik. Secara khusus, jika dua hari sebelumnya harga penutupan turun, harga penutupan naik pada hari ketiga, dan indikator acak di bawah nilai terendah, menghasilkan sinyal beli; jika dua hari sebelumnya harga penutupan naik, harga penutupan turun pada hari ketiga, dan indikator acak di atas nilai terendah, menghasilkan sinyal jual.

Kedua, menghitung indikator aliran dana untuk garis cepat dan lambat. Garis cepat terdiri dari rata-rata bergerak indeks arus dana untuk periode yang lebih lama. Jika garis cepat lebih tinggi dari garis lambat, maka akan masuk dan menghasilkan sinyal beli; sebaliknya, menghasilkan sinyal jual.

Akhirnya, kombinasi sinyal dari 123 reversal form dan indikator arus kas menghasilkan sinyal perdagangan jika keduanya konsisten.

Analisis Keunggulan

  • Kombinasi beberapa sinyal dapat meningkatkan keandalan sinyal.
  • 123 bentuk reversal dapat menangkap titik reversal, indikator arus kas untuk menentukan arah aliran dana.
  • Performa dari berbagai varietas dan siklus dapat dioptimalkan dengan menyesuaikan parameter.
  • Anda dapat melakukan transaksi dengan menggunakan salah satu sinyal tersebut secara terpisah.

Analisis risiko

  • 123 bentuk terbalik dapat menghasilkan sinyal palsu.
  • Ada keterlambatan dalam aliran dana yang tidak dapat menangkap titik balik tepat waktu.
  • Kombinasi sinyal ganda, logika strategi relatif rumit.
  • Parameter harus dioptimalkan untuk menghindari overtrading.

Risiko dapat dikontrol dengan meningkatkan keandalan bentuk reversal, sensitivitas pengaturan indikator arus kas, dan menambahkan logika stop loss.

Arah optimasi

  • Uji kombinasi parameter yang berbeda untuk menemukan yang terbaik.
  • Ada beberapa cara yang dapat dilakukan untuk mengurangi kemungkinan transaksi yang salah.
  • Menambahkan indikator teknis lainnya untuk meningkatkan kualitas sinyal.
  • Bergabung dengan Stop Loss Mechanism untuk mengendalikan kerugian tunggal.
  • Mengoptimalkan strategi pengelolaan dana dan mengendalikan risiko keseluruhan.

Meringkaskan

Strategi ini mengintegrasikan keuntungan dari perdagangan reversal dan pelacakan tren, yang dapat secara efektif mengidentifikasi titik-titik perubahan pasar. Namun perlu memperhatikan parameter yang disesuaikan dan pengendalian risiko, untuk mencegah terlalu banyak sinyal yang salah saat mengikuti tren. Jika digunakan dengan baik, dapat menjadi salah satu strategi perdagangan yang efisien.

Kode 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 )