
Strategi Randomization dengan Indikator Dual Equilibrium adalah strategi yang mencoba untuk mencari peluang perdagangan dengan menggunakan kombinasi Indikator Equilibrium dan Indikator Randomization. Ini akan menghasilkan sinyal perdagangan ketika melewati SMA yang lambat pada EMA yang cepat, sementara menggunakan Indikator K yang acak untuk menentukan apakah ada overbought atau oversold untuk menghilangkan sebagian sinyal.
Strategi ini didasarkan pada dua indikator teknis:
Garis rata-rata: menghitung garis rata-rata dari tiga parameter yang berbeda EMA cepat, SMA lambat, VWMA lambat, menghasilkan sinyal perdagangan ketika EMA cepat naik atau turun melewati SMA lambat.
Indikator acak: Perhitungan nilai% K, ketika melebihi batas batas zona overbought atau zona oversold yang ditetapkan, menganggap bahwa pasar mungkin akan berbalik, dapat menghapus sebagian sinyal perdagangan rata-rata.
Secara khusus, logik dari sinyal strategi adalah:
Ketika EMA cepat melewati SMA lambat, dan nilai K% berada di bawah titik terendah zona oversold, lakukan over; ketika EMA cepat melewati SMA lambat, dan nilai K% berada di atas titik terendah zona oversold, lakukan short.
Untuk posisi multi-head yang dibuka, jika nilai% K kembali ke zona oversold, atau harga melewati batas stop loss, maka akan ditutup. Untuk posisi kosong yang dibuka, jika nilai% K kembali ke zona overbuy, atau harga melewati batas stop loss, maka akan ditutup.
Dengan menggabungkan indikator linier rata dan indikator acak, strategi ini mencoba untuk mengirim sinyal masuk di titik sinyal linier rata dengan probabilitas tinggi, sambil memanfaatkan kesempatan untuk memfilter bagian acak dari indikator yang salah masuk.
Strategi ini memiliki keuntungan utama sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Metode yang sesuai:
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan indikator acak dengan strategi acak dengan strategi acak dengan strategi acak dengan strategi acak dengan strategi acak
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("TVIX MEAN REV V2 TREND", overlay=true)
length = input(16, minval=1)
OverBought = input(80)
OverSold = input(20)
TradeLong = input (true)
TradeShort = input (true)
OverBoughtClose = input(80)
OverSoldClose = input(20)
smoothK = 3
smoothD = 3
trail_points = input(50)
k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
k2 = sma(stoch(close, high, low, length), smoothK)
d2 = sma(k, smoothD)
// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval=close, title="Fast EMA Source")
maFastLength = input(defval=1, title="Fast EMA Period", minval=1)
// long Sma
maSlowSource = input(defval=close, title="Slow SMA Source")
maSlowLength = input(defval=100, title="Slow SMA Period", minval=1)
// longer Sma
maSlowerSource = input(defval=close, title="Slower SMA Source")
maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1)
//ATR Stop Loss Indicator by Keith Larson
atrDays = input(7, "ATR Days Lookback")
theAtr = atr(atrDays)
atrModifier = input(5.0, "ATR Modifier")
//plot(atr * atrModifier, title="ATR")
LstopLoss = close - (theAtr * atrModifier)
SstopLoss = close + (theAtr * atrModifier)
// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)
maSlower = vwma(maSlowerSource, maSlowerLength)
rsi = rsi(maSlowerSource, maSlowerLength)
// === PLOTTING ===
fast = plot(maFast, title="Fast MA", color=color.red, linewidth=2, style=plot.style_line, transp=30)
slow = plot(maSlow, title="Slow MA", color=color.green, linewidth=2, style=plot.style_line, transp=30)
slower = plot(maSlower, title="Slower MA", color=color.teal, linewidth=2, style=plot.style_line, transp=30)
// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
LongFilter = maFast > maSlow
ShortFilter = maSlow > maFast
BUY=crossover(k, d) and k < OverSold
SELL=crossunder(k, d) and k > OverBought
SELLCLOSE=crossover(k, d) and k < OverSoldClose
BUYCLOSE=crossunder(k, d) and k > OverBoughtClose
Open = open
if not na(k) and not na(d)
if crossover(k, d) and k < OverSold and LongFilter and TradeLong
strategy.entry("$", strategy.long, limit = Open, comment="Long")
strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss )
///strategy.close("$",when = open < LstopLoss )
if not na(k) and not na(d)
if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort
strategy.entry("$1", strategy.short, limit = Open, comment="S")
strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss )
///strategy.close ("$1", when = open < SstopLoss)