
Ini adalah strategi pelacakan tren yang menggabungkan beberapa indikator. Ini menggunakan tiga periode EMA, Stochastic RSI, dan ATR yang berbeda untuk mengidentifikasi arah tren dan membangun posisi secara bersamaan.
Strategi ini menggunakan tiga garis rata-rata EMA, yaitu EMA 8 periode, EMA 14 periode, dan EMA 50 periode. Mereka masing-masing mewakili tren harga dalam periode waktu yang berbeda.
Indikator RSI Stochastic menggabungkan RSI dan metode stochastic untuk menemukan overbought dan oversold. Ketika garis K dari RSI Stochastic melewati garis D dari bawah, menunjukkan bahwa pasar sedang beralih dari oversold ke bullish, Anda dapat melakukan lebih banyak.
ATR mewakili rentang fluktuasi terdekat. Strategi menggunakan 3 kali ATR sebagai stop loss dan 2 kali stop loss untuk mengunci keuntungan dan mengendalikan risiko.
Sensitivitas indikator dapat dioptimalkan dengan menyesuaikan parameter siklus EMA. Anda juga dapat membuat stop loss stop loss ATR dapat disesuaikan, sesuai dengan kondisi pasar untuk mengatur parameter yang sesuai. Selain itu, Anda dapat mempertimbangkan untuk menambahkan indikator lain untuk penilaian tambahan, untuk menghindari sinyal yang salah.
Strategi ini secara komprehensif mempertimbangkan arah tren, fenomena overbought dan oversold dan rentang fluktuasi untuk mengidentifikasi waktu masuk. EMA rata-rata dan Stochastic RSI digunakan dalam kombinasi dengan indikator untuk mengidentifikasi tren secara efektif, dan ATR dinamis untuk melacak stop loss membantu dalam pengendalian risiko. Dengan penyesuaian dan pengoptimalan parameter, strategi ini dapat menjadi sistem pelacakan tren yang andal.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 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/
// © FreddieChopin
//@version=4
strategy("3 x EMA + Stochastic RSI + ATR", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
// 3x EMA
ema1Length = input(8, "EMA1 Length", minval = 1)
ema2Length = input(14, "EMA2 Length", minval = 1)
ema3Length = input(50, "EMA3 Length", minval = 1)
ema1 = ema(close, ema1Length)
ema2 = ema(close, ema2Length)
ema3 = ema(close, ema3Length)
plot(ema1, color = color.green)
plot(ema2, color = color.orange)
plot(ema3, color = color.red)
// Stochastic RSI
smoothK = input(3, "K", minval=1)
smoothD = input(3, "D", minval=1)
lengthRSI = input(14, "RSI Length", minval=1)
lengthStoch = input(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
// ATR
atrPeriod = input(14, "ATR Period")
takeProfitMultiplier= input(2.0, "Take-profit Multiplier")
stopLossMultiplier= input(3.0, "Stop-loss Multiplier")
atrSeries = atr(atrPeriod)[1]
longCondition = ema1 > ema2 and ema2 > ema3 and crossover(k, d)
strategy.entry("long", strategy.long, when = longCondition)
float stopLoss = na
float takeProfit = na
if (strategy.position_size > 0)
if (na(stopLoss[1]))
stopLoss := strategy.position_avg_price - atrSeries * stopLossMultiplier
else
stopLoss := stopLoss[1]
if (na(takeProfit[1]))
takeProfit := strategy.position_avg_price + atrSeries * takeProfitMultiplier
else
takeProfit := takeProfit[1]
strategy.exit("take profit / stop loss", limit = takeProfit, stop = stopLoss)
plot(stopLoss, color = color.red, linewidth = 2, style = plot.style_linebr)
plot(takeProfit, color = color.green, linewidth = 2, style = plot.style_linebr)