Strategi perdagangan pembalikan gabungan pelbagai penunjuk


Tarikh penciptaan: 2023-09-13 15:04:40 Akhirnya diubah suai: 2023-09-13 15:04:40
Salin: 0 Bilangan klik: 461
1
fokus pada
1234
Pengikut

Strategi ini dipanggil strategi perdagangan berbalik gabungan pelbagai indikator. Strategi ini menggunakan pelbagai indikator teknikal secara komprehensif, mengenal pasti masa harga berbalik dalam jangka pendek, dan melakukan perdagangan berbalik untuk mendapatkan keuntungan.

Pertama, strategi ini menggunakan 123 reversal bentuk untuk menentukan harga jangka pendek reversal. 123 reversal bentuk adalah harga tiga hari berturut-turut penutupan mempunyai jelas tinggi rendah jurang, pada hari ketiga penutupan reversal dua hari sebelum trend bentuk. Menurut statistik, berterusan 123 reversal bentuk menghantar isyarat keuntungan yang lebih tinggi.

Kedua, strategi ini menggabungkan indikator RSI secara rawak untuk menentukan kebolehpercayaan isyarat pembalikan. RSI di bawah 50 mewakili bentuk oversold, di atas 50 mewakili bentuk overbought. Gabungan dengan indikator RSI dapat mengelakkan terlalu banyak isyarat yang tidak boleh dipercayai hanya dengan 123 bentuk pembalikan.

Akhirnya, strategi ini diperkenalkan lagi dalam penghakiman forks pelbagai kitaran CMO. Forks CMO menggabungkan purata bergerak indeks yang berbeza untuk menentukan apakah pergerakan harga akan berbalik. Isyaratnya mengesahkan sekali lagi 123 masa perdagangan berbalik.

Penggunaan gabungan pelbagai petunjuk di atas dapat meningkatkan kejayaan menangkap harga berbalik dan mengelakkan terlalu banyak isyarat ketidakpastian. Isyarat perdagangan berbalik yang kuat dikeluarkan apabila RSI dan CMO menyokong bentuk 123.

Strategi ini sesuai untuk menyusun pasaran yang bergolak, menangkap denyutan harga jangka pendek. Tetapi kombinasi pelbagai indikator juga mudah berlaku dalam keadaan di mana pelbagai indikator saling melindungi, dan parameter perlu dioptimumkan. Strategi hentikan kerugian juga perlu digunakan untuk mengawal kerugian maksimum perdagangan tunggal.

Secara keseluruhan, strategi perdagangan berbalik yang menggabungkan pelbagai indikator, menggabungkan pelbagai alat meningkatkan ketepatan penghakiman masa berbalik pasaran. Tetapi tidak ada strategi tunggal yang sempurna, yang memerlukan peniaga untuk mengesahkan dan menyesuaikan diri dengan keadaan pasaran semasa, dan sentiasa mengekalkan fleksibiliti kesedaran perdagangan.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/02/2020
// 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 related CMOaDisparity Index article is copyrighted material from Stocks & Commodities Dec 2009
// My strategy modification.
//
// 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

CMOD(LengthFirst, LengthSecond, LengthThird) =>
    pos = 0.0
    xEMAFirst = ema(close,LengthFirst)
    xEMASecond  = ema(close,LengthSecond)
    xEMAThird  = ema(close,LengthThird)
    xResFirst = 100 * (close - xEMAFirst) / close
    xResSecond = 100 * (close - xEMASecond) / close
    xResThird = 100 * (close - xEMAThird) / close
    pos := iff(xResThird > xResFirst, -1,
             iff(xResThird < xResSecond, 1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & CMOaDisparity Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthFirst = input(50, minval=1)
LengthSecond = input(25, minval=1)
LengthThird = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOD = CMOD(LengthFirst, LengthSecond, LengthThird)
pos = iff(posReversal123 == 1 and posCMOD == 1 , 1,
	   iff(posReversal123 == -1 and posCMOD == -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 )