
Die Strategie basiert auf dem Handel mit einer Stunde Verzögerung der Mitternachtssternfarbe und beurteilt die Richtung des Handels am nächsten Tag um 1 Uhr, indem sie die Farbe der Mitternachtssternfarbe des vorherigen Tages analysiert. Wenn die 0er-Sternfarbe grün ist, machen Sie mehr, wenn sie rot ist, machen Sie frei.
Die Kernlogik der Strategie basiert auf dem Effekt des Mitternachts-Midnight-Spiegels, bei dem die Farbe des 0 Uhr-Midnight-Spiegels am Vortag die Gesamtmarktatmosphäre des Tages repräsentiert und die Richtung des Marktes nach der Eröffnung des nächsten Tages bestimmen kann.
Die Strategie beginnt damit, zu beurteilen, ob die aktuelle K-Linie 0-Punkt-Schwanz ist. Wenn ja, wird der Schlusskurs als grün oder rot als höher als der Eröffnungskurs aufgezeichnet. Auf der nächsten Bar, also der 1-Punkt-K-Linie, wird entsprechend der Farbe des 0-Punkt-Schwanzes des Vortages eine zusätzliche Lücke in die entsprechende Richtung gemacht und ein Stop-Loss-Stopparat eingerichtet.
Durch diese Art der Verzögerung der Position kann der Einfluss der starken Schwankungen bei 0 Uhr auf den Einstieg vermieden werden.
Die Strategie ist klar und einfach, die Richtung für den nächsten Tag wird durch die 0-Punkt-Farbe bestimmt und die Stop-Loss-Stop-Control-Risiken sind eine Einstiegs-Short-Line-Strategie, die für Anfänger geeignet ist. Aber es gibt auch eine gewisse Unsicherheit, die kontinuierlich optimiert und verifiziert werden muss, um wirklich zu kämpfen.
/*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)