Strategi Uji Balik Pengayun Pelangi


Tarikh penciptaan: 2023-12-26 15:08:17 Akhirnya diubah suai: 2023-12-26 15:08:17
Salin: 3 Bilangan klik: 749
1
fokus pada
1623
Pengikut

Strategi Uji Balik Pengayun Pelangi

Gambaran keseluruhan

Strategi pengukuran semula Rainbow Vibrator adalah strategi perdagangan kuantitatif berdasarkan indikator Rainbow Vibrator. Strategi ini menilai arah dan kekuatan trend pasaran dengan mengira sejauh mana perpindahan antara harga saham dan garis rata-rata, untuk membuat keputusan mengenai arah kedudukan panjang dan pendek.

Prinsip Strategi

Penunjuk teras strategi ini adalah Rainbow Oscillator (RO), yang formula pengiraan adalah seperti berikut:

RO = 100 * ((收盘价 - 10日移动平均线) / (最高价的最高值 - 最低价的最低值))

Di antaranya, purata bergerak 10 hari adalah purata bergerak mudah untuk harga penutupan 10 kitaran. Penunjuk ini mencerminkan penyimpangan harga berbanding garis purata sendiri. Apabila RO > 0, mewakili harga di atas garis purata, sebagai isyarat bullish; Apabila RO < 0, mewakili harga di bawah garis purata, sebagai isyarat bearish.

Strategi ini juga mengira satu penunjuk tambahan iaitu Lebaran Bandwidth, RB, yang formula pengiraannya adalah seperti berikut:

RB = 100 * ((均线的最高值 - 均线的最低值) / (最高价的最高值 - 最低价的最低值)) 

RB mencerminkan lebar antara garis rata-rata. Semakin besar RB, semakin besar turun naik harga, sebaliknya harga stabil. Indeks RB boleh digunakan untuk menilai tahap kestabilan pasaran.

Strategi ini menilai tahap penyimpangan harga dan kestabilan pasaran berdasarkan nilai indikator RO dan RB, yang menghasilkan isyarat perdagangan untuk kedudukan panjang dan pendek.

Kelebihan Strategik

Strategi ini mempunyai kelebihan berikut:

  1. Berdasarkan penilaian dua indikator, ia mengelakkan batasan penilaian satu indikator.
  2. Ia boleh menilai pergerakan harga dan kestabilan pasaran.
  3. Pengiraan mudah, mudah difahami dan dilaksanakan.
  4. Tanda-tanda visual, membentuk kesan bunga pelangi, mudah dibaca secara langsung.

Risiko Strategik

Strategi ini mempunyai beberapa risiko:

  1. Tetapan parameter penunjuk RO dan RB yang tidak betul boleh menyebabkan ralat isyarat perdagangan.
  2. Strategi dua hala mudah menyebabkan isyarat yang salah dan perdagangan yang kerap.
  3. Siklus pengesanan semula dan pilihan varieti yang tidak tepat akan menjejaskan kesan strategi.
  4. “Saya tidak tahu apa-apa mengenai apa-apa, tetapi saya tidak tahu apa-apa mengenai apa yang berlaku di Malaysia.

Kaedah pencegahan:

  1. Parameter untuk mengoptimumkan penunjuk RO dan RB.
  2. Menambah syarat penapisan untuk mengelakkan transaksi yang kerap.
  3. Pilih kitaran dan varieti yang sesuai.
  4. Mengira dan mempertimbangkan kos transaksi.

Pengoptimuman Strategi

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Tambah fungsi Smooth pada penunjuk RO untuk mengelakkan turun naik yang teruk dalam penunjuk.
  2. Bergabung dengan strategi Stop Loss untuk mengawal kerugian tunggal.
  3. Perdagangan gabungan dengan penunjuk lain untuk meningkatkan kebarangkalian keuntungan
  4. Menambah model pembelajaran mesin untuk membuat ramalan dan menilai kesan indikator.
  5. Optimumkan parameter untuk pelbagai jenis dan meningkatkan adaptasi.

ringkaskan

Strategi pengukur balik pelangi pelangi dengan mengira hubungan yang menyimpang antara harga dan garis rata-rata, menilai trend dan kestabilan pasaran, untuk melakukan perdagangan jangka pendek. Strategi ini mudah dibaca, mudah dilaksanakan, dan mempunyai nilai praktikal tertentu. Tetapi ada juga beberapa risiko, yang perlu dioptimumkan untuk parameter dan peraturan perdagangan, mengurangkan risiko, meningkatkan keberkesanan dalam talian.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/03/2018
// Ever since the people concluded that stock market price movements are not 
// random or chaotic, but follow specific trends that can be forecasted, they 
// tried to develop different tools or procedures that could help them identify 
// those trends. And one of those financial indicators is the Rainbow Oscillator 
// Indicator. The Rainbow Oscillator Indicator is relatively new, originally 
// introduced in 1997, and it is used to forecast the changes of trend direction.
//
// As market prices go up and down, the oscillator appears as a direction of the 
// trend, but also as the safety of the market and the depth of that trend. As 
// the rainbow grows in width, the current trend gives signs of continuity, and 
// if the value of the oscillator goes beyond 80, the market becomes more and more 
// unstable, being prone to a sudden reversal. When prices move towards the rainbow 
// and the oscillator becomes more and more flat, the market tends to remain more 
// stable and the bandwidth decreases. Still, if the oscillator value goes below 20, 
// the market is again, prone to sudden reversals. The safest bandwidth value where 
// the market is stable is between 20 and 80, in the Rainbow Oscillator indicator value. 
// The depth a certain price has on a chart and into the rainbow can be used to judge 
// the strength of the move.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Rainbow Oscillator Backtest")
Length = input(2, minval=1)
LengthHHLL = input(10, minval=2, title="HHV/LLV Lookback")
reverse = input(false, title="Trade reverse")
xMA1 = sma(close, Length)
xMA2 = sma(xMA1, Length)
xMA3 = sma(xMA2, Length)
xMA4 = sma(xMA3, Length)
xMA5 = sma(xMA4, Length)
xMA6 = sma(xMA5, Length)
xMA7 = sma(xMA6, Length)
xMA8 = sma(xMA7, Length)
xMA9 = sma(xMA8, Length)
xMA10 = sma(xMA9, Length)
xHH = highest(close, LengthHHLL)
xLL = lowest(close, LengthHHLL)
xHHMAs = max(xMA1,max(xMA2,max(xMA3,max(xMA4,max(xMA5,max(xMA6,max(xMA7,max(xMA8,max(xMA9,xMA10)))))))))
xLLMAs = min(xMA1,min(xMA2,min(xMA3,min(xMA4,min(xMA5,min(xMA6,min(xMA7,min(xMA8,min(xMA9,xMA10)))))))))
xRBO = 100 * ((close - ((xMA1+xMA2+xMA3+xMA4+xMA5+xMA6+xMA7+xMA8+xMA9+xMA10) / 10)) / (xHH - xLL))
xRB = 100 * ((xHHMAs - xLLMAs) / (xHH - xLL))
clr = iff(xRBO >= 0, green, red)
pos = iff(xRBO > 0, 1,
       iff(xRBO < 0, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xRBO, color=clr, title="RO", style= histogram, linewidth=2)
p0 = plot(0, color = gray, title="0")
p1 = plot(xRB, color=green, title="RB")
p2 = plot(-xRB, color=red, title="RB")
fill(p1, p0, color=green)
fill(p2, p0, color=red)