Intraday Long-Short Dynamische Balance-Strategie, die gleitenden Durchschnitt und Supertrend kombiniert


Erstellungsdatum: 2024-03-11 11:33:47 zuletzt geändert: 2024-03-11 11:33:47
Kopie: 0 Klicks: 692
1
konzentrieren Sie sich auf
1617
Anhänger

Intraday Long-Short Dynamische Balance-Strategie, die gleitenden Durchschnitt und Supertrend kombiniert

Strategieübersicht

Die intraday Multi-Bereichs-Dynamische-Balance-Strategie, kombiniert mit der Mittellinie und dem Supertrend, ist eine quantitative Handelsstrategie, die auf Pine ScriptTM 5 basiert. Die Strategie nutzt die MACD- und Supertrend-Indikatoren, um tendenzielle Chancen im Markt zu erfassen und gleichzeitig das Risiko durch dynamische Multi-Bereichs-Switching und Stop-Loss-Stopps zu kontrollieren.

Strategieprinzip

Der Kern der Strategie ist die Kombination von MACD- und Supertrend-Indikatoren, um die Richtung des Marktes zu bestimmen.

  1. Die Verwendung von Supertrend-Indikatoren zur Beurteilung der aktuellen Trendrichtung. Wenn sich der Supertrend-Indikator ändert, zeigt dies eine Trendwende an.
  2. Die MACD-Säulendiagramm wird verwendet, um die Veränderung der Dynamik zu beurteilen. Die MACD-Säulendiagramm zeigt eine Erhöhung der Aufwärtsbewegungsenergie an, wenn sie von einer negativen Korrektur abweicht. Die MACD-Säulendiagramm zeigt eine Erhöhung der Abwärtsbewegungsenergie an, wenn sie von einer positiven Korrektur abweicht.
  3. Wenn der Supertrend-Indikator und der MACD-Indikator gleichzeitig mehrere Signale senden, öffnen Sie eine Position. Wenn der Supertrend-Indikator und der MACD-Indikator gleichzeitig ein Leersignal senden, öffnen Sie eine Position.
  4. Alle Positionen werden zu einem festen Zeitpunkt an jedem Handelstag (z.B. 15:15) abgewickelt, um das Übernachtungsrisiko zu vermeiden.
  5. An einem neuen Handelstag (z. B. um 9:30 Uhr) wird die Position nach Anweisung des Supertrend- und MACD-Indikators neu eröffnet.

Die Strategie kann sich an Veränderungen des Marktes anpassen, um trendige Chancen zu ergreifen, indem sie dynamisch wechselt. Gleichzeitig hilft die Konzeption von Fixed-Time-Plays, das Risiko zu kontrollieren.

Strategische Vorteile

  1. Trend-Tracking: Durch die Kombination von Supertrend-Indikatoren und MACD-Indikatoren kann die Strategie trendige Marktchancen effektiv erfassen.
  2. Dynamische Multiple-Switching: Die Strategie richtet die Position dynamisch nach den Veränderungen der Indikatoren an und passt sich den Veränderungen des Marktes an.
  3. Risikokontrolle: Die Strategie ermöglicht eine bessere Risikokontrolle durch die Festlegung von Zeit-Platzpositionen und den dynamischen Wechsel von Multi-Space.
  4. Flexibilität der Parameter: Die Parameter der Strategie (z. B. ATR-Zyklen, Faktoren usw.) können je nach Markteigenschaften und persönlichen Vorlieben angepasst werden und haben eine gewisse Flexibilität.

Strategisches Risiko

  1. Risiko eines Ausfalls der Indikatoren: In bestimmten Marktumgebungen können die MACD-Indikatoren und die Supertrend-Indikatoren falsche Signale abgeben, was zu einem Ausfall der Strategie führt.
  2. Parameter-Optimierungsrisiken: Die Strategie ist von der Auswahl der Parameter abhängig, und unangemessene Parameter können zu einer schlechten Strategie führen.
  3. Stop-Loss-Risiko: Die Strategie hat keine eindeutige Stop-Loss-Logik, was zu größeren Verlusten in extremen Marktbedingungen führen kann.
  4. Overnight-Risiken: Obwohl die Strategie die Positionen am Tag auslöst, besteht die Gefahr einer Overnight-Lücke, wenn die Positionen über Nacht eröffnet werden.

Optimierungsrichtung

  1. Erhöhung der Stop-Logik: Einführung einer eindeutigen Stop-Logik in die Strategie, wie z. B. ein Fixed-Percentage-Stop oder ein ATR-Stop, um das Risiko weiter zu kontrollieren.
  2. Parameteroptimierung: Die Optimierung von Schlüsselparametern der Strategie, wie ATR-Zyklen, Faktoren, MACD-Parametern usw., um die Stabilität und Ertragsfähigkeit der Strategie zu verbessern.
  3. Signalfilter: Hinzufügen weiterer Signalfilterbedingungen, wie z. B. Preis-Breakthrough, Handelsvolumen usw., um die Signalsicherheit zu erhöhen.
  4. Multi-Markt-Tests: Die Strategie wird in verschiedenen Märkten und Sorten getestet, um ihre Anwendbarkeit und Stabilität zu bewerten.

Zusammenfassen

Eine intraday-Mehrraum-Dynamische-Gleichgewichts-Strategie in Kombination mit einer Mittellinie und einem Supertrend ist eine Handelsstrategie, die auf Trendverfolgung und Dynamik-Urteilen basiert. Durch die Kombination eines Supertrend-Indikators mit einem MACD-Indikator kann die Strategie die Positionseite dynamisch anpassen, um sich an Veränderungen des Marktes anzupassen und tendenzielle Chancen zu erfassen. Die Gestaltung von Fixed-Time-Platzpositionen hilft auch, das Übernachtrisiko zu kontrollieren.

Die Strategie hat jedoch auch einige Risiken und Mängel, wie das Risiko von Indikatorfehlern, das Risiko von Parameteroptimierungen und das Risiko von Stop Losses. Zur weiteren Verbesserung der Strategie können zusätzliche Stop Loss Logik, Optimierungsparameter, zusätzliche Signalfilterbedingungen und Tests in mehreren Märkten in Betracht gezogen werden.

In der Praxis sollten die Händler ihre eigenen Risikopräferenzen und Markteigenschaften miteinander kombinieren, um die Strategie angemessen anzupassen und zu optimieren. Obwohl eine quantitative Handelsstrategie eine Handelsstrategie bietet, ist der Markt sehr schnell verändert.

Strategiequellcode
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © smj31071995

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)
st_tf = "3"
macd_tf="30"

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////