Die Last Candle-Strategie ist eine Trend-Folge-Strategie, die die Markttrendrichtung anhand des Verhältnisses zwischen dem Schlusskurs und dem Eröffnungskurs der letzten Kerze bestimmt und entsprechend Handelssignale erzeugt.
Die Kernlogik dieser Strategie lautet:
Insbesondere fordert die Strategie die Eröffnungs- und Schlusskursdaten der letzten Kerze an und bestimmt die Trendrichtung basierend auf dem Preisvergleich. Wenn es sich um einen Aufwärtstrend handelt, wird bei Schließung der Kerze ein Kauf-Marktbefehl erteilt. Wenn es sich um einen Abwärtstrend handelt, wird ein Verkaufsbefehl erteilt.
Nach diesem werden Stop-Loss- und Take-Profit-Preise festgelegt. Für Long-Positionen ist der Stop-Loss-Preis der Eröffnungspreis dieser Kerze multipliziert mit einem Koeffizienten und der Take-Profit-Preis der aktuelle Schlusspreis. Für Short-Positionen ist es das Gegenteil. Wenn der Preis entweder Stop-Loss oder Take-Profit auslöst, wird die entsprechende Position geschlossen.
Die Risiken können durch die Einbeziehung von Trendindikatoren zur Bestätigung, die Optimierung der Stop-Loss/Take-Profit-Logik, die Erweiterung der Backtest-Periode und der Marktumgebung verringert werden.
Die Last Candle-Strategie ist eine einfache Trend-Folge-Strategie. Sie beurteilt schnell die Trendrichtung anhand der letzten Kerze und handelt entsprechend. Die Logik ist einfach und einfach umzusetzen, im Einklang mit der Idee des Trend-Folges. Stop-Loss und Take-Profit werden ebenfalls eingerichtet, um Risiken zu kontrollieren.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Last Candle Strategy with Date Range", overlay=true) // Define the start and end dates for the backtest startDate = timestamp(2015, 01, 01, 00, 00) endDate = timestamp(2023, 11, 24, 23, 59) // Check if the current bar is within the specified date range withinDateRange = time >= startDate and time <= endDate // If outside the date range, skip the strategy logic if (not withinDateRange) strategy.close_all() // Calculate the opening and closing values for the last candle lastCandleOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on) lastCandleClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on) // Determine the trade direction based on the last candle tradeDirection = lastCandleOpen < lastCandleClose ? 1 : -1 // 1 for buy, -1 for sell // Plot the last candle's opening and closing values on the chart plot(lastCandleOpen, color=color.blue, title="Last Candle Open") plot(lastCandleClose, color=color.red, title="Last Candle Close") // Execute strategy orders if (withinDateRange) if (tradeDirection == 1) strategy.entry("Buy", strategy.long) if (tradeDirection == -1) strategy.entry("Sell", strategy.short) // Set stop loss and take profit stopLoss = 0.01 * lastCandleOpen takeProfit = close // Exit strategy strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss, profit=takeProfit) strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss, profit=takeProfit)