Sumber daya yang dimuat... Pemuatan...

Aset keuangan berbasis MFI Oversold Zone Exit and Signal Averaging System

Penulis:ChaoZhang, Tanggal: 2024-12-05 16:40:47
Tag:MFIRSISLTPMA

img

Gambaran umum

Strategi ini adalah sistem perdagangan otomatis yang didasarkan pada Indeks Aliran Uang (MFI), terutama dirancang untuk menangkap peluang pembalikan potensial dengan mengidentifikasi perilaku aset di zona oversold. Mekanisme inti menghasilkan sinyal beli ketika indikator MFI bangkit dari zona oversold (default di bawah 20), memanfaatkan pesanan batas, stop-loss, dan mengambil keuntungan mekanisme untuk mengelola risiko perdagangan dan pengembalian.

Prinsip Strategi

Strategi ini beroperasi berdasarkan langkah-langkah utama berikut:

  1. Terus memantau perubahan nilai MFI, menandai masuk ke zona oversold ketika MFI jatuh di bawah ambang batas yang telah ditetapkan (default 20).
  2. Ketika MFI bangkit kembali dan melanggar ambang batas dari zona oversold, sistem menempatkan pesanan batas beli di bawah harga saat ini, dengan harga spesifik ditentukan oleh persentase yang ditentukan oleh pengguna.
  3. Sistem ini memantau batas waktu validitas order, secara otomatis membatalkan jika tidak diisi dalam periode pengamatan yang telah ditetapkan (default 5 lilin).
  4. Setelah pesanan beli diisi, sistem segera menetapkan target stop-loss dan target keuntungan, yang dihitung berdasarkan persentase harga masuk.
  5. Perdagangan ditutup secara otomatis ketika target stop-loss atau profit tercapai.

Keuntungan Strategi

  1. Pengendalian Risiko yang Komprehensif: Menyediakan rasio risiko-manfaat yang jelas melalui target stop-loss dan keuntungan yang telah ditetapkan sebelumnya.
  2. Mekanisme Masuk Fleksibel: Menggunakan pesanan batas untuk masuk dapat mencapai harga eksekusi yang lebih baik, meningkatkan potensi keuntungan secara keseluruhan.
  3. Tingkat Otomatisasi Tinggi: sepenuhnya otomatis dari generasi sinyal hingga manajemen posisi, mengurangi gangguan emosional.
  4. Kekuatan Penyesuaian Parameter: Parameter utama seperti periode MFI, ambang oversold, dan validitas order dapat dioptimalkan untuk karakteristik pasar yang berbeda.
  5. Logika Sistem yang Jelas: Aturan strategi eksplisit, memfasilitasi backtesting dan pemantauan langsung.

Risiko Strategi

  1. Risiko sinyal palsu: MFI dapat menghasilkan sinyal oversold palsu di pasar yang volatile.
  2. Risiko slippage: Limit order mungkin tidak dieksekusi pada harga yang diharapkan karena pergerakan pasar yang cepat.
  3. Risiko Tren: Masuk awal dalam tren penurunan yang kuat dapat menghadapi kerugian yang signifikan.
  4. Sensitivitas Parameter: Kinerja strategi sensitif terhadap pengaturan parameter, yang membutuhkan optimasi untuk lingkungan pasar yang berbeda.

Arah Optimasi Strategi

  1. Tambahkan Penyaringan Tren Pasar: Masukkan rata-rata bergerak atau indikator tren lainnya untuk memungkinkan perdagangan hanya dalam tren naik.
  2. Mengoptimalkan Konfirmasi Sinyal: Gabungkan dengan RSI, MACD, atau indikator teknis lainnya untuk meningkatkan keandalan sinyal.
  3. Mekanisme Stop-Loss Dinamis: Sesuaikan jarak stop-loss berdasarkan volatilitas pasar untuk manajemen risiko yang lebih fleksibel.
  4. Pembentukan dan penutupan posisi secara bertahap: Melakukan beberapa pesanan batas tingkat harga untuk mengurangi biaya posisi secara keseluruhan.
  5. Memperkenalkan Penyaringan Waktu: Memungkinkan perdagangan secara selektif berdasarkan karakteristik pasar periode waktu yang berbeda.

