Umgekehrte Öffnungsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-22 16:05:24
Tags:

img

Übersicht

Die Reverse Opening Engulfing Strategy ist eine einfache Intraday-Handelsstrategie, die auf der ersten Kerze nach der Eröffnung basiert. Die Kernidee dieser Strategie besteht darin, den Aufwärtstrend oder Abwärtstrend der ersten Kerze zu beurteilen, wenn sie jeden Tag nach der Eröffnung erscheint, und Gegenoperationen durchzuführen. Wenn die erste Kerze eine rote Yang-Linie ist, gehen Sie lang; wenn die erste Kerze eine grüne Yin-Linie ist, gehen Sie kurz. Die Strategie setzt auch Stop-Loss- und Gewinnmechanismen für den Ausgang von Positionen ein.

Strategie Logik

Das Prinzip hinter dieser Strategie ist die Besonderheit der ersten Kerze nach der Öffnung. Wenn der Markt öffnet, konfrontieren sich die Kräfte von Longs und Shorts am intensivsten, und die Wahrscheinlichkeit einer Umkehrung ist relativ groß.

Wenn der Eröffnungspreis höher ist als der Schlusskurs (grüne Yin-Linie), bedeutet dies, dass die Bären gewonnen haben und wir lang gehen sollten; wenn der Eröffnungspreis niedriger ist als der Schlusskurs (rote Yang-Linie), bedeutet dies, dass die Bullen gewonnen haben und wir kurz gehen sollten. Durch solche Gegenoperationen versucht die Strategie, Umkehrmöglichkeiten nach der Eröffnung zu erfassen.

In der Zwischenzeit wird in der Strategie auch ein Stop-Loss- und Profit-Mechanismus eingerichtet, einschließlich des Long-Stop-Loss-Preises, des Long-Profit-Preises, des Short-Stop-Loss-Preises und des Short-Profit-Preises, um Risiken und Gewinne von Long- und Short-Positionen zu kontrollieren und übermäßige Verluste oder vorzeitige Gewinnnahmen zu vermeiden.

Analyse der Vorteile

Die Strategie der umgekehrten Öffnungs-Einschließung weist folgende Vorteile auf:

  1. Die Logik ist einfach und klar, leicht zu verstehen und umzusetzen.
  2. Es nutzt den hohen Vorhersagewert des Eröffnungssegments, um Umkehrchancen zu erfassen.
  3. Die Stop-Loss- und Take-Profit-Einstellungen können Risiken wirksam kontrollieren.
  4. Die Strategieidee ist universell und für die meisten Aktien geeignet.
  5. Die Beteiligungskosten sind relativ gering und die Kapitalkontrolle ist einfach.

Risikoanalyse

Die Strategie zur Umkehrung der Öffnungsstrategie birgt auch einige Risiken, darunter insbesondere:

  1. Die Wahrscheinlichkeit, dass das erste Kerzenlicht ausfällt, kann zu großen Verlusten führen.
  2. Die Strategie fehlt an ausreichender Fundamentalanalyse und kann einige Aktien mit schlechten Fundamentaldaten auswählen.
  3. Unfähigkeit, systemische Risiken durch schwarze Schwanenereignisse, wie die Auswirkungen erheblich negativer Nachrichten, wirksam zu kontrollieren.
  4. Bei unzulässigen Stop-Loss- und Take-Profit-Einstellungen können Verluste vergrößert oder Gewinne reduziert werden.

Optimierungsrichtlinien

Die Strategie der Umkehröffnung kann in folgenden Aspekten optimiert werden:

  1. Erhöhung der Gültigkeitsprüfung der Öffnungsumkehrsignale, um ungültige Signale zu vermeiden, z. B. Kombination der Volumenanalyse.
  2. Auswahl von Bestandspools durch Integration von fundamentaler und technischer Analyse zur Filterung von minderwertigen Beständen.
  3. Hinzufügen von Überwachungsmodulen für wichtige Ereignisse und Nachrichten zur Kontrolle systemischer Risiken.
  4. Verwenden Sie genetische Algorithmen, maschinelles Lernen und andere Methoden, um die Stop-Loss- und Gewinnsätze dynamisch zu optimieren.

Zusammenfassung

Die Reverse Opening Engulfing Strategie versucht, Umkehrchancen nach dem Öffnen zu erfassen, indem die Richtung der ersten Kerze beurteilt und Gegenoperationen durchgeführt werden. Die Strategieidee ist einfach mit niedrigen Beteiligungskosten und hat einen gewissen praktischen Wert. Aber wir sollten uns auch der Risiken bewusst sein und die Strategie in der Praxis ständig verbessern und optimieren, um sie robuster und zuverlässiger zu machen.


/*backtest
start: 2023-10-22 00:00:00
end: 2023-11-21 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © vikris
//@version=4
strategy("[VJ]First Candle Strategy", overlay = true,calc_on_every_tick = true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,initial_capital=750,commission_type=strategy.commission.percent, 
     commission_value=0.02)


// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Make inputs that set the take profit % (optional)
longProfitPerc = input(title="Long Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01

shortProfitPerc = input(title="Short Take Profit (%)",
     type=input.float, minval=0.0, step=0.1, defval=1) * 0.01
     
// Set stop loss level with input options (optional)
longLossPerc = input(title="Long Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01

shortLossPerc = input(title="Short Stop Loss (%)",
     type=input.float, minval=0.0, step=0.1, defval=0.5) * 0.01    


// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

// A function to check whether the bar or period is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0



// Figure out take profit price
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Determine stop loss price
longStopPrice  = strategy.position_avg_price * (1 - longLossPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortLossPerc)


// ********** Supporting functions - End **********


// ********** Strategy - Start **********
// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

//=================Strategy logic goes in here===========================
 
// If start of the daily session changed, then it's first bar of the new session
isNewDay = time("D") != time("D")[1]
var firstBarCloseValue = close
var firstBarOpenValue = open
if isNewDay
    firstBarCloseValue := close
    firstBarOpenValue := open


greenCandle = firstBarOpenValue < firstBarCloseValue
redCandle = firstBarOpenValue > firstBarCloseValue

buy = redCandle
sell = greenCandle


// plot(firstBarCloseValue)
// plot(firstBarOpenValue)



//Final Long/Short Condition
longCondition = buy
shortCondition =sell
 
//Long Strategy - buy condition and exits with Take profit and SL
if (longCondition and intradaySession)
    stop_level = longStopPrice
    profit_level = longExitPrice
    strategy.entry("My Long Entry Id", strategy.long)
    strategy.exit("TP/SL", "My Long Entry Id", stop=stop_level, limit=profit_level)


//Short Strategy - sell condition and exits with Take profit and SL
if (shortCondition and intradaySession)
    stop_level = shortStopPrice
    profit_level = shortExitPrice
    strategy.entry("My Short Entry Id", strategy.short)
    strategy.exit("TP/SL", "My Short Entry Id", stop=stop_level, limit=profit_level)
 
 
// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

// ********** Strategy - End **********

Mehr