Handelsstrategie „Hoch eröffnen und niedrig schließen“


Erstellungsdatum: 2024-02-02 12:03:45 zuletzt geändert: 2024-02-02 12:03:45
Kopie: 0 Klicks: 905
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategie „Hoch eröffnen und niedrig schließen“

Überblick

Die Strategie ermittelt die kurzfristige Trendrichtung des Preises, indem sie die Beziehung zwischen dem Eröffnungs- und dem Schlusskurs der K-Linie beurteilt. Die Position wird bei der Einleitung des Trends zusätzlich freigegeben, um schnell in den Markt zu gelangen und den Trend zu verfolgen.

Strategieprinzip

Die Strategie beurteilt hauptsächlich die Größe der Beziehung zwischen dem Eröffnungspreis und dem Schließpreis der K-Linie und erzeugt mehrere Signale, wenn der Eröffnungspreis dem niedrigsten Preis entspricht; wenn der Eröffnungspreis dem höchsten Preis entspricht, erzeugt er ein Fehlsignal. Auf diese Weise können kurzfristige Preisdurchbrüche erfasst und Trends verfolgt werden.

Nach dem Eintritt in das Signal wird sofort mit einer festen Anzahl von Positionen eröffnet und Positionen eingerichtet. Der Stop-Loss-Bereich bezieht sich auf die ATR-Indikator-Einstellung und verfolgt die Marktschwankungen. Das Stop-Loss-Ziel ist der RR-anteilige Teil des Abstands zwischen dem Stop-Loss-Bereich und dem Eintrittspreis.

Die Strategie schließt auch alle Positionen zu einem von den Benutzern festgelegten Zeitpunkt, z. B. eine halbe Stunde vor dem Ende der US-Markt, aus, um das Risiko von starken Schwankungen über Nacht zu vermeiden.

Analyse der Stärken

Die Strategie hat folgende Vorteile:

  1. Kurzfristige Preisbruche können schnell erkannt werden, indem die Beziehung zwischen dem Eröffnungs- und dem Schlusskurs verwendet wird, um die Richtung des Trends zu bestimmen.

  2. Eintrittszeichen sind einfach, klar und leicht zu verwirklichen.

  3. Derzeitige Stop-Loss- und Stop-Stopps können Gewinne sichern und verhindern, dass Verluste sich ausbreiten.

  4. Die Gefahr von Übernachtungsbewegungen kann dadurch vermieden werden, dass die Gewinne in bestimmten Zeitabschnitten verpflichtet sind.

  5. Es ist nicht notwendig, eine bestimmte Handelsart auszuwählen, die für Märkte wie Devisen, Aktien und Kryptowährungen gilt.

Risikoanalyse

Die Strategie birgt auch einige Risiken:

  1. Mit dem ATR-Stopp kann es zu häufigen Stopps bei Erschütterungen kommen.

  2. Es besteht die Möglichkeit einer Überpassung ohne Berücksichtigung der Merkmale der Handelsart und des Zeitraums.

  3. Das Fixed Stop-Loss-Ziel kann nicht mit den Marktbedingungen übereinstimmen und kann nicht dauerhaft profitabel sein.

  4. Wenn man die Position nicht zwingend platziert, kann man eine Trendchance verpassen oder zusätzliche Verluste erleiden.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Optimierung von Stop-Loss-Methoden, die Verwendung von Halte-Stopp-Systemen bei Trends, die Verwendung von Hang-Stop-Systemen bei Erschütterungen usw.

  2. Filterbedingungen werden hinzugefügt, um die Eintrittszeitpunkte in Kombination mit Trendindikatoren zu bestimmen, um falsche Durchbrüche zu vermeiden.

  3. Dynamische Anpassung der Stop-Position, um eine angemessene Stopp-Distanz zu bestimmen, die auf die Marktschwankungen zugeschnitten ist.

  4. Optimierung der Pausezeit durch Auswahl der richtigen Pausezeit für verschiedene Handelsarten und Regionen.

Zusammenfassen

