
Die Strategie ist eine hochpräzise Handelsmethode, die auf der Grundlage von Mitteln der dynamischen Marktbereiche basiert, um exakte Einstiegs- und Ausstiegsmomente zu erzielen, indem sie die Schwankungen der Preise in einem bestimmten Zeitrahmen erfasst. Der Kern der Strategie besteht darin, die konfigurierbaren Rücklaufzyklen zu nutzen, die Höhen, Tiefen und Mittelpunkte der Preisbereiche dynamisch zu berechnen und innerhalb der New York Stock Exchange-Handelszeiten zu handeln.
Die Strategie basiert auf folgenden Schlüsselmechanismen:
Die Strategie bietet den Händlern eine systematische und regelsichere Handelsmethode durch den Durchbruch der mittleren Punkte in der genauen Spanne und die Handelsmechanismen mit begrenzten Preisen. Ihre Kernvorteile liegen in der hohen Präzision des Einstiegs, der Risikokontrolle und der Zeitselektivität. Die zukünftige Optimierungsrichtung wird sich auf die Verbesserung der Anpassungsfähigkeit und Stabilität der Strategie konzentrieren.
Der Markt ist in der Lage, kurzfristige Preistrends und Umkehrmöglichkeiten innerhalb eines strengen Zeit- und Risikomanagement-Rahmens zu erfassen, indem die Preisspanne dynamisch berechnet wird und der Markt in der Nähe des Mittelpunkts gehandelt wird.
Diese Strategie ist nur als Referenz zu verwenden und muss in der Praxis an die persönliche Risikobereitschaft und die Marktbedingungen angepasst werden.
Für mittel- und kurzfristige Anleger, die eine stabile, systematische Handelsstrategie anstreben, insbesondere für Händler, die sich auf Futures und hochliquide Varianten konzentrieren.
Der Kern von Quantitative Trading liegt in der ständigen Optimierung und Anpassung, und diese Strategie bietet Händlern ein Trading-Framework, das es wert ist, eingehend erforscht und verbessert zu werden.
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Midpoint Crossing Strategy", overlay=true)
// Input for lookback period
lookback = input.int(30, title="Lookback Period", minval=1)
// Input for NYSE trading hours
startHour = 9
startMinute = 30
endHour = 15
endMinute = 0
// Variables to store high, low, and midpoint of the lookback period
var float rangeHigh = na
var float rangeLow = na
var float rangeMid = na
// Calculate high, low, and midpoint based on lookback period
if (bar_index >= lookback)
rangeHigh := ta.highest(high, lookback)
rangeLow := ta.lowest(low, lookback)
rangeMid := (rangeHigh + rangeLow) / 2
// Plot high, low, and midpoint for reference
plot(rangeHigh, color=color.red, title="Range High")
plot(rangeLow, color=color.green, title="Range Low")
plot(rangeMid, color=color.blue, title="Range Mid")
// Time condition for NYSE hours
currentTime = timestamp("GMT-5", year, month, dayofmonth, hour, minute)
startTime = timestamp("GMT-5", year, month, dayofmonth, startHour, startMinute)
endTime = timestamp("GMT-5", year, month, dayofmonth, endHour, endMinute)
// Check if the current time is within NYSE hours
isNYSEHours = currentTime >= startTime and currentTime <= endTime
// Entry conditions (only during NYSE hours)
longCondition = ta.crossover(close, rangeMid) and isNYSEHours
shortCondition = ta.crossunder(close, rangeMid) and isNYSEHours
// Define stop loss and take profit levels based on the range
longStopLoss = rangeLow
longTakeProfit = rangeHigh
shortStopLoss = rangeHigh
shortTakeProfit = rangeLow
// Place limit order at mid-price
if (longCondition and not strategy.opentrades)
strategy.order("Long Limit", strategy.long, limit=rangeMid)
strategy.exit("Take Profit", "Long Limit", limit=longTakeProfit, stop=longStopLoss)
if (shortCondition and not strategy.opentrades)
strategy.order("Short Limit", strategy.short, limit=rangeMid)
strategy.exit("Take Profit", "Short Limit", limit=shortTakeProfit, stop=shortStopLoss)
// Close open positions at 4:00 PM to avoid overnight risk
if (currentTime >= endTime)
strategy.close_all(comment="Close All at 4:00 PM")
// Add a check for open positions
if (strategy.opentrades > 0)
// Ensure no recalculation while a position is open
rangeHigh := na
rangeLow := na
rangeMid := na