Strategi ini menggabungkan 200-day Exponential Moving Average (200 EMA), Volume Weighted Average Price (VWAP), dan Money Flow Index (MFI) untuk menghasilkan sinyal beli dan jual. Ide utamanya adalah menggunakan kombinasi dari tiga indikator ini untuk menentukan arah dan kekuatan tren, dan menghasilkan sinyal perdagangan ketika harga menembus 200 EMA dan dikonfirmasi oleh indikator VWAP dan MFI. Selain itu, 200 EMA dari kerangka waktu yang lebih tinggi diperkenalkan sebagai filter tren, dan perdagangan hanya dilaksanakan ketika tren pada kerangka waktu saat ini dan yang lebih tinggi sejajar.
Dengan menggabungkan indikator EMA, VWAP, dan MFI 200 hari, sambil mempertimbangkan tren dalam kerangka waktu yang lebih tinggi dan kesinambungan pergerakan harga, strategi ini membangun sistem perdagangan yang mengikuti tren yang relatif kuat. Strategi ini menyaring sinyal palsu dengan menganalisis berbagai kondisi secara komprehensif, meningkatkan akurasi waktu masuk. Pada saat yang sama, fleksibilitas parameter strategi memungkinkan optimalisasi berdasarkan berbagai pasar dan gaya perdagangan. Namun, strategi ini juga melibatkan risiko tertentu, seperti kerugian di pasar yang berbelit-belit atau pada titik balik tren, dan kinerja yang buruk karena pengaturan parameter yang tidak tepat. Di masa depan, strategi dapat lebih dioptimalkan dan ditingkatkan dalam hal optimasi parameter, memperkenalkan indikator bantu, manajemen risiko, dan aspek lain. Secara keseluruhan, strategi ini menyediakan kerangka kerja yang komprehensif dan potensial untuk mengikuti tren.
/*backtest start: 2023-05-08 00:00:00 end: 2024-05-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("200 EMA, VWAP, MFI Strategy - Visible Signals", overlay=true, pyramiding=0) // Inputs for dynamic adjustments buffer = input.float(0.2, title="EMA Buffer Percentage", step=0.1) / 100 higherTimeframe = input.timeframe("15", title="Higher Timeframe") mfiBuyThreshold = input(60, title="MFI Buy Threshold") mfiSellThreshold = input(40, title="MFI Sell Threshold") consecutiveCloses = input.int(1, title="Consecutive Closes for Confirmation") // Calculate the 200-period EMA ema200 = ta.ema(close, 200) emaBufferedHigh = ema200 * (1 + buffer) emaBufferedLow = ema200 * (1 - buffer) emaHigher = request.security(syminfo.tickerid, higherTimeframe, ta.ema(close, 200)) // VWAP calculation vwap = ta.vwap(hlc3) // Money Flow Index calculation mfiLength = 14 mfi = ta.mfi(close, mfiLength) // Plotting the indicators plot(ema200, title="200 EMA", color=color.blue) plot(vwap, title="VWAP", color=color.orange) plot(mfi, title="MFI", color=color.purple) hline(50, "MFI Reference", color=color.gray, linestyle=hline.style_dashed) plot(emaHigher, title="Higher TF EMA", color=color.red) // Price action confirmation isUpTrend = ta.rising(close, consecutiveCloses) isDownTrend = ta.falling(close, consecutiveCloses) // Define entry conditions longCondition = close > emaBufferedHigh and close > vwap and mfi > mfiBuyThreshold and close > emaHigher and isUpTrend shortCondition = close < emaBufferedLow and close < vwap and mfi < mfiSellThreshold and close < emaHigher and isDownTrend // Trading execution if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short) // Plot shapes for signals plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal", text="Buy") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal", text="Sell")