Strategi VWAP berdasarkan jarak Z


Tanggal Pembuatan: 2023-11-10 12:02:19 Akhirnya memodifikasi: 2023-11-10 12:02:19
menyalin: 0 Jumlah klik: 803
1
fokus pada
1617
Pengikut

Strategi VWAP berdasarkan jarak Z

Ringkasan

Strategi ini didasarkan pada LazyBear’s Z-distance VWAP indicator, dengan menghitung harga dengan jarak Z-distance VWAP untuk menentukan apakah ada overbought atau oversold, dan melakukan entry entry. Strategi ini menambahkan penilaian EMA rata-rata dan Z-distance return to 0 axis, untuk menyaring beberapa sinyal noise.

Prinsip Strategi

  1. Menghitung nilai VWAP
  2. Perhitungan harga dengan jarak Z dari VWAP
  3. Setting over buy line (< 2.5) dan over sell line (< 0.5)
  4. Ketika garis cepat lebih besar dari garis lambat, Z jaraknya lebih rendah dari garis super, dan Z jaraknya lebih banyak saat melewati sumbu 0
  5. Saat Z berada di atas garis beli
  6. Menambahkan Stop Loss Logic

Fungsi utama:

  • calc_zvwap: menghitung jarak Z dari harga ke VWAP
  • Nilai VWAP: vwap (hlc3)
  • “Saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa.
  • (SlowEma)

Analisis Keunggulan

  1. Menggunakan jarak Z untuk lebih intuitif menilai overbuying dan overselling
  2. Tergabung dengan penyaringan EMA untuk menghindari penipuan
  3. Di sini, Anda dapat mengambil keuntungan dari tren.
  4. Logika Stop Loss untuk Mengontrol Risiko

Analisis risiko

  1. Pastikan pengaturan parameter masuk akal, seperti posisi overbought dan oversold, siklus EMA, dll.
  2. Z terlambat dari indikator, mungkin melewatkan titik jual beli yang penting
  3. Memungkinkan kenaikan suku bunga akan meningkatkan risiko kerugian
  4. Stop loss harus diatur dengan baik.

Solusi:

  1. Pengaturan parameter optimasi dengan pengukuran kembali
  2. Sinyal penyaringan dengan indikator tambahan
  3. Menetapkan kondisi taruhan yang masuk akal
  4. Dinamiskan posisi stop loss

Arah optimasi

  1. Optimalkan parameter siklus EMA
  2. Uji Kriteria Penilaian Overbuying dan Overselling yang Berbeda
  3. Tambahkan indikator lain untuk memfilter sinyal kebisingan
  4. Uji coba berbagai metode penghentian kerugian
  5. Optimalkan logika entry, gain, dan stop loss

Meringkaskan

Strategi ini menggunakan hubungan antara Z-distance untuk menentukan harga dan VWAP, digabungkan dengan sinyal kebisingan EMA untuk menangkap peluang tren. Strategi ini memungkinkan penargetan tren, sambil mengatur risiko pengendalian kerugian. Strategi ini dapat meningkatkan stabilitas strategi melalui pengoptimalan parameter dan penambahan indikator lain. Namun, ada masalah keterlambatan indikator Z-distance yang perlu dipertimbangkan saat pengoptimalan.

Kode Sumber Strategi
/*backtest
start: 2022-11-03 00:00:00
end: 2023-11-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee

//@version=4
//This is based on Z distance from VWAP by Lazybear
strategy(title="ZVWAP[LB] strategy", overlay=false,pyramiding=2, default_qty_type=strategy.fixed, default_qty_value=3,    initial_capital=10000, currency=currency.USD)
length=input(13,"length")

calc_zvwap(pds, source1) =>
	mean = sum(volume*source1,pds)/sum(volume,pds)
	vwapsd = sqrt(sma(pow(source1-mean, 2), pds) )
	(close-mean)/vwapsd


upperTop=2.5  //input(2.5)
upperBottom=2.0  //input(2.0)
lowerTop=-0.5  //input(-0.5)
lowerBottom=-2.0 //input(-2.0)

buyLine=input(-0.5, title="OverSold Line",minval=-2, maxval=3)
sellLine=input(2.0, title="OverBought Line",minval=-2, maxval=3)

fastEma=input(13, title="Fast EMA",minval=1, maxval=50)
slowEma=input(55, title="Slow EMA",minval=10, maxval=200)

stopLoss =input(5, title="Stop Loss",minval=1) 

hline(0, title="Middle Line", linestyle=hline.style_dotted, color=color.green)

ul1=plot(upperTop, "OB High")
ul2=plot(upperBottom, "OB Low")
fill(ul1,ul2, color=color.red)
ll1=plot(lowerTop, "OS High")
ll2=plot(lowerBottom, "OS Low")
fill(ll1,ll2, color=color.green)
zvwapVal=calc_zvwap(length,close)
plot(zvwapVal,title="ZVWAP",color=color.purple, linewidth=2)


longEmaVal=ema(close,slowEma)
shortEmaVal=ema(close,fastEma)  

vwapVal=vwap(hlc3)


zvwapDipped=false

for i = 1 to 10
    zvwapDipped := zvwapDipped or zvwapVal[i]<=buyLine

longCondition=  shortEmaVal > longEmaVal  and zvwapDipped and  crossover(zvwapVal,0)

barcolor(longCondition ? color.yellow: na)

strategy.entry(id="ZVWAPLE", long=true,  when= longCondition  and strategy.position_size<1) 


//Add
strategy.entry(id="ZVWAPLE", comment="Add", long=true,  when= strategy.position_size>1 and close<strategy.position_avg_price and crossover(zvwapVal,0)) 


//calculate stop Loss
stopLossVal =  strategy.position_avg_price -  (strategy.position_avg_price*stopLoss*0.01)

strategy.close(id="ZVWAPLE",comment="SL Exit",    when=close<stopLossVal)   //close all on stop loss

strategy.close(id="ZVWAPLE",comment="TPExitAll",    qty=strategy.position_size ,   when= crossunder(zvwapVal,sellLine))   //close all      zvwapVal>sellLine