Sumber dimuat naik... memuat...

Strategi Leverage Crossover Purata Bergerak Eksponen

Penulis:ChaoZhang, Tarikh: 2024-04-30 16:26:37
Tag:MATICEMAMA

img

Ringkasan

Strategi ini menggunakan persilangan purata bergerak eksponen 20 hari dan 55 hari (EMA) untuk menjana isyarat perdagangan. Isyarat beli diaktifkan apabila EMA jangka pendek melintasi EMA jangka panjang, dan isyarat jual diaktifkan apabila sebaliknya berlaku. Strategi ini juga memperkenalkan perdagangan leverage, yang memperkuat kedua-dua potensi pulangan dan risiko. Di samping itu, strategi ini termasuk sekatan bersyarat yang hanya membenarkan memasuki kedudukan apabila harga menyentuh EMA jangka pendek selepas persilangan, untuk mengurangkan risiko isyarat palsu. Akhirnya, pengguna mempunyai pilihan untuk menggunakan purata bergerak mudah (SMA) bukannya EMA.

Prinsip Strategi

  1. Mengira EMA 20 hari dan 55 hari (atau SMA).
  2. Tentukan sama ada EMA jangka pendek melintasi di atas EMA jangka panjang. Jika benar, tetapkan pembolehubah readyToEnter kepada benar, yang menunjukkan kesediaan untuk memasuki kedudukan.
  3. Jika readyToEnter adalah benar dan harga menyentuh EMA jangka pendek, pelaksanaan pesanan beli dan menetapkan semula readyToEnter kepada palsu.
  4. Jika EMA jangka pendek melintasi di bawah EMA jangka panjang, tutup kedudukan.
  5. Tetapkan saiz kedudukan berdasarkan parameter leverage.
  6. Melakukan strategi hanya dalam tempoh backtesting yang ditakrifkan pengguna.

Kelebihan Strategi

  1. Crossover purata bergerak adalah kaedah yang mudah dan mudah digunakan untuk menentukan trend, sesuai untuk kebanyakan pasaran.
  2. Memperkenalkan perdagangan leverage boleh meningkatkan pulangan.
  3. Menambah sekatan bersyarat mengurangkan risiko isyarat palsu.
  4. Menyediakan pilihan antara EMA dan SMA sesuai dengan pilihan pengguna yang berbeza.
  5. Struktur kod adalah jelas dan mudah difahami dan diubah suai.

Risiko Strategi

  1. Perdagangan leverage meningkatkan risiko. Jika pertimbangan salah, ia boleh membawa kepada kerugian yang besar.
  2. Crossover purata bergerak mempunyai kesan kelewatan dan mungkin kehilangan peluang kemasukan terbaik.
  3. Hanya sesuai untuk pasaran dengan trend yang jelas. Jika pasaran tidak menentu, perdagangan yang kerap boleh berlaku, yang mengakibatkan yuran urus niaga yang tinggi.

Arahan Pengoptimuman Strategi

  1. Cuba mengoptimumkan tempoh purata bergerak untuk mencari parameter yang paling sesuai untuk pasaran semasa.
  2. Memperkenalkan penunjuk lain, seperti RSI dan MACD, untuk menilai kecenderungan secara komprehensif dan meningkatkan kadar kemenangan.
  3. Tetapkan tahap stop loss dan mengambil keuntungan untuk mengawal risiko perdagangan tunggal.
  4. Sesuaikan secara dinamik saiz leverage berdasarkan turun naik pasaran, meningkatkan leverage apabila turun naik rendah dan mengurangkan leverage apabila turun naik tinggi.
  5. Memperkenalkan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara adaptif.

Ringkasan

Strategi ini menggabungkan crossover purata bergerak dan perdagangan leverage untuk menangkap trend pasaran sambil memperkuat pulangan. Walau bagaimanapun, leverage juga membawa risiko yang tinggi dan perlu digunakan dengan berhati-hati. Di samping itu, terdapat ruang untuk pengoptimuman dalam strategi ini, yang dapat dicapai dengan memperkenalkan lebih banyak penunjuk, menyesuaikan parameter secara dinamik, dll. Secara keseluruhan, strategi ini sesuai untuk peniaga yang mengejar pulangan yang tinggi dan dapat menanggung risiko yang tinggi.


/*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')


Berkaitan

Lebih lanjut