Strategi perdagangan pembalikan multi-faktor

Penulis:ChaoZhang, Tanggal: 2023-09-19 21:13:04
Tag:

Gambaran umum

Strategi ini menggabungkan beberapa indikator teknis untuk mengidentifikasi pembalikan harga, menjadikannya strategi perdagangan pembalikan yang didorong oleh banyak faktor.

Logika Strategi

Strategi ini terdiri dari dua komponen utama:

  1. Identifikasi pola: Sinyal beli dihasilkan ketika penutupan naik selama 2 hari berturut-turut dan kemudian turun pada hari ke-3, dengan garis cepat Stochastic di bawah garis lambat. Sinyal jual dihasilkan ketika sebaliknya terjadi.

  2. Batas indikator PFE: PFE di atas batas atas menunjukkan sinyal jual, PFE di bawah batas bawah menunjukkan sinyal beli.

Perdagangan hanya dimasukkan ketika pola 123 dan indikator PFE setuju.

Pola 123 mengidentifikasi potensi pembalikan. PFE mengukur efisiensi tren untuk menghindari pecah palsu.

Keuntungan

  • 123 pola dan PFE saling memvalidasi, mengurangi sinyal palsu
  • PFE memiliki dasar teoritis yang kuat untuk mengevaluasi efisiensi harga
  • Multi-faktor didorong meningkatkan akurasi
  • Menggabungkan pola pembalikan dan indikator tren memberikan fleksibilitas
  • Parameter yang dapat disesuaikan beradaptasi dengan perubahan pasar

Risiko dan Pengurangan

  • Faktor-faktor individu dapat memberikan sinyal yang salah
  • Pengaturan faktor membutuhkan pengoptimalan terus menerus
  • Resiko jangka pendek, sering stop loss

Pengurangan:

  1. Faktor tambahan untuk meningkatkan akurasi
  2. Optimasi parameter untuk peningkatan ketahanan
  3. Metode pengoptimalan otomatis untuk menemukan parameter optimal
  4. Menggunakan kerugian stop tetap atau trailing

Peluang Peningkatan

Strategi ini dapat ditingkatkan melalui:

  1. Stop berdasarkan volatilitas
  2. Otomatis mengoptimalkan semua parameter melalui pembelajaran mesin
  3. Mengurangi frekuensi pembalikan selama tren yang kuat
  4. Indikator penyesuaian untuk menyesuaikan volatilitas pasar
  5. Kombinasi portofolio untuk mendiversifikasi risiko dan meningkatkan laba

Kesimpulan

Strategi ini menggabungkan beberapa faktor untuk mengidentifikasi titik pembalikan, memberikan kepastian teoritis dan kemudahan pelaksanaan. Pendekatan multi-faktor meningkatkan akurasi terhadap indikator tunggal. Perbaikan lebih lanjut dapat datang melalui optimasi parameter, manajemen stop loss, kombinasi portofolio dan banyak lagi.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/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 Polarized Fractal Efficiency (PFE) indicator measures the efficiency 
// of price movements by drawing on concepts from fractal geometry and chaos 
// theory. The more linear and efficient the price movement, the shorter the 
// distance the prices must travel between two points and thus the more efficient 
// the price movement.
//
// 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


PFE(Length,LengthEMA,BuyBand,SellBand) =>
    pos = 0.0
    PFE = sqrt(pow(close - close[Length], 2) + 100)
    C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
    xFracEff = iff(close - close[Length] > 0,  round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
    xEMA = ema(xFracEff, LengthEMA)
    pos := iff(xEMA < SellBand, -1,
    	      iff(xEMA > BuyBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & PFE (Polarized Fractal Efficiency)", 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, "---- PFE ----")
LengthPFE = input(9, minval=1)
LengthEMA = input(5, minval=1)
BuyBand = input(50, step = 0.1)
SellBand = input(-50, step = 0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPFE = PFE(LengthPFE,LengthEMA,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posPFE == 1 , 1,
	   iff(posReversal123 == -1 and posPFE == -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 banyak