Strategi Pengesanan Pembalikan Berbilang Faktor

Penulis:ChaoZhang, Tarikh: 2023-09-15 14:31:15
Tag:

Ringkasan Strategi

Strategi pengesanan pembalikan pelbagai faktor menjana isyarat perdagangan dengan menggabungkan corak pembalikan harga dan penunjuk overbought-oversold. Ia mensintesis pelbagai faktor untuk mengenal pasti paras tertinggi dan terendah pasaran dan menghasilkan isyarat perdagangan pada titik pembalikan untuk menangkap pembalikan harga jangka menengah-pendek.

Logika Strategi

Strategi ini terdiri daripada dua modul:

  1. 123 Modul corak pembalikan
  • Pergi pendek apabila melihat tinggi baru 2 hari tetapi menarik balik pada hari ke-3, menunjukkan potensi tinggi jangka pendek.

  • Pergi panjang apabila melihat tahap terendah baru 2 hari tetapi bangkit pada hari ke-3, menunjukkan potensi jangka pendek yang rendah.

  1. Modul RSI Kejuruteraan Balik
  • Mengenal pasti titik pembalikan dengan menyesuaikan secara dinamik garis RSI overbought dan oversold.

  • Pergi pendek apabila RSI di atas garis overbought yang disesuaikan, pergi panjang apabila RSI di bawah garis oversold yang disesuaikan.

Isyarat perdagangan hanya dihasilkan apabila kedua-dua modul sejajar.

Kelebihan terbesarnya adalah menggabungkan beberapa faktor untuk menentukan paras tertinggi dan terendah struktur, menapis beberapa isyarat palsu dari faktor individu, dan meningkatkan kadar kemenangan perdagangan sebenar.

Kelebihan Strategi

  • Sintesis pelbagai faktor untuk pengenalan tinggi/rendah yang komprehensif

  • Menggabungkan corak pembalikan dan penunjuk overbought / oversold

  • Menyaring pembalikan palsu, meningkatkan ketepatan

  • Parameter backtest yang boleh dioptimumkan yang dapat disesuaikan dengan pasaran yang berbeza

  • Mudah dilaksanakan untuk replikasi pantas

Amaran Risiko

  • Isyarat pembalikan mungkin tertunda, kemas kini parameter diperlukan

  • Elakkan perdagangan berlebihan untuk mengelakkan komisen yang lebih banyak

  • Dasar-dasar stok individu masih perlu dipertimbangkan

  • Strategi pembalikan yang lebih sesuai untuk indeks dan stok panas

Kesimpulan

Strategi pengesanan pembalikan pelbagai faktor menggabungkan kekuatan alat kuant dan pengalaman analisis manual dengan sempurna dengan mempertimbangkan pelbagai perspektif untuk isyarat perdagangan. Berbanding dengan strategi penunjuk tunggal, ia meningkatkan kestabilan perdagangan sebenar dan kadar kemenangan dengan ketara. Strategi ini bernilai disahkan dan dioptimumkan dalam backtest pertama, kemudian secara beransur-ansur dilaksanakan dalam perdagangan langsung, dengan nilai praktikal yang sangat ketara.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/06/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
// The related article is copyrighted material from
// Stocks & Commodities.
//
// 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


RE_RSI(Value,WildPer) =>
    pos = 0.0
    AUC = 0.0
    ADC = 0.0
    ExpPer = 2 * WildPer - 1
    K = 2 / (ExpPer + 1)
    AUC := iff(close > close[1], K * (close - close[1]) + (1 - K) * nz(AUC[1], 1), (1-K) * nz(AUC[1], 1))
    ADC := iff(close > close[1], (1-K) * nz(ADC[1], 1), K * (close[1] - close) + (1 - K) * nz(ADC[1], 1))
    nVal = (WildPer - 1) * (ADC * Value / (100 - Value) - AUC)
    nRes = iff(nVal >= 0, close + nVal, close + nVal * (100 - Value) / Value)
    pos:= iff(nRes > close, -1,
    	   iff(nRes < close, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Reverse Engineering RSI, by Giorgos Siligardos", 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, "---- Reverse Engineering RSI ----")
Value = input(50, minval=1)
WildPer = input(14,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRE_RSI = RE_RSI(Value,WildPer)
pos = iff(posReversal123 == 1 and posRE_RSI == 1 , 1,
	   iff(posReversal123 == -1 and posRE_RSI == -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 )

Lebih lanjut