Moving Average Percentage Inversion Strategi untuk menentukan waktu jual beli dengan menghitung persentase selisih antara harga dan moving average. Sinyal perdagangan dihasilkan ketika selisih antara harga dan moving average mencapai persentase tertentu.
Secara khusus, logika transaksi dari strategi ini adalah:
Jika N mengambil 14, batas atas ditetapkan sebagai 5%, batas bawah ditetapkan sebagai -3%, maka:
Sensitivitas strategi dapat dikontrol dengan menyesuaikan N, parameter batas atas dan bawah.
Strategi persentase rata-rata bergerak menilai titik jual beli dengan menghitung persentase selisih harga dari rata-rata bergerak, menggunakan strategi BREAK yang bertujuan untuk menangkap titik balik tren. Dengan menyesuaikan parameter, dapat disesuaikan dengan lingkungan pasar yang berbeda. Namun, ada risiko keterlambatan dan misinformasi tertentu, yang perlu dilakukan filter optimasi.
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/07/2018
// Percent difference between price and MA
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percent difference between price and MA Backtest")
Length = input(14, minval=1)
SellZone = input(0.54, minval=0.01, step = 0.01)
BuyZone = input(0.03, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xSMA = sma(close, Length)
nRes = abs(close - xSMA) * 100 / close
pos = iff(nRes < BuyZone, 1,
iff(nRes > SellZone, -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(nRes, color=blue, title="PD MA")