Strategi pembalikan rata-rata bergerak silang ganda

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

imgDi sini adalah artikel yang saya coba tulis sesuai dengan permintaan Anda:

Gambaran umum

Strategi ini menggabungkan strategi pola pembalikan 123 dan strategi indikator Bear Power. Sinyal perdagangan dihasilkan ketika keduanya memberikan sinyal beli atau jual ke arah yang sama.

Logika Strategi

Strategi ini terdiri dari dua bagian:

  1. 123 Strategi pola pembalikan

    Ini menghasilkan sinyal beli ketika harga penutupan keluar ke atas setelah dua hari berturut-turut penurunan dan indikator Stoch rendah memantul kembali dari tingkat rendah; Ini menghasilkan sinyal jual ketika harga penutupan rusak setelah dua hari berturut-turut kenaikan dan indikator Stoch tinggi menarik kembali dari tingkat tinggi.

  2. Strategi Indikator Daya Beruang

    Indikator Bear Power mencerminkan perbandingan kekuatan bullish dan bearish.

Saat menggabungkan sinyal, sinyal perdagangan yang sebenarnya dihasilkan jika keduanya memberikan sinyal ke arah yang sama.

Keuntungan

  1. Menggabungkan sinyal pembalikan dan filter indikator mencegah pecah palsu dan meningkatkan kualitas sinyal.

  2. Terapkan pada beberapa kerangka waktu, fleksibel dalam beradaptasi dengan lingkungan pasar yang berbeda.

  3. Strategi konstituen dapat digunakan sendiri atau dalam kombinasi, dengan desain modular.

Risiko

  1. Sinyal pembalikan mungkin menghadapi kedalaman tarik balik yang besar.

  2. Parameter indikator Bear Power membutuhkan pengujian berulang dan optimalisasi.

  3. Strategi terintegrasi multi-faktor memiliki penyesuaian parameter yang kompleks dan membutuhkan sejumlah besar data historis untuk pengujian.

Arahan Optimasi

  1. Hubungkan lebih banyak sumber data dengan modul Quant bergabung untuk mendapatkan rentang waktu yang lebih panjang dan dataset yang lebih kaya.

  2. Menerapkan metode pembelajaran mesin untuk secara otomatis mencari dan mengevaluasi kombinasi parameter.

  3. Tambahkan mekanisme stop loss untuk mengendalikan kerugian perdagangan tunggal.

Kesimpulan

Strategi ini menggabungkan analisis teknis pembalikan dan indikator kuantitatif untuk meningkatkan kualitas sinyal melalui konfirmasi ganda.


/*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 banyak