Indikator momentum melacak strategi perubahan harga jangka pendek


Tanggal Pembuatan: 2023-12-25 13:09:48 Akhirnya memodifikasi: 2023-12-25 13:09:48
menyalin: 0 Jumlah klik: 554
1
fokus pada
1623
Pengikut

Indikator momentum melacak strategi perubahan harga jangka pendek

Ringkasan

Strategi ini menggunakan indikator dinamika untuk melacak perubahan harga jangka pendek, menilai arah tren pasar, melakukan pembelian dan penjualan. Strategi ini disebut Price Volume Trend Strategy, yang mencerminkan strategi yang menggunakan perubahan harga dan perubahan volume transaksi untuk menilai tren.

Prinsip Strategi

Strategi ini pertama-tama menghitung pergerakan harga. Dengan menghitung perbedaan harga periode saat ini dari harga periode sebelumnya, dapat mencerminkan perubahan mutlak harga dalam periode terbaru. Positif menunjukkan kenaikan harga, negatif menunjukkan penurunan harga.

Ketika harga terbaru lebih besar dari pergerakan rata-rata, berarti harga naik; ketika harga terbaru lebih kecil dari pergerakan rata-rata, berarti harga turun. Berdasarkan indikator ini, arah tren harga ditentukan.

Dengan harga yang naik dan turun, maka Anda dapat melakukan pembelian dan penjualan sesuai dengan tren tersebut.

Analisis Keunggulan

  • Strategi menilai tren dengan cepat, dapat menangkap perubahan harga jangka pendek dengan cepat, cocok untuk operasi garis pendek
  • Filter volume transaksi untuk menghindari kebocoran palsu
  • Implementasi Logika Operasi Mencari Jatuh
  • Frekuensi perdagangan tinggi, cocok untuk investor aktif

Analisis risiko

  • Rentan terhadap fluktuasi pasar yang tidak normal, ada risiko sinyal palsu tertentu
  • Risiko Slip Point yang Sering Terjadi
  • Mungkin melewatkan tren jangka panjang, profitabilitas jangka panjang harus diverifikasi

Arah optimasi

  • Menyesuaikan parameter indikator volume gerak untuk mengoptimalkan penilaian
  • Optimalkan parameter penyaringan lalu lintas untuk meningkatkan kualitas sinyal
  • Meningkatkan mekanisme penghentian kerugian, mengendalikan kerugian tunggal
  • Dengan lebih banyak faktor penilaian, memastikan bahwa multi-faktor drive

Meringkaskan

Strategi overall melacak tren perubahan harga jangka pendek melalui indikator dinamis, dan dengan cepat menilai waktu pembelian dan penjualan. Keuntungan adalah operasi cepat, mengejar ketinggalan; kekurangan adalah kualitas sinyal dan profitabilitas jangka panjang yang harus dipertimbangkan. Dengan penyesuaian parameter, peningkatan mekanisme pengendalian angin, strategi ini dapat menjadi bagian penting dari strategi frekuensi tinggi, yang digunakan bersama dengan portofolio strategi frekuensi rendah lainnya.

Kode Sumber Strategi
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 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/
// © russtic

//@version=2

strategy("HA smoothed eliminator v2  ",pyramiding=1, slippage=10, default_qty_type=strategy.percent_of_equity, 
     commission_type=strategy.commission.percent, commission_value=0.075, overlay=true, 
     default_qty_value=100, initial_capital=1000)

FromMonth1 = input(defval=1, title="From Month", minval=1, maxval=12)
FromDay1 = input(defval=1, title="From Day", minval=1, maxval=31)
FromYear1 = input(defval=2019, title="From Year", minval=2010)
ToMonth1 = input(defval=12, title="To Month", minval=1, maxval=12)
ToDay1 = input(defval=31, title="To Day", minval=1, maxval=31)
ToYear1 = input(defval=2020, title="To Year", minval=2010)
start1 = timestamp(FromYear1, FromMonth1, FromDay1, 00, 00)
finish1 = timestamp(ToYear1, ToMonth1, ToDay1, 23, 59)
window1() => true
    
t1 = time(timeframe.period, "0300-1200")
t2 = time(timeframe.period, "0930-1700")
London = na(t1) ? na : green
NY = na(t2) ? na : red

