Strategi Perdagangan Crossover Indikator MACD Multi-Timeframe

Penulis:ChaoZhang, Tanggal: 2024-02-19 11:03:54
Tag:

img

Gambaran umum

Multi-timeframe MACD Indicator Crossover Trading Strategy adalah strategi mengikuti tren. Ini menghasilkan sinyal perdagangan ketika harga menembus indikator MACD yang dihitung dengan pengaturan parameter yang berbeda, memungkinkan perdagangan otomatis saham, indeks, forex dan produk keuangan lainnya.

Logika Strategi

Strategi ini menghitung 3 rata-rata bergerak secara bersamaan: satu rata-rata bergerak tertimbang WMA dan dua rata-rata bergerak eksponensial EMA. Parameter dari tiga rata-rata bergerak ini ditetapkan secara berbeda, yaitu masing-masing 25 hari, 50 hari dan 100 hari. Hal ini memungkinkan rata-rata bergerak untuk menutupi pergerakan harga selama periode yang berbeda.

Setelah rata-rata bergerak dihitung, strategi memantau apakah harga melanggar atau jatuh di bawah rata-rata bergerak.

Sebagai contoh, sinyal beli dihasilkan ketika harga berada di atas semua 3 moving average pada saat yang sama. sinyal jual dihasilkan ketika harga jatuh di bawah semua 3 moving average pada saat yang sama. memantau harga relatif terhadap moving average dapat menentukan titik pembalikan pergerakan harga.

Dengan menilai secara silang dengan indikator multi-frame waktu, beberapa sinyal palsu dapat disaring, membuat sinyal perdagangan lebih dapat diandalkan.

Analisis Keuntungan

  • Gunakan analisis multi-frame waktu untuk menyaring sinyal palsu
  • Mudah untuk mengoptimalkan parameter untuk beradaptasi dengan kondisi pasar selama periode yang berbeda
  • Dapat diterapkan pada berbagai produk termasuk saham, indeks, forex, dll.

Analisis Risiko

  • Keterlambatan indikator dapat kehilangan peluang jangka pendek
  • Risiko kerugian ketika tingkat harga tidak dapat dipertahankan
  • fine tune PARAMETERS kemudian untuk mengoptimalkan stop loss dan mengambil keuntungan

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan periode rata-rata bergerak untuk menyesuaikan lebih banyak siklus pasar
  2. Tambahkan indikator teknis lainnya untuk penyaringan, seperti RSI untuk overbought dan oversold
  3. Tambahkan mekanisme stop loss, dapat menggunakan indikator ATR untuk jarak stop
  4. Dapat diperluas ke produk lain seperti berjangka, mengoptimalkan parameter

Ringkasan

Multi-timeframe MACD Indicator Crossover Trading Strategy memiliki aliran logika yang jelas. Ini menentukan tren harga selama beberapa periode menggunakan moving average dan menghasilkan sinyal perdagangan ketika terjadi pembalikan yang signifikan. Strategi ini memiliki ruang optimasi yang besar dan parameter dapat disesuaikan untuk produk dan siklus pasar yang berbeda, memungkinkan kinerja perdagangan yang baik. Ini cocok untuk perdagangan otomatis saham tren, indeks dan forex.


/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("TC - MACDoscillator v2", overlay=true)
// ___________      .__                   _________               .__  __         .__   
// \__    ___/____  |  |    ____   ____   \_   ___ \_____  ______ |__|/  |______  |  |  
//   |    |  \__  \ |  |   / ___\ /  _ \  /    \  \/\__  \ \____ \|  \   __\__  \ |  |  
//   |    |   / __ \|  |__/ /_/  >  <_> ) \     \____/ __ \|  |_> >  ||  |  / __ \|  |__
//   |____|  (____  /____/\___  / \____/   \______  (____  /   __/|__||__| (____  /____/
//                \/     /_____/                  \/     \/|__|                 \/      
//
// MACDoscillator Strategy v2
// Josh Breitfeld 2016
//

/// INPUTS START ///

//tradeSize = input(title="Shares Per Trade",  defval=2500, step=1)
WMALength = input(title="WMA Length",  defval=25, step=1)
EMA1Length = input(title="EMA1 Length",  defval=50, step=1)
EMA2Length = input(title="EMA2 Length",  defval=100, step=1)
//security = input(title="Alternate Security", type=string, defval="SPX500")
//inverse = input(title="Inverse Signals", type=bool, defval=true)

/// INPUTS END ///

/// ALGORITHM START ///

/// Define calculations
WMA = wma(close,WMALength)
EMA1 = ema(close,EMA1Length)
EMA2 = ema(close,EMA2Length)

/// Grab values from alternate security
dWMA = WMA
dEMA1 = EMA1
dEMA2 = EMA2

aClose = close

/// Crossover signal system

/// Long crosses
lc1 = aClose > dWMA ? true : false
lc2 = aClose > dEMA1 ? true : false
lc3 = aClose > dEMA2 ? true: false

/// Short crosses
sc1 = aClose < dWMA ? true : false
sc2 = aClose < dEMA1 ? true : false
sc3 = aClose < dEMA2 ? true : false

//plot(lc1,color=green)
//plot(lc2,color=green)
//plot(lc3,color=green)
//plot(sc1,color=red)
//plot(sc2,color=red)
//plot(sc3,color=red)


/// ALGO ORDER CONDITIONS START ///

pBuyToOpen = (lc1 and lc2 and lc3 ? true : false)
pSellToOpen = (sc1 and sc2 and sc3 ?  true : false)
pSellToClose = (lc1 ? true : false) and not pBuyToOpen
pBuyToClose = (sc1 ? true : false) and not pSellToOpen

//plot(pBuyToOpen,color=lime)
//plot(pBuyToClose,color=lime)
//plot(pSellToOpen,color=red)
//plot(pSellToClose,color=red)
/// INVERT SIGNALS

//buyToOpen = inverse ? -pBuyToOpen : pBuyToOpen
//sellToOpen = inverse ? -pBuyToOpen : pSellToOpen
//sellToClose = inverse ? -pSellToClose : pSellToClose
//buyToClose = inverse ? -pBuyToClose : pBuyToClose

/// ALGO ORDER CONDITIONS END ///

/// ALGORITHM END ///

/// DEFINE PLOTS ///

plot(dWMA,"WMA",lime,1,line)
plot(dEMA1,"EMA1",blue,2,line)
plot(dEMA2,"EMA2",red,3,line)
//plot(aClose,"Close",orange,4,line)

/// PLOTS END ///

/// ORDER BLOCK ///

    //strategy.entry("My Long Entry Id", strategy.long)

/// OPENING ORDERS START ///
if(pBuyToOpen) 
    strategy.entry("BTO", strategy.long, comment="BTO")
if(pSellToOpen) 
    strategy.entry("STO", strategy.short, comment="STO")

/// OPENING ORDERS END ///

/// CLOSING ORDERS START ///
strategy.close("BTO", pBuyToClose)
strategy.close("STO", pSellToClose)
/// CLOSING ORDERS END ///

/// END ORDER BLOCK ///

// Josh Breitfeld - Talgo Capital 2016
/// STRATEGY END ///

Lebih banyak