Sistem purata bergerak pembalikan penjejakan dwi talian


Tarikh penciptaan: 2023-11-07 16:00:33 Akhirnya diubah suai: 2023-11-07 16:00:33
Salin: 0 Bilangan klik: 615
1
fokus pada
1621
Pengikut

Sistem purata bergerak pembalikan penjejakan dwi talian

Gambaran keseluruhan

Sistem garis purata berbalik dengan pengesanan dua baris menggabungkan strategi 123 bentuk berbalik dan strategi carta keseimbangan pertama untuk mencari peluang berbalik dan mengesan trend untuk mendapatkan keuntungan tambahan.

Prinsip Strategi

Strategi ini terdiri daripada dua sub-strategi:

  1. 123 Strategi pembalikan bentuk

Strategi ini berpusat pada bentuk harga. Logiknya ialah:

  • Apabila harga penutupan meningkat selama dua hari berturut-turut dan K-baris perlahan di bawah 50 pada hari ke-9
  • Apabila harga penutupan turun selama dua hari berturut-turut dan K Line Rapid berada di atas 50 pada hari ke-9, buat shorting

Strategi ini menggunakan cara harga memecahkan harga penutupan hari sebelumnya untuk menilai pembalikan, dan menggunakan indeks gabungan K-line saham untuk menghapuskan penutupan gegaran.

  1. Strategi jadual keseimbangan

Strategi ini berpangkalan pada lima garis silang pada carta keseimbangan pertama. Logiknya ialah:

  • Lebih banyak apabila harga penutupan lebih tinggi daripada garis dasar
  • Kos kosong apabila harga penutupan berada di bawah garis penukaran

Di antaranya, garis asas adalah titik pertengahan harga tertinggi dan terendah dalam 26 hari terakhir, dan garis peralihan adalah titik pertengahan harga tertinggi dan terendah dalam 9 hari terakhir. Strategi ini memanfaatkan tren penemuan sistem persilangan garis rata.

Strategi akhir digabungkan berdasarkan isyarat dari kedua-dua strategi anak, apabila kedua-duanya membuka kedudukan ketika melihat lebih banyak atau melihat lebih sedikit, dan posisi yang berbeza ketika melihat lebih rendah.

Analisis kelebihan

  • Gabungan reversal dan trend, boleh menangkap peluang reversal dan juga trend, strategi fleksibel.
  • Bentuk 123 mudah digunakan dan berkesan untuk mengenal pasti titik kritikal.
  • Parameter Tabel Keseimbangan Pertama telah dioptimumkan, risiko penembusan kecil.
  • Dua jenis strategi yang berbeza boleh digabungkan untuk mencapai pengoptimuman strategi.

Analisis risiko

  • Strategi pembalikan mudah terperangkap dan terdapat risiko kerugian. Anda boleh mengurangkan kitaran dagangan dengan sewajarnya, atau meningkatkan stop loss untuk mengawal risiko.
  • Tabel keseimbangan pertama mudah ditarik dalam keadaan goyah, parameter boleh disesuaikan dengan sewajarnya atau menambah syarat penapisan untuk mengurangkan perdagangan yang tidak perlu.
  • Apabila kedua-dua strategi digabungkan, pencocokan parameter yang tidak betul boleh menyebabkan isyarat terlalu kerap atau jarang, yang memerlukan pengujian dan pengoptimuman yang teliti.

Arah pengoptimuman

  • Uji lebih banyak kombinasi penunjuk untuk mencari penapis yang lebih baik.
  • Mengoptimumkan parameter pada jadual keseimbangan untuk menjadikannya lebih sesuai dengan ciri-ciri produk tertentu.
  • Peningkatan mekanisme hentian kerugian. Hentian pegangan boleh ditetapkan berdasarkan ATR.
  • Menambah modul pengurusan wang untuk mengawal risiko.
  • Untuk mengumpul lebih banyak data dalam tinjauan semula, strategi ini diuji secara pelbagai, masalah ditemui dan terus dioptimumkan.

ringkaskan

Kelebihan strategi terbalik dan trend yang digunakan secara komprehensif oleh sistem garis rata-rata berbalik dan berbalik dengan pengoptimuman parameter dan gabungan strategi. Strategi ini mempunyai kelebihan perdagangan tertentu, tetapi juga terdapat risiko penyekatan dan penghentian kerugian.

Kod sumber strategi
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/11/2020
// 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
//  Ichimoku Strategy
//
// 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

middleDonchian(Length) =>
    lower = lowest(Length)
    upper = highest(Length)
    avg(upper, lower)    
    
Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement) =>
    pos = 0.0
    Tenkan = middleDonchian(conversionPeriods)
    Kijun =  middleDonchian(basePeriods)
    xChikou = close
    SenkouA = middleDonchian(laggingSpan2Periods)
    SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
    pos := iff(close < SenkouA[displacement], -1,
              iff(close > SenkouB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ichimoku2c", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
conversionPeriods = input(9, minval=1),
basePeriods = input(26, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posIchimoku2c = Ichimoku2c(conversionPeriods, basePeriods,laggingSpan2Periods,displacement)
pos = iff(posReversal123 == 1 and posIchimoku2c == 1 , 1,
	   iff(posReversal123 == -1 and posIchimoku2c == -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 )