Mehrperioden-EMA-Crossover-quantitative Handelsstrategie


Erstellungsdatum: 2023-12-27 17:09:23 zuletzt geändert: 2023-12-27 17:09:23
Kopie: 0 Klicks: 640
1
konzentrieren Sie sich auf
1619
Anhänger

Mehrperioden-EMA-Crossover-quantitative Handelsstrategie

Überblick

Dieser Artikel beschreibt eine quantitative Trading-Strategie, die auf EMA-Kreuzungen basiert, die sich auf drei verschiedene Perioden erstrecken. Die Strategie zielt darauf ab, EMA-Kreuzungen zu nutzen, um langfristige und kurzfristige Trends in den Aktienmärkten zu erkennen und effektive Handelsentscheidungen zu treffen.

Strategieprinzip

Die Strategie verwendet drei verschiedene EMAs: 10 Tage, 100 Tage und 200 Tage. Wenn die kurze EMA (ca. 10 Tage) die lange EMA (ca. 100 Tage oder 200 Tage) durchquert, wird ein Kauf- oder Verkaufssignal erzeugt, je nachdem, in welche Richtung sie durchquert wird. Die Strategie kombiniert auch einen Zeitfilter, um sicherzustellen, dass nur in bestimmten Zeiträumen gehandelt wird. Diese Kombination erhöht die Flexibilität und Anpassungsfähigkeit der Strategie.

Analyse der Stärken

Der Vorteil dieser Strategie liegt in ihrer Einfachheit und hohen Anpassungsfähigkeit. Die mehrzeitige EMA bietet eine mehrseitige Betrachtung der Markttrends und erhöht die Genauigkeit von Handelsentscheidungen. Die Zeitfilter vermeiden die Instabilität eines bestimmten Zeitraums des Marktes und verringern das potenzielle Risiko.

Risikoanalyse

Obwohl diese Strategie wirksam ist, besteht ein gewisses Risiko. Das Hauptrisiko besteht darin, dass Markterscheinungen zu einem Strategieversagen führen können. Darüber hinaus können EMA-Indikatoren rückläufig sein und Verzögerungen auf Marktveränderungen aufweisen. Methoden zur Bewältigung dieser Risiken umfassen die Überwachung des Marktes in Echtzeit und die Kombination mit anderen technischen Indikatoren zur Erhöhung der Entscheidungsgenauigkeit.

Optimierungsrichtung

Die Optimierung der Strategie beinhaltet die integrierte Verwendung mehrerer technischer Indikatoren wie der Relative Strength Index (RSI) und Brin-Bands, um die Tiefe und Breite der Marktanalyse zu erhöhen. Darüber hinaus kann die EMA-Zyklus durch Anpassung besser an unterschiedliche Marktbedingungen angepasst werden.

Zusammenfassen

Insgesamt ist diese Multi-Zyklus-EMA-Kreuz-Quantifizierungs-Handelsstrategie ein effizientes Werkzeug, um Händlern zu helfen, bessere Entscheidungen in wechselnden Märkten zu treffen. Durch die ständige Optimierung und Anpassung an Marktveränderungen hat diese Strategie das Potenzial, in zukünftigen Geschäften höhere Erträge zu erzielen.

Strategiequellcode
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
start = timestamp(2023,1,1,0,0)
end = timestamp(2024,1,1,0,0)
strategy("Tester Emas", overlay = true)

periodo1 = input(10,"Periodo_1")
periodo2 = input(100,"Periodo_2")
periodo3 = input(200,"Periodo_3")

//definir media moviles
ema1 = ta.ema(close,periodo1)
ema2 = ta.ema(close,periodo2)
ema3 = ta.ema(close,periodo3)

//Desde
desde_a = input(2000, title = "Desde año")
desde_m = input.int(   1, title = "Desde mes", minval=1, maxval = 12)
desde_d = input.int(   1, title = "Desde dia", minval=1, maxval = 31)

//Hasta
hasta_a = input(2030, title = "Hasta año")
hasta_m = input.int(   1, title = "Hasta mes", minval=1, maxval = 12)
hasta_d = input.int(   1, title = "Hasta dia", minval=1, maxval = 31)

FechaValida() => true

//Condicion de entradas
longCondition = ta.crossover(ema1, ema2)
shortCondition = ta.crossunder(ema1,ema2)

alcista = (ema1 > ema2) and (ema2 > ema3)
comprado =strategy.position_size > 0



//Comprar o vender segun las condiciones de entradas

//if (longCondition)
if (not comprado and alcista and FechaValida())
    // Round redondea mi capital para comprar las acciones en cantidades enteras
    cantidad = math.round(strategy.equity/ close)
    strategy.entry("Compra", strategy.long, cantidad)
//if (shortCondition)
if (comprado and not alcista and FechaValida())
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta")

if (comprado and not FechaValida())
    //Cierre x finalizacion de periodo
    //strategy.entry("Venta", strategy.short)
    strategy.close("Compra" , comment = "Venta x fin")

//Graficar las medias moviles
plot(ema1, color = color.green, title = "Ema1")
plot(ema2, color = color.yellow, title = "Ema2")
plot(ema3, color = color.red, title = "Ema2")
//GMarca los cruces de medias
bgcolor(longCondition ? color.green : na)
bgcolor(shortCondition ? color.red : na)