Strategi Leverage Crossover Rata-rata Bergerak Eksponensial

MATIC EMA MA
Tanggal Pembuatan: 2024-04-30 16:26:37 Akhirnya memodifikasi: 2024-04-30 16:26:37
menyalin: 0 Jumlah klik: 534
1
fokus pada
1617
Pengikut

Strategi Leverage Crossover Rata-rata Bergerak Eksponensial

Ringkasan

Strategi ini menggunakan persilangan dua indeks moving average (EMA) pada tanggal 20 dan 55 untuk menilai sinyal perdagangan. Ketika EMA jangka pendek melewati EMA jangka panjang, sinyal beli dikirim, sebaliknya sinyal jual dikirim. Strategi ini juga memperkenalkan perdagangan leverage, yang meningkatkan keuntungan melalui leverage, sekaligus meningkatkan risiko. Selain itu, strategi ini juga menambahkan batasan kondisional, hanya setelah dua garis rata-rata bersilang, ketika harga menyentuh garis rata-rata jangka pendek, untuk mengurangi risiko sinyal palsu.

Prinsip Strategi

  1. Hitung 20 dan 55 hari EMA (atau MA) .
  2. Untuk menentukan apakah ada EMA jangka pendek di atas EMA jangka panjang, jika ada, setel ReadyToEnter ke true, yang berarti siap untuk masuk.
  3. Jika readyToEnter adalah true dan harga menyentuh EMA jangka pendek, maka melakukan pembelian, sekaligus mengatur kembali readyToEnter menjadi false.
  4. Jika EMA jangka pendek berada di bawah EMA jangka panjang, maka posisi akan dipadamkan.
  5. Ukuran posisi berdasarkan parameter leverage.
  6. Hanya dalam jangka waktu yang ditentukan oleh pengguna.

Keunggulan Strategis

  1. Garis rata-rata adalah metode yang mudah digunakan untuk menentukan tren yang cocok untuk sebagian besar pasar.
  2. Menggunakan Leverage Trading untuk meningkatkan keuntungan.
  3. Menambahkan batasan kondisional untuk mengurangi risiko sinyal palsu.
  4. Tersedia dua pilihan EMA dan MA, sesuai dengan preferensi pengguna yang berbeda.
  5. Struktur kodenya jelas, mudah dipahami dan dimodifikasi.

Risiko Strategis

  1. Leverage trading memperbesar risiko, yang dapat menyebabkan kerugian besar jika salah perhitungan.
  2. Ada keterlambatan dalam penyeberangan rata-rata, dan mungkin kehilangan waktu terbaik untuk masuk.
  3. Hanya berlaku untuk pasar dengan tren yang jelas, dan jika pasar bergejolak, mungkin akan sering diperdagangkan, yang menyebabkan biaya yang tinggi.

Arah optimasi strategi

  1. Anda dapat mencoba mengoptimalkan siklus rata-rata untuk menemukan parameter yang paling sesuai dengan pasar saat ini.
  2. Indikator lain, seperti RSI, MACD, dan lain-lain, dapat dimasukkan untuk menilai tren dan meningkatkan tingkat kemenangan.
  3. Anda dapat mengatur stop loss dan stop loss untuk mengendalikan risiko transaksi tunggal.
  4. Anda dapat menyesuaikan ukuran leverage sesuai dengan dinamika fluktuasi pasar, meningkatkan leverage pada jam fluktuasi, mengurangi leverage pada saat fluktuasi besar.
  5. Algoritma pembelajaran mesin dapat diperkenalkan untuk menyesuaikan parameter optimasi.

Meringkaskan

Strategi ini meningkatkan keuntungan dengan menggabungkan perdagangan rata-rata dan leverage, sambil menangkap tren pasar. Namun, leverage juga membawa risiko tinggi, dan perlu digunakan dengan hati-hati. Selain itu, ada ruang untuk pengoptimalan strategi ini, yang dapat meningkatkan kinerja strategi dengan memperkenalkan lebih banyak indikator, parameter penyesuaian dinamis, dll.

Kode Sumber Strategi
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with Leverage, Conditional Entry, and MA Option", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs for backtesting period
startDate = input(defval=timestamp("2023-01-01"), title="Start Date")
endDate = input(defval=timestamp("2024-04-028"), title="End Date")

// Input for leverage multiplier
leverage = input.float(3.0, title="Leverage Multiplier", minval=1.0, maxval=10.0, step=0.1)

// Input for choosing between EMA and MA
useEMA = input.bool(true, title="Use EMA (true) or MA (false)?")

// Input source and lengths for MAs
src = close
ema1_length = input.int(20, title='EMA/MA-1 Length')
ema2_length = input.int(55, title='EMA/MA-2 Length')

// Calculate the MAs based on user selection
pema1 = useEMA ? ta.ema(src, ema1_length) : ta.sma(src, ema1_length)
pema2 = useEMA ? ta.ema(src, ema2_length) : ta.sma(src, ema2_length)

// Tracking the crossover condition for strategy entry
crossedAbove = ta.crossover(pema1, pema2)

// Define a variable to track if a valid entry condition has been met
var bool readyToEnter = false

// Check for MA crossover and update readyToEnter
if (crossedAbove)
    readyToEnter := true

// Entry condition: Enter when price touches MA-1 after the crossover // and (low <= pema1 and high >= pema1)
entryCondition = readyToEnter

// Reset readyToEnter after entry
if (entryCondition)
    readyToEnter := false

// Exit condition: Price crosses under MA-1
exitCondition = ta.crossunder(pema1, pema2)

// Check if the current bar's time is within the specified period
inBacktestPeriod = true

// Execute trade logic only within the specified date range and apply leverage to position sizing
if (inBacktestPeriod)
    if (entryCondition)
        strategy.entry("Long", strategy.long, qty=strategy.equity * leverage / close)
    if (exitCondition)
        strategy.close("Long")


// Plotting the MAs for visual reference
ema1_color = pema1 > pema2 ? color.red : color.green
ema2_color = pema1 > pema2 ? color.red : color.green
plot(pema1, color=ema1_color, style=plot.style_line, linewidth=1, title='EMA/MA-1')
plot(pema2, color=ema2_color, style=plot.style_line, linewidth=1, title='EMA/MA-2')