Strategi perdagangan pembalikan berbilang faktor


Tarikh penciptaan: 2023-09-19 21:13:04 Akhirnya diubah suai: 2023-09-19 21:13:04
Salin: 1 Bilangan klik: 719
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan pelbagai indikator teknikal untuk menilai perubahan harga, dan merupakan strategi perdagangan berbalik yang didorong oleh pelbagai faktor. Ia menggabungkan 123 bentuk dengan indikator kecekapan pemisahan polarisasi ((PFE), yang masuk ke pasaran apabila kedua-duanya memberikan isyarat yang sama, yang dapat menyaring isyarat palsu dengan berkesan, meningkatkan peluang perdagangan.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian utama:

  1. 123 bentuk penghakiman: apabila harga penutupan naik 2 hari berturut-turut dan turun pada hari ke-3 dan garis cepat Stochastic lebih rendah daripada garis lambat, menghasilkan isyarat beli; apabila harga penutupan turun 2 hari berturut-turut dan bangkit pada hari ke-3 dan garis cepat Stochastic lebih tinggi daripada garis lambat, menghasilkan isyarat jual.

  2. Penilaian PFE: PFE lebih tinggi daripada batas atas yang ditetapkan dan lebih tinggi daripada batas bawah yang ditetapkan.

Hanya apabila bentuk 123 menghasilkan isyarat yang sepadan dengan indikator PFE, ia akan masuk. Apabila kedua-duanya tidak sepadan, ia akan mengekalkan kedudukan kosong.

123 bentuk dapat mengenal pasti titik balik yang berpotensi. PFE menilai kecenderungan dengan cekap, mengelakkan mengejar pemecahan palsu. Kedua-duanya bekerjasama, dapat meningkatkan ketepatan penghakiman, mencapai kesan pengesahan pelbagai faktor.

Kelebihan Strategik

  • 123 bentuk dan petunjuk PFE saling mengesahkan, mengurangkan isyarat palsu
  • PFE mempunyai asas teori yang kukuh, penilaian yang berkesan terhadap kecekapan harga
  • Pemanduan pelbagai faktor untuk meningkatkan ketepatan penilaian
  • Fleksibiliti strategi yang menggabungkan penukaran bentuk dan trend
  • Parameter yang boleh disesuaikan untuk menyesuaikan diri dengan perubahan pasaran

Risiko strategik dan tindak balas

  • Faktor individu mungkin memberi isyarat yang salah
  • Tetapan faktor memerlukan pengoptimuman dan penyesuaian berterusan
  • Tempoh memegang jawatan yang lebih pendek, risiko kehilangan yang lebih kerap

Cara untuk menangani masalah ini:

  1. Menambah faktor pengesahan untuk meningkatkan ketepatan
  2. Optimumkan konfigurasi parameter untuk meningkatkan stableness
  3. Mencari parameter optimum dengan menggunakan kaedah pengoptimuman automatik
  4. Tetapkan penangguhan salam atau penangguhan bergerak

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Tambah seting stop loss berdasarkan Volatility
  2. Mengoptimumkan semua parameter secara automatik menggunakan kaedah pembelajaran mesin dan sebagainya
  3. Kurangkan kekerapan berbalik semasa trend kuat
  4. Penyesuaian pegangan kepada turun naik pasaran yang digabungkan dengan penunjuk penyesuaian diri
  5. Kombinasi dengan strategi lain, penyebaran risiko, peningkatan kadar pulangan keseluruhan

ringkaskan

Strategi ini menggabungkan pelbagai faktor untuk menentukan titik balik harga, mempunyai asas teori dan mudah untuk dilaksanakan. Bergerak dengan pelbagai faktor untuk meningkatkan ketepatan penghakiman berbanding dengan satu indikator, merupakan strategi perdagangan berbalik yang agak mantap.

Kod sumber strategi
/*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 )