Strategi mengikut aliran berdasarkan VWMA dan ATR


Tarikh penciptaan: 2023-11-07 16:39:47 Akhirnya diubah suai: 2023-11-07 16:39:47
Salin: 1 Bilangan klik: 716
1
fokus pada
1617
Pengikut

Strategi mengikut aliran berdasarkan VWMA dan ATR

Gambaran keseluruhan

Strategi ini menggunakan petunjuk VWMA untuk menentukan arah trend, dan menggunakan petunjuk ATR untuk menetapkan garis hentian untuk trend. Strategi ini sesuai untuk persekitaran pasaran yang mempunyai trend yang jelas.

Prinsip Strategi

  1. Gunakan penunjuk VWMA untuk menentukan arah trend. Apabila harga lebih tinggi daripada VWMA, anda akan melihat ia sebagai trend naik, jadi lebih banyak; apabila harga lebih rendah daripada VWMA, anda akan melihat ia sebagai trend menurun, jadi lebih banyak.

  2. Untuk menyaring penipuan palsu, masukkan penilaian RSI oscillator. Isyarat lebih banyak akan dikeluarkan hanya apabila RSI lebih tinggi daripada 30.

  3. Menggunakan indikator ATR untuk mengira garis hentian. Panjang ATR ditetapkan sama dengan VWMA, dan perkalian ditetapkan pada 3.5 . Garis hentian akan dikemas kini secara langsung mengikut harga.

  4. Tetapan pengganda ATR akan mempengaruhi kadar pengurangan garis hentian. Semakin besar pengganda, semakin rendah frekuensi pengemaskinian garis hentian, lebih baik untuk mengikuti trend.

  5. Peratusan stop loss dalam strategi dan saiz kedudukan yang dikira berdasarkan kepentingan akaun.

  6. Apabila harga jatuh di bawah garis henti rugi, anda boleh keluar dari henti rugi dan mengambil kedudukan tambahan.

Kelebihan Strategik

  1. Menggunakan petunjuk VWMA untuk menentukan arah trend, anda boleh terus menangkap peluang trend.

  2. Menambah filter RSI untuk menapis beberapa isyarat pecah palsu.

  3. ATR Stop Lines membolehkan trend dijejaki dan mengelakkan pembalikan Stop out

  4. Peratusan keuntungan dan kerugian yang dihitung berdasarkan peratusan hak milik dan kerugian yang dihitung berdasarkan peratusan hak milik dan kerugian yang dihitung berdasarkan peratusan hak milik dan kerugian yang dihitung berdasarkan peratusan hak milik dan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan hak milik dan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian yang dihitung berdasarkan peratusan kerugian.

Risiko Strategik

  1. Terdapat risiko kerugian pada titik perubahan trend. Kedudukan harus dikurangkan dengan sewajarnya untuk mengurangkan kerugian tunggal.

  2. Tetapan parameter ATR yang tidak betul boleh menyebabkan garis henti terlalu sensitif atau lambat. Parameter yang sesuai harus diuji.

  3. Jika trend berbalik terlalu cepat, pembaruan garis stop mungkin tidak datang pada masa yang sama, yang akan meningkatkan kerugian.

  4. Dalam pasaran yang rendah turun naik, anda harus menurunkan kedudukan dan meningkatkan kekerapan pengurangan garis hentikan kerugian.

Arah pengoptimuman

  1. Anda boleh menguji kombinasi parameter VWMA yang berbeza untuk memilih parameter yang menghasilkan isyarat terbaik.

  2. Tetapan parameter lain untuk pengayun RSI boleh diuji, seperti overbought dan oversold line.

  3. Anda boleh menguji parameter perkalian ATR untuk mencari titik terbaik untuk melakukan tradeoff antara penarikan balik dan pengesanan.

  4. Ia boleh digabungkan dengan penapis isyarat lain, seperti MACD, KD, dan lain-lain, untuk meningkatkan kualiti isyarat.

  5. Anda boleh mengoptimumkan pengurusan kedudukan dan peratusan hentian kerugian mengikut turun naik pasaran.

ringkaskan

Strategi ini adalah bias trend keseluruhan, sesuai untuk menangkap trend harga yang jelas. Strategi ini mempunyai kelebihan dalam penghakiman trend, penapisan isyarat, dan penjejakan hentian, dan juga terdapat risiko pembalikan trend. Dengan menetapkan parameter optimum dan pengurusan kedudukan, anda boleh mendapatkan kesan strategi yang lebih baik.

Kod sumber strategi
/*backtest
start: 2023-10-07 00:00:00
end: 2023-10-13 00:00:00
period: 1h
basePeriod: 15m
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
//strategy("", overlay=true)
strategy(title="VWMA_withATRstops_strategy V2", overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

float xATRTrailingStop=na
int pos=na

vwmalength = input(33, title="VWMA Length", minval=1, maxval=365)
//vwmalength2 = input(9, title="VWAM Short Term Length", minval=1, maxval=365)
nATRPeriod = input(33, title="ATR length", minval=1, maxval=365)
nATRMultip = input(3.5, title="ATR Multiplier")

rsiofVwmaLength=input(14, title="RSI of VWMA Length")

riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(5,title="Stop Loss",minval=1)

vwmaVal=vwma(close, vwmalength)
//vwmaVal2=vwma(close, vwmalength2)
//maVal=sma(close, vwmalength)

plot(vwmaVal, color=color.orange, linewidth=2,  title="VWMA")
//plot(vwmaVal2, color=color.blue, title="VWMA Short Term")
//plot(maVal, color=color.blue, title="MA")

//rsi of vwma Longterm
rsiofVwmaVal=rsi(vwmaVal,rsiofVwmaLength)

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR

xATRTrailingStop:= iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos:=	iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1, 	    iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

color1 = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

//plot(xATRTrailingStop, color=color1, title="ATR Trailing Stop")

//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


//Long Entry
//strategy.entry(id="VWMA LE", long=true, qty=qty1, when= close >vwmaVal and open>vwmaVal and close>open and close > xATRTrailingStop and xATRTrailingStop>  vwmaVal)

strategy.entry(id="VWMA LE", long=true, qty=qty1, when= rsiofVwmaVal>=30 and  close>open and close>vwmaVal and pos == 1 )    ///pos == 1 means ATRStop line is green    
//vwmaVal2>vwmaVal and

plot(strategy.position_size>=1  ? xATRTrailingStop : na, color=color1, style=plot.style_linebr, title="ATR Trailing Stop")
bgcolor(strategy.position_size>=1 ? color.blue : na )

//Exit
strategy.close(id="VWMA LE",  when= strategy.position_size>=1 and crossunder(close, xATRTrailingStop)  )
//strategy.close(id="VWMA LE",  when= strategy.position_size>=1 and close<vwmaVal and open<vwmaVal and close<open )