Strategi pembalikan purata bergerak silang berganda

Penulis:ChaoZhang, Tarikh: 2023-11-21 11:28:27
Tag:

imgDi sini adalah artikel yang saya cuba tulis mengikut permintaan anda:

Ringkasan

Strategi ini menggabungkan strategi corak pembalikan 123 dan strategi indikator Bear Power. Isyarat perdagangan dihasilkan apabila kedua-dua memberi isyarat beli atau jual ke arah yang sama.

Logika Strategi

Strategi ini terdiri daripada dua bahagian:

  1. 123 Strategi corak pembalikan

    Ia menjana isyarat beli apabila harga penutupan pecah ke atas selepas dua hari berturut-turut penurunan dan penunjuk Stoch rendah melantun kembali dari tahap rendah; Ia menjana isyarat jual apabila harga penutupan pecah selepas dua hari berturut-turut kenaikan dan penunjuk Stoch tinggi menarik balik dari tahap tinggi.

  2. Strategi Petunjuk Kuasa Bear

    Indikator Kuasa Beruang mencerminkan perbandingan kekuatan bullish dan bearish. Ia menghasilkan isyarat jual apabila di atas garis jual yang ditetapkan dan menghasilkan isyarat beli apabila di bawah garis beli yang ditetapkan.

Apabila menggabungkan isyarat, isyarat dagangan sebenar dihasilkan jika kedua-duanya memberi isyarat ke arah yang sama.

Kelebihan

  1. Menggabungkan isyarat pembalikan dan penapis petunjuk mengelakkan pecah palsu dan meningkatkan kualiti isyarat.

  2. Boleh digunakan untuk pelbagai jangka masa, fleksibel dalam menyesuaikan diri dengan persekitaran pasaran yang berbeza.

  3. Strategi konstituen boleh digunakan secara bersendirian atau digabungkan, dengan reka bentuk modular.

Risiko

  1. Isyarat pembalikan mungkin menghadapi kedalaman menarik balik yang besar.

  2. Parameter indikator Bear Power memerlukan ujian berulang dan pengoptimuman.

  3. Strategi bersepadu pelbagai faktor mempunyai penyesuaian parameter yang kompleks dan memerlukan sejumlah besar data sejarah untuk ujian.

Arahan pengoptimuman

  1. Sambungkan lebih banyak sumber data dengan modul Quant bergabung untuk mendapatkan julat masa yang lebih panjang dan set data yang lebih kaya.

  2. Menggunakan kaedah pembelajaran mesin untuk mencari dan menilai kombinasi parameter secara automatik.

  3. Tambah mekanisme stop loss untuk mengawal kerugian perdagangan tunggal.

Kesimpulan

Strategi ini menggabungkan analisis teknikal pembalikan dan penunjuk kuantitatif untuk meningkatkan kualiti isyarat melalui pengesahan berganda. Ia mempunyai modulariti dan kebolehluasan yang tinggi. Pengoptimuman lanjut dengan teknologi canggih dapat menyesuaikan diri dengan persekitaran pasaran yang lebih canggih.


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/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
//  Bear Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// 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

BearPower(SellLevel, BuyLevel) =>
    value =  iff (close < open ,  
              iff (close[1] > open ,  max(close - open, high - low), high - low), 
               iff (close > open, 
                 iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), 
                  iff(high - close > close - low, 
                   iff (close[1] > open, max(close[1] - open, high - low), high - low), 
                     iff (high - close < close - low, 
                      iff(close > open, max(close - low, high - close),open - low), 
                       iff (close > open, max(close[1] - open, high - close),
                         iff(close[1] < open, max(open - low, high - close), high - low))))))
    pos = 0.0
    pos := iff(value > SellLevel, -1,
	   iff(value <= BuyLevel, 1, nz(pos[1], 0))) 

    pos

strategy(title="Combo Backtest 123 Reversal & Bear Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(30)
BuyLevel = input(3)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBearPower = BearPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBearPower == 1 , 1,
	   iff(posReversal123 == -1 and posBearPower == -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 ) 

Lebih lanjut