bgcolor(London, title="London")
bgcolor(NY, title="New York")
///////////////////////////
// HA smoothed

len=(1 )
o=ema(open,len)
c=ema(close,len)
h=ema(high,len)
l=ema(low,len)

haclose = (o+h+l+c)/4
haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (h, max(haopen,haclose))
halow = min (l, min(haopen,haclose))

len2=(len)
o2=ema(haopen, len2)
c2=ema(haclose, len2)
h2=ema(hahigh, len2)
l2=ema(halow, len2)

buy= (o2<c2) 

closebuy= (o2>c2)

sell= (o2>c2)

closesell= (o2<c2)

//
/// END NEW SCRIPT 

//
//
//                  MERGE SCRIPTS
a1= o2<c2
b1=o2>c2
is_uptrend = (a1)// and (p> 0)
is_downtrend =  (b1)// and (p <0)
barcolor(b1 ? red: a1 ? lime : blue)

//end


// =========================start     PVT -GIVES EACH BAR A VALUE
facton = (true)//, title="arrow elimination (factor) on ")
Length1 = 2//input(2, title="PVT Length", minval=1)

xPrice = close//input(title="Source", type=source, defval=close)
xsma = wma(xPrice, Length1) 
nRes = xPrice - xsma  
pos = iff(nRes > 0, 1,
	     iff(nRes < 0, -1, nz(pos[1], 0))) 
forex= input(true, title = 'strength toggle ')
forexyes = (forex == true)? 10000 : (forex == false)? 1: na

plot(nRes*forexyes , color=aqua, title="strength", transp=100)
// =========================         end pvt
//
//=============================     start factor // ELIMINATES  weak signals
//                  start trend
//
factor = input(600.00, title = "strength elimination") 
factor1 = factor - (factor*2)//input(-100.00, title = "sell strength elimination ") 
facton1 = (facton == true) and is_uptrend == 1 and nRes*forexyes>factor ? 1 : (facton == true) and is_downtrend == 1 and nRes*forexyes<factor1 ? -1 : (facton == false)
// ==================== =====
// 
//===========================    end factor
nRestrend = (nRes*forexyes)
//=========================== plot arrows 
plot1 = iff(is_uptrend[1] == 1, 0 , 1)  
plot2 = iff(is_downtrend[1]  == 1, 0 , 1)
uparrowcond =  is_downtrend ? false : nz(uparrowcond[1], false) == true ? uparrowcond[1] : (facton1 and is_uptrend and nRes*forexyes>factor)
downarrowcond =  is_uptrend ? false : nz(downarrowcond[1], false) == true ? downarrowcond[1] : (facton1 and is_downtrend and nRes*forexyes<factor1)
//prevarrowstate = uparrowcond  ? 1 : downarrowcond ? -1 : nz(prevarrowstate[1], 0)


candledir = (open < close)? 1: (open>close)? -1 : na // ONLY OPENS ON SAME BAR DIRECTION AS SIGNAL



up=nz(uparrowcond[1], false) == false and ( is_uptrend and nRes*forexyes>factor) and candledir ? 1:na
dn=nz(downarrowcond[1], false) == false and ( is_downtrend and nRes*forexyes<factor1) and candledir? -1:na



sig=0
if up==1 
    sig:=1
else
    if dn==-1
        sig:=-1
    else
        sig:=sig[1]
plotarrow(sig[1]!=1 and sig==1?1:na, title="BUY ARROW", colorup=lime, maxheight=80, minheight=50, transp=0)// up arrow 
plotarrow(sig[1]!=-1 and sig==-1?-1:na, title="SELL ARROW", colordown=red, maxheight=80, minheight=50, transp=0)// down arrow

//========================= alert condition
alertcondition(sig[1]!=1 and sig==1?1:na, title="BUY eliminator", message="BUY " ) 
alertcondition(sig[1]!=-1 and sig==-1?-1:na, title="SELL eliminator",  message="SELL ") 


strategy.entry("B", true, when=(sig[1]!=1 and sig==1?1:na) and window1())
strategy.entry("S", false,when=(sig[1]!=-1 and sig==-1?-1:na) and window1())