Midnight Candle Color Strategie mit Stop Loss und Take Profit

Schriftsteller:ChaoZhang, Datum: 2024-01-05 16:37:35
Tags:

img

Übersicht

Diese Strategie handelt auf der Grundlage der Mitternachtskerzenfarbe mit einer 1-Stunden-Verzögerung, indem die Farbe der vorangegangenen Tages 0:00-Kandle analysiert wird, um die Handelsrichtung am nächsten Tag um 1 Uhr zu bestimmen.

Strategie Logik

Die Kernlogik dieser Strategie basiert auf dem Midnight-Effekt auf den Märkten, bei dem die Farbe der 0 Uhr Kerze vom Vortag die allgemeine Marktstimmung darstellt und zur Bestimmung der Marktrichtung nach der Öffnung des nächsten Tages verwendet werden kann.

Insbesondere beurteilt die Strategie zuerst, ob die aktuelle Kerze 0 Uhr Kerze ist. Wenn ja, zeichnen Sie sie als grün auf, wenn die Schließung höher ist als die Öffnung, andernfalls rot. Auf der nächsten Stange um 1 Uhr gehen Sie lang / kurz nach der 0 Uhr Kerzenfarbe vom vorherigen Tag, mit Stop-Loss und Take-Profit-Set.

Durch die Verzögerung des Markteintritts um 1 Stunde verhindert es, dass der volatile Preis um Mitternacht den Markteintritt beeinträchtigt.

Vorteile

  1. Einfache Logik mit 0 Uhr Kerzenfarbe zur Bestimmung der Marktrichtung
  2. Ein einstündiger Eintrittsverzug vermeidet das volatile Mitternachtspreisrisiko
  3. Setzen Sie Stop Loss und Take Profit, um Verluste zu begrenzen und Gewinn zu sichern

Risiken

  1. 0 Uhr Kerzenfarbe kann die Marktentwicklung des nächsten Tages mit gewisser Unsicherheit nicht vollständig repräsentieren
  2. Nicht berücksichtigt ist das Risiko plötzlicher hoher Preisschwankungen aufgrund großer wirtschaftlicher Ereignisse usw.
  3. Stop-Loss und Take-Profit müssen kontinuierlich optimiert und getestet werden, sonst besteht die Gefahr, dass sie erwischt oder der Gewinn begrenzt wird

Verbesserungsbereiche

  1. Kombinieren Sie mehrere Faktoren, um die Wirksamkeit der Anzeige der 0-Uhr-Kerze zu beurteilen, z. B. Volumen, Bereich usw.
  2. Verschiedene Einstiegsverzögerungen wie 2 Stunden, 3 Stunden usw. testen
  3. Dynamische Anpassung von Stop-Loss und Take-Profit, um sich besser an die Marktvolatilität anzupassen

Zusammenfassung

Die Strategie hat eine klare und einfache Logik, beurteilt die Richtung des nächsten Tages nach 0 Uhr Kerzenfarbe und kontrolliert Risiken mit Stop-Loss / Take-Profit. Es ist eine anfängerfreundliche kurzfristige Handelsstrategie.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Midnight Candle Color Strategy with 1-Hour Delay and SL/TP", shorttitle="12AM +1H SL/TP Strat", overlay=true)

// Adjust for New York time (UTC-5 or UTC-4 for Daylight Saving Time)
// Assuming UTC-5 for now; adjust as necessary for Daylight Saving Time
nyHour(hour) => (hour - 5) % 24

// Function to check if the current bar is the 12:00 AM New York time bar
isMidnightBar() =>
    nyHour(hour) == 0 and minute == 0

// Function to check if the current bar is the 1:00 AM New York time bar (1 hour after midnight)
is1AMBar() =>
    nyHour(hour) == 1 and minute == 0

// Variable to store the color of the previous day's midnight candle
var color midnightCandleColorPrevDay = na

// Determine the color of the previous day's midnight candle
if isMidnightBar()
    midnightCandleColorPrevDay := close[1] > open[1] ? color.green : color.red

// Strategy execution at 1:00 AM based on the color of the previous day's midnight candle
if is1AMBar()
    if midnightCandleColorPrevDay == color.green
        strategy.entry("Long", strategy.long)
        strategy.exit("Take Profit", "Long", limit=close + 57 * syminfo.mintick, stop=close - 200 * syminfo.mintick)
    if midnightCandleColorPrevDay == color.red
        strategy.entry("Short", strategy.short)
        strategy.exit("Take Profit", "Short", limit=close - 50 * syminfo.mintick, stop=close + 200 * syminfo.mintick)

// Optional: Plot a marker for visualization
plotshape(series=isMidnightBar(), style=shape.triangleup, location=location.belowbar, color=color.new(midnightCandleColorPrevDay, 90), size=size.small)
plotshape(series=is1AMBar(), style=shape.triangledown, location=location.abovebar, color=color.blue, size=size.small)


Mehr