La stratégie Last Candle est une stratégie de suivi de tendance qui détermine la direction de la tendance du marché en fonction de la relation entre le prix de clôture et le prix d'ouverture du dernier chandelier, et génère des signaux de trading en conséquence.
La logique de base de cette stratégie est la suivante:
Plus précisément, la stratégie demande les données de prix d'ouverture et de prix de clôture du dernier chandelier, et détermine la direction de la tendance basée sur la comparaison des prix.
Après cela, les prix stop loss et take profit sont définis. Pour les positions longues, le prix stop loss est le prix d'ouverture de ce chandelier multiplié par un coefficient, et le prix take profit est le prix de clôture actuel. Pour les positions courtes, c'est l'inverse. Lorsque le prix déclenche soit stop loss ou take profit, la position correspondante sera fermée.
Les risques peuvent être réduits en incorporant des indicateurs de tendance pour la confirmation, en optimisant la logique stop loss/take profit, en élargissant la période de backtest et les environnements du marché.
La stratégie Last Candle est une stratégie simple de suivi de tendance. Elle juge rapidement la direction de la tendance en utilisant le dernier chandelier et négocie en conséquence. La logique est simple et facile à mettre en œuvre, en s'alignant sur l'idée de suivi de tendance. Stop loss et take profit sont également configurés pour contrôler les risques. Cependant, le simple fait de se fier au dernier chandelier pourrait facilement se retrouver piégé, il devrait donc être utilisé avec des indicateurs de tendance.
/*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)