Strategi Aliran Saham Pecahan Kemeruapan ATR Dwi Tempoh


Tarikh penciptaan: 2024-01-17 16:34:23 Akhirnya diubah suai: 2024-01-17 16:34:23
Salin: 1 Bilangan klik: 728
1
fokus pada
1617
Pengikut

Strategi Aliran Saham Pecahan Kemeruapan ATR Dwi Tempoh

Strategi ini mengkaji turun naik ATR harga, VWAP rata-rata dalam tempoh yang berbeza, menetapkan kemasukan dan keluar dari kedudukan panjang, dan mengikuti trend saham.

Gambaran Keseluruhan Strategi

Strategi ini digunakan terutamanya untuk mengesan trend produk seperti saham, dengan mengira kadar turun naik ATR dan menggabungkan harga VWAP dari pelbagai kitaran, menetapkan syarat membeli dan menjual, untuk menilai dan mengesan trend. Strategi ini lebih fleksibel, boleh beralih antara garis panjang dan garis pendek, sesuai untuk menangkap trend garis panjang.

Prinsip Strategi

Strategi menggunakan indikator ATR untuk mengira kadar turun naik harga, dan digabungkan dengan arah trend untuk menentukan sama ada harga menembusi saluran turun naik. Di samping itu, memperkenalkan harga VWAP dari pelbagai tempoh untuk menentukan konsistensi trend garis panjang dan pendek. Logik khusus adalah seperti berikut:

  1. Saluran kadar ATR yang berfluktuasi untuk mengira harga
  2. Menentukan sama ada harga telah menembusi saluran turun naik
    1. Beranda “ Berita ” Malaysia “ Peluang untuk melangkaui tren
    2. Penembusan ke bawah dianggap sebagai kecenderungan optimis
  3. Memperkenalkan harga VWAP pada garis pusingan dan garis matahari
    1. Apabila harga menembusi kadar turun naik, isyarat kedudukan panjang dihasilkan jika kedua-dua VWAP dan GST berada di atas harga
    2. Apabila harga menembusi turun naik turun naik, isyarat kosong akan dihasilkan jika kedua-dua VWAP di bawah harga

Ini adalah logik teras strategi tersebut. ATR menilai trend jangka pendek, dan harga VWAP menilai trend jangka panjang. Kedua-duanya digabungkan untuk menilai trend konsistensi, dan menghasilkan isyarat perdagangan.

Kelebihan Strategik

  • Menggunakan gabungan ATR dan VWAP untuk menilai trend, lebih dipercayai
  • Parameter kitaran ATR yang boleh dikonfigurasi untuk menyesuaikan kepekaan strategi
  • Memperkenalkan VWAP yang berbeza untuk menilai kesesuaian trend garis panjang dan pendek
  • Fleksibiliti untuk bertukar antara talian panjang dan talian pendek
  • Digunakan untuk mengesan trend garis panjang dalam saham

Risiko dan pengoptimuman strategi

  • Sebagai strategi trend-following, lebih banyak dagangan akan dihasilkan pada tahap penyesuaian gegaran, membawa risiko slippage
  • Tetapan parameter ATR dan VWAP mempengaruhi prestasi strategi dan memerlukan ujian berhati-hati untuk pelbagai jenis
  • Mempertimbangkan untuk memasukkan mekanisme hentikan kerugian untuk mengawal kerugian tunggal
  • Menapis isyarat masuk untuk mengurangkan perdagangan yang tidak perlu

ringkaskan

Strategi ini melalui ATR turun naik dan VWAP dua kali penilaian, untuk menjejaki trend saham. Terdapat ruang yang lebih besar untuk mengoptimumkan strategi, boleh menyesuaikan parameter atau menambah isyarat pengoptimuman petunjuk teknikal lain. Secara keseluruhan, logik strategi jelas dan mudah difahami, prestasi yang mantap, sesuai untuk mengesan trend garis panjang.

Kod sumber strategi
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 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/
// © exlux99

//@version=4
strategy(title="VWAP MTF STOCK STRATEGY", overlay=true )

// high^2 / 2 - low^2 -2

h=pow(high,2) / 2
l=pow(low,2) / 2

o=pow(open,2) /2
c=pow(close,2) /2


x=(h+l+o+c) / 4
y= sqrt(x)

source = y
useTrueRange = false
length = input(27, minval=1)
mult = input(0, step=0.1)
ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)
bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
     : na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
     : na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

longOnly = true

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

srcX = input(ohlc4)
t = time("W")
start = na(t[1]) or t > t[1]

sumSrc = srcX * volume
sumVol = volume
sumSrc := start ? sumSrc : sumSrc + sumSrc[1]
sumVol := start ? sumVol : sumVol + sumVol[1]

vwapW= sumSrc / sumVol

 
//crossUpper = crossover(source, upper)
//crossLower = crossunder(source, lower)
shortCondition = close < vwap and time_cond and (close < vwapW)
longCondition = close > vwap and time_cond and (close > vwapW)

 


if(longOnly and time_cond)
    if (crossLower and close < vwapW )
        strategy.close("long")
    if (crossUpper and close>vwapW)
        strategy.entry("long", strategy.long, stop=bprice)