Parabola Oscillator Mencari Strategi Tinggi dan Rendah

Penulis:ChaoZhang, Tarikh: 2024-02-20 16:01:12
Tag:

img

Ringkasan

Strategi ini mengenal pasti harga tertinggi dan terendah dengan mengira purata bergerak dan variasi dalam tempoh masa yang berbeza untuk menentukan trend dan turun naik.

Logika Strategi

Logik teras strategi ini adalah untuk mengira purata bergerak dan varians dalam tempoh masa yang berbeza. Khususnya, ia mengira purata bergerak 5 hari, 4 hari dan 3 hari (ma, mb, mc) dan varians (da, db, dc). Ia kemudian membandingkan saiz dan memilih tempoh dengan varians tertinggi untuk mewakili trend semasa. Akhirnya, ia mengalikan varians kuadrat tempoh perwakilan dengan purata bergerak untuk mengeluarkan kurva akhir wg.

Oleh itu, apabila harga pecah ke atas atau ke bawah, tempoh perwakilan dan variansnya akan berubah dengan ketara, menyebabkan wg berubah dengan ketara juga, mencapai pengenalan tertinggi dan terendah.

Analisis Kelebihan

Idea menilai perubahan trend berdasarkan tempoh yang berbeza adalah berkesan dan dapat dengan jelas mengenal pasti titik perubahan harga.

Mengira purata bergerak dan varians juga mudah dan cekap. Dengan saiz kod yang kecil, ia sangat sensitif terhadap perubahan harga tiba-tiba dan dapat mengesan pecah dengan cepat.

Analisis Risiko

Tempoh yang digunakan dalam strategi ini adalah pendek. Untuk tujuan jangka menengah hingga panjang, pertimbangan mungkin tidak cukup tepat dan komprehensif.

Juga, berat purata bergerak dan varians mempengaruhi keputusan. Jika ditetapkan dengan tidak betul, isyarat boleh bias.

Arahan pengoptimuman

Lebih banyak tempoh masa yang berbeza boleh ditambahkan untuk membentuk gabungan untuk membuat keputusan lebih komprehensif, contohnya 10 hari, 20 hari untuk tujuan jangka menengah hingga panjang.

Skema berat yang berbeza juga boleh diuji untuk menjadikan tetapan berat lebih fleksibel. pengoptimuman parameter boleh diperkenalkan untuk menyesuaikan berat secara automatik berdasarkan keadaan pasaran untuk mengurangkan kemungkinan penilaian yang salah.

Di samping itu, penunjuk lain boleh dimasukkan, seperti jumlah dagangan yang tidak normal, untuk mengelakkan ditipu oleh perdagangan arbitraj.

Kesimpulan

Logik keseluruhan strategi ini jelas dan mudah difahami, menggunakan purata bergerak dan varians untuk menilai trend harga dan turun naik, dan kemudian menggabungkannya untuk mengeluarkan kurva yang dapat mengenal pasti tinggi dan rendah dengan jelas. Penghakiman gabungan pelbagai tempoh sedemikian dapat menangkap ciri-ciri pasaran jangka pendek dan jangka panjang dengan berkesan, meningkatkan ketepatan pengesanan titik belok.


/*backtest
start: 2024-02-12 00:00:00
end: 2024-02-19 00:00:00
period: 12h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("x²", overlay=false)


a1=(close[2]-close[3])/1
a2=(close[1]-close[3])/4
a3=(close[0]-close[3])/9

b1=(close[3]-close[4])/1
b2=(close[2]-close[4])/4
b3=(close[1]-close[4])/9
b4=(close[0]-close[4])/16

c1=(close[4]-close[5])/1
c2=(close[3]-close[5])/4
c3=(close[2]-close[5])/9
c4=(close[1]-close[5])/16
c5=(close[0]-close[5])/25

ma=(a1+a2+a3)/3
da=(a1-ma)*(a1-ma)
da:=da+(a2-ma)*(a2-ma)
da:=da+(a3-ma)*(a3-ma)
da:=sqrt(da)
da:=min(2, da)
da:=1-da/2
da:=max(0.001, da)


mb=(b1+b2+b3+b4)/4
db=(b1-mb)*(b1-mb)
db:=db+(b2-mb)*(b2-mb)
db:=db+(b3-mb)*(b3-mb)
db:=db+(b4-mb)*(b4-mb)
db:=sqrt(db)
db:=min(2, db)
db:=1-db/2
db:=max(0.001, db)

mc=(c1+c2+c3+c4+c5)/5
dc=(c1-mc)*(c1-mc)
dc:=dc+(c2-mc)*(c2-mc)
dc:=dc+(c3-mc)*(c3-mc)
dc:=dc+(c4-mc)*(c4-mc)
dc:=dc+(c5-mc)*(c5-mc)
dc:=sqrt(dc)
dc:=min(2, dc)
dc:=1-dc/2
dc:=max(0.001, dc)



g=close
if(da>db and da>dc)
    g:=da*da*ma
else
    if(db > da and db > dc)
        g:=db*db*mb
    else
        g:=dc*dc*mc

wg=wma(g, 2)
plot(wg)
plot(0, color=black)


longCondition = true //crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = true //crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

Lebih lanjut