Sumber daya yang dimuat... Pemuatan...

Triple Moving Average Trend Following dan Momentum Integration Strategi Perdagangan Kuantitatif

Penulis:ChaoZhang, Tanggal: 2024-11-27 16:08:16
Tag:EMATEMAMACDSMA

img

Gambaran umum

Ini adalah strategi perdagangan kuantitatif yang menggabungkan trend berikut dan analisis momentum. Strategi ini memanfaatkan Triple Exponential Moving Average (TEMA), beberapa crossover rata-rata bergerak, dan varian MACD untuk mengidentifikasi tren pasar dan titik masuk.

Prinsip Strategi

Strategi ini menentukan sinyal perdagangan melalui tiga sistem indikator teknis inti:

  1. Sistem Triple Exponential Moving Average (TEMA) mengkonfirmasi arah tren secara keseluruhan.
  2. Sistem crossover MA cepat/lambat menggunakan EMA 9 periode dan 15 periode untuk menangkap titik pembalikan tren jangka menengah.
  3. Penyambungan harga dengan EMA 5 periode berfungsi sebagai sinyal konfirmasi akhir untuk waktu masuk yang tepat.

Sinyal perdagangan diaktifkan ketika semua kondisi terpenuhi:

  • MACD melintasi di atas garis sinyalnya dengan tren TEMA naik
  • EMA jangka pendek melintasi EMA jangka panjang
  • Harga melintasi EMA lima periode

Keuntungan Strategi

  1. Mekanisme konfirmasi ganda sangat mengurangi sinyal palsu dan meningkatkan akurasi perdagangan.
  2. Menggabungkan manfaat dari mengikuti tren dan analisis momentum untuk menangkap tren utama dan peluang jangka pendek.
  3. Mengimplementasikan mekanisme stop-loss yang komprehensif termasuk stop tetap dan stop trailing dinamis untuk kontrol risiko yang efektif.
  4. Kemampuan adaptasi parameter yang tinggi untuk lingkungan pasar yang berbeda.
  5. Logika entri yang jelas yang mudah dipahami dan dieksekusi.

Risiko Strategi

  1. Keperluan konfirmasi ganda dapat menyebabkan keterlambatan masuk, kehilangan peluang di pasar yang bergerak cepat.
  2. Titik stop-loss tetap perlu disesuaikan dengan volatilitas pasar yang berbeda untuk menghindari keluar yang prematur.
  3. Dapat menghasilkan sinyal palsu yang sering terjadi di pasar yang bergelombang.
  4. Trailing stops mungkin keluar dari tren kualitas terlalu awal selama fluktuasi pasar yang parah.

Arahan Optimasi

  1. Memperkenalkan indikator volatilitas untuk penyesuaian dinamis stop dan target laba agar lebih sesuai dengan kondisi pasar.
  2. Tambahkan indikator volume sebagai konfirmasi tambahan untuk meningkatkan keandalan sinyal.
  3. Menerapkan pengakuan lingkungan pasar untuk kombinasi parameter yang berbeda di berbagai negara pasar.
  4. Mengembangkan mekanisme pembentukan posisi kontra-tren untuk akumulasi moderat selama penarikan.
  5. Mengoptimalkan algoritma trailing stop untuk adaptasi yang lebih baik terhadap volatilitas pasar.

Ringkasan

Strategi ini membangun sistem perdagangan yang kuat dengan mengintegrasikan beberapa sistem indikator teknis. Kekuatan utamanya terletak pada beberapa mekanisme konfirmasi dan sistem kontrol risiko yang komprehensif. Meskipun ada risiko lag tertentu, strategi ini memiliki potensi peningkatan yang signifikan melalui optimasi parameter dan perluasan fungsional. Cocok untuk pedagang yang mencari pengembalian yang stabil.


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ITG Scalper Strategy", shorttitle="lokesh_ITG_Scalper_Strategy", overlay=true)

// General inputs
len = input(14, title="TEMA period")
FfastLength = input.int(13, title="Filter fast length")
FslowLength = input.int(18, title="Filter slow length")
FsignalLength = input.int(14, title="Filter signal length")
sl_points = 7 // 5 points stop loss
tp_points = 100 // 100 points target profit
trail_points = 15 // Trailing stop loss every 10 points

// Validate input
if FfastLength < 1
    FfastLength := 1
if FslowLength < 1
    FslowLength := 1
if FsignalLength < 1
    FsignalLength := 1

// Get real close price
realC = close

// Triple EMA definition
ema1 = ta.ema(realC, len)
ema2 = ta.ema(ema1, len)
ema3 = ta.ema(ema2, len)

// Triple EMA trend calculation
avg = 3 * (ema1 - ema2) + ema3

// Filter formula
Fsource = close
FfastMA = ta.ema(Fsource, FfastLength)
FslowMA = ta.ema(Fsource, FslowLength)
Fmacd = FfastMA - FslowMA
Fsignal = ta.sma(Fmacd, FsignalLength)

// Plot EMAs for visual reference
shortema = ta.ema(close, 9)
longema = ta.ema(close, 15)
yma = ta.ema(close, 5)
plot(shortema, color=color.green)
plot(longema, color=color.red)
plot(yma, color=#e9f72c)

// Entry conditions
firstCrossover = ta.crossover(Fmacd, Fsignal) and avg > avg[1]
secondCrossover = ta.crossover(shortema, longema)  // Assuming you meant to cross shortema with longema
thirdCrossover = ta.crossover(close, yma)

var bool entryConditionMet = false

if (firstCrossover)
    entryConditionMet := true

longSignal = entryConditionMet and secondCrossover and thirdCrossover

// Strategy execution
if (longSignal)
    strategy.entry("Long", strategy.long)
    entryConditionMet := false  // Reset the entry condition after taking a trade

// Calculate stop loss and take profit prices
var float long_sl = na
var float long_tp = na

if strategy.position_size > 0  // Long position
    long_sl := close - sl_points
    long_tp := close + tp_points
    
    // Adjust stop loss with trailing logic
    if (close - long_sl > trail_points)
        long_sl := close - trail_points
        
    strategy.exit("Exit Long", "Long", stop=long_sl, limit=long_tp)

// Plotting Buy signals
plotshape(series=longSignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")

// Alerts
alertcondition(longSignal, title="Buy Signal", message="Buy Signal")


Berkaitan

Lebih banyak