
Die Multi-Times-Axis-MACD-Index-Cross-Trading-Strategie ist eine Trend-Tracking-Strategie, die durch die Berechnung von MACD-Index mit verschiedenen Parameter-Sets ein Handelssignal erzeugt, wenn der Preis den Indikator durchbricht, um den automatischen Handel von Finanzprodukten wie Aktien, Indizes und Devisen zu ermöglichen.
Die Strategie berechnet gleichzeitig drei Moving Averages: einen gewichteten Moving Average (WMA) und zwei Index Moving Averages (EMA). Die Parameter für die drei Moving Averages sind unterschiedlich eingestellt: 25, 50 und 100 Tage. So können die Moving Averages verschiedene Preiszyklen abdecken.
Nach der Berechnung des Moving Averages überwacht die Strategie, ob der Preis einen bestimmten Moving Average überschreitet oder überschreitet. Wenn der Preis alle drei Moving Averages gleichzeitig überschreitet oder überschreitet, wird ein Handelssignal erzeugt.
Zum Beispiel wird ein Kaufsignal erzeugt, wenn der Preis gleichzeitig höher als alle drei Moving Averages ist; ein Verkaufsignal wird erzeugt, wenn der Preis gleichzeitig niedriger als alle drei Moving Averages ist. Die Beziehung zwischen dem Monitoring des Preises und dem Moving Average kann den Wendepunkt der Preisentwicklung bestimmen.
Durch die Kreuzung von mehreren Zeitachsen-Indikatoren können gefälschte Signale herausgefiltert und Handelssignale zuverlässiger gemacht werden.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Die Multi-Times-Axis-MACD-Index-Kreuz-Trading-Strategie hat eine klare Gesamtkonzeption, um die Preisentwicklung durch einen Moving-Average-Mehrzyklus zu bestimmen und bei bedeutenden Kurswechseln ein Handelssignal zu erzeugen. Die Strategie bietet viel Optimierungsraum und kann Parameter für verschiedene Sorten und Marktzyklen anpassen, um gute Handelsergebnisse zu erzielen. Die Strategie eignet sich für den programmierten Handel mit Trendaktien, Indizes und Devisen.
/*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 ///