Eine Strategie, die schnell Positionen aufbaut, indem sie einfach kurzfristige Preistrends ermittelt. Sie hat klare Vorteile wie einfache Eintritts- und Stop-Loss-Methoden. Es gibt jedoch einige Aspekte, die optimiert werden können, wie die Stop-Loss-Methode, Filtersignale usw. Durch ständige Tests und Optimierungen kann die Strategie Parameters an mehr Marktumgebungen angepasst werden und eine stärkere Anpassungsfähigkeit und Profitabilität aufweisen.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Open-High-Low strategy

strategy('Strategy: OLH', shorttitle="OLH", overlay=true)

// Inputs
slAtrLen = input.int(defval=14, title="ATR Period for placing SL", group="StopLoss settings")
showSLLines = input.bool(defval=false, title="Show SL lines in chart", tooltip="Show SL lines also as dotted lines in chart. Note: chart may look untidy.", group="Stolploss settings")
// Trade related
rrRatio = input.float(title='Risk:Reward', step=0.1, defval=2.0, group="Trade settings")
endOfDay = input.int(defval=1500, title="Close all trades, default is 3:00 PM, 1500 hours (integer)", group="Trade settings")
mktAlwaysOn = input.bool(defval=true, title="Markets that never closed (Crypto, Forex, Commodity)", tooltip="Some markers never closes. For those cases, make this checked.", group="Trade settings")
lotSize = input.int(title='Lot Size', step=1, defval=1, group="Trade settings")


// Utils
green(open, close) => close > open ? true : false
red(open, close) => close < open ? true : false
body(open, close) => math.abs(open - close)
lowerwick = green(open, close) ? open - low : close - low
upperwick = green(open, close) ? high - close : high - open
crange = high - low
crangep = high[1] - low[1] // previous candle's candle-range
bullish = close > open ? true : false
bearish = close < open ? true : false


// Trade signals
longCond = barstate.isconfirmed and (open == low)
shortCond = barstate.isconfirmed and (open == high)

// For SL calculation
atr = ta.atr(slAtrLen)
highestHigh = ta.highest(high, 7)
lowestLow = ta.lowest(low, 7)
longStop = showSLLines ? lowestLow - (atr * 1) : na
shortStop = showSLLines ? highestHigh + (atr * 1) : na
plot(longStop, title="Buy SL", color=color.green, style=plot.style_cross)
plot(shortStop, title="Sell SL", color=color.red, style=plot.style_cross)

// Trade execute
h = hour(time('1'), syminfo.timezone)
m = minute(time('1'), syminfo.timezone)
hourVal = h * 100 + m
totalTrades = strategy.opentrades + strategy.closedtrades
if (mktAlwaysOn or (hourVal < endOfDay))
    // Entry
    var float sl = na
    var float target = na
    if (longCond)
        strategy.entry("enter long", strategy.long, lotSize, limit=na, stop=na, comment="Enter Long")
        sl := longStop
        target := close + ((close - longStop) * rrRatio)
        alert('Buy:' + syminfo.ticker + ' ,SL:' + str.tostring(math.floor(sl)) + ', Target:' + str.tostring(target), alert.freq_once_per_bar)
    if (shortCond)
        strategy.entry("enter short", strategy.short, lotSize, limit=na, stop=na, comment="Enter Short")
        sl := shortStop
        target := close - ((shortStop - close) * rrRatio)
        alert('Sell:' + syminfo.ticker + ' ,SL:' + str.tostring(math.floor(sl)) + ', Target:' + str.tostring(target), alert.freq_once_per_bar)

    // Exit: target or SL
    if ((close >= target) or (close <= sl))
        strategy.close("enter long", comment=close < sl ? "Long SL hit" : "Long target hit")
    if ((close <= target) or (close >= sl))
        strategy.close("enter short", comment=close > sl ? "Short SL hit" : "Short target hit")
else if (not mktAlwaysOn)
    // Close all open position at the end if Day
    strategy.close_all(comment = "Close all entries at end of day.")