
Strategi ini adalah strategi perdagangan berdasarkan EMA, VWAP dan volume transaksi. Gagasan utamanya adalah bahwa pada waktu perdagangan tertentu, sinyal buka posisi dihasilkan ketika harga close out menembus VWAP dan EMA, dan volume transaksi lebih besar dari volume transaksi pada garis K sebelumnya. Pada saat yang sama, pengaturan stop loss dan stop loss, serta kondisi untuk melonggarkan posisi dalam jangka waktu tertentu.
Strategi ini melakukan perdagangan pada waktu perdagangan tertentu dengan mempertimbangkan tren harga, nilai wajar pasar dan volume transaksi secara komprehensif. Meskipun telah menetapkan stop loss dan waktu perdagangan terbatas, risiko seperti pasar goyah dan slippage masih perlu diperhatikan dalam aplikasi praktis. Di masa depan, strategi dapat ditingkatkan dengan cara menambahkan lebih banyak kondisi penyaringan, parameter optimasi dan manajemen posisi untuk meningkatkan stabilitas dan profitabilitas.
/*backtest
start: 2024-04-27 00:00:00
end: 2024-04-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA, VWAP, Volume Strategy", overlay=true, process_orders_on_close=true)
// Inputs
emaLength = input.int(21, title="EMA Length")
vwapSource = input.source(defval=hlc3, title='VWAP Source')
stopLossPoints = input.float(100, title="Stop Loss (points)")
targetPoints = input.float(200, title="Target (points)")
session = input("0950-1430", title='Only take entry during')
exit = input(defval='1515-1525', title='Exit Trade')
tradein = not na(time(timeframe.period, session))
exit_time = not na(time(timeframe.period, exit))
// Calculate indicators
ema = ta.ema(close, emaLength)
vwapValue = ta.vwap(vwapSource)
// Entry Conditions
longCondition = close > vwapValue and close > ema and volume > volume[1] and close > open and tradein
shortCondition = close < vwapValue and close < ema and volume > volume[1] and open > close and tradein
// Exit Conditions
longExitCondition = ta.crossunder(close, vwapValue) or ta.crossunder(close, ema) or close - strategy.position_avg_price >= targetPoints or close - strategy.position_avg_price <= -stopLossPoints or exit_time
shortExitCondition = ta.crossover(close, vwapValue) or ta.crossover(close, ema) or strategy.position_avg_price - close >= targetPoints or strategy.position_avg_price - close <= -stopLossPoints or exit_time
// Plotting
plot(vwapValue, color=color.blue, title="VWAP")
plot(ema, color=color.green, title="EMA")
// Strategy
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
if longExitCondition
strategy.close('Long', immediately=true)
if shortExitCondition
strategy.close("Short", immediately=true)