Ringkasan

Ini adalah strategi perdagangan otomatis yang dirancang dengan baik, secara logis jelas. Melalui penggunaan indikator MFI yang fleksibel, dikombinasikan dengan mekanisme manajemen pesanan yang komprehensif, secara efektif menangkap rebound pasar setelah kondisi oversold. Konfigurasi tinggi strategi ini memfasilitasi optimasi untuk lingkungan pasar yang berbeda. Meskipun ada risiko tertentu, mereka dapat ditangani melalui arah optimasi yang disarankan untuk lebih meningkatkan stabilitas dan profitabilitas strategi. Cocok untuk investasi jangka menengah hingga panjang, terutama bagi investor yang mencari peluang bouncing oversold di pasar yang bergesekan.


/*backtest
start: 2024-11-04 00:00:00
end: 2024-12-04 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © traderhub

//@version=5
strategy("MFI Strategy with Oversold Zone Exit and Averaging", overlay=true)

// Strategy parameters
mfiPeriod = input.int(title="MFI Period", defval=14) // Period for calculating MFI
mfiOS = input.float(title="MFI Oversold Level", defval=20.0) // Oversold level for MFI
longEntryPercentage = input.float(title="Long Entry Percentage (%)", minval=0.0, step=0.1, defval=0.1) // Percentage for the buy limit order
stopLossPercentage = input.float(title="Stop Loss Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage for the stop-loss
exitGainPercentage = input.float(title="Exit Gain Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage gain for the take-profit
cancelAfterBars = input.int(title="Cancel Order After # Bars", minval=1, defval=5) // Cancel order after a certain number of bars

// Calculate MFI
mfi = ta.mfi(close, mfiPeriod)  // MFI with specified period

// Variables for tracking state
var bool inOversoldZone = false  // Flag for being in the oversold zone
var float longEntryPrice = na  // Price for long entry
var int barsSinceEntryOrder = na  // Counter for bars after placing an order

// Define being in the oversold zone
if (mfi < mfiOS)
    inOversoldZone := true  // Entered oversold zone

// Condition for exiting the oversold zone and placing a limit order
if (inOversoldZone and mfi > mfiOS)
    inOversoldZone := false  // Leaving the oversold zone
    longEntryPrice := close * (1 - longEntryPercentage / 100)  // Calculate limit price for entry
    strategy.entry("Long Entry", strategy.long, limit=longEntryPrice)  // Place a limit order
    barsSinceEntryOrder := 0  // Reset counter for bars after placing the order

// Increase the bar counter if the order has not yet been filled
if (not na(barsSinceEntryOrder))
    barsSinceEntryOrder += 1

// Cancel order if it hasn’t been filled within the specified number of bars
if (not na(barsSinceEntryOrder) and barsSinceEntryOrder >= cancelAfterBars and strategy.position_size == 0)
    strategy.cancel("Long Entry")
    barsSinceEntryOrder := na  // Reset bar counter

// Set stop-loss and take-profit for filled positions
if (strategy.position_size > 0)
    stopLossPrice = longEntryPrice * (1 - stopLossPercentage / 100)  // Calculate stop-loss level
    takeProfitPrice = longEntryPrice * (1 + exitGainPercentage / 100)  // Calculate take-profit level
    strategy.exit("Exit Long", from_entry="Long Entry", limit=takeProfitPrice, stop=stopLossPrice)

// Visualize oversold and overbought zones
bgcolor(mfi < mfiOS ? color.new(color.green, 90) : na)  // Background in oversold zone
plot(mfi, title="MFI", color=color.blue)  // MFI plot
hline(mfiOS, "Oversold Level", color=color.red)  // Oversold level line













Berkaitan

Lebih banyak