Cet article présente une stratégie de trading quantitative basée sur un seuil de pourcentage. La stratégie détermine le moment de l'achat et de la vente en fixant un seuil de pourcentage et en sélectionnant une période de temps appropriée. Lorsque le prix augmente ou tombe au-dessus ou en dessous du seuil de pourcentage spécifié par rapport au prix de clôture précédent, elle déclenche un signal d'achat ou de vente. Cette stratégie peut être ajustée de manière flexible en fonction des préférences de risque et des conditions du marché de l'utilisateur, et convient pour le trading de divers instruments financiers.
Le noyau de cette stratégie est de générer des signaux de trading basés sur le pourcentage de changement de prix. Tout d'abord, l'utilisateur doit définir un seuil de pourcentage, qui représente l'ampleur du changement de prix par rapport au prix de clôture précédent. Dans le même temps, l'utilisateur doit également choisir une période de temps, telle qu'une minute, une heure, un jour, etc., pour calculer les prix hauts, bas et de clôture dans ce délai. La stratégie surveille les prix du marché en temps réel. Lorsque le prix le plus élevé de la période actuelle dépasse le prix de clôture précédent plus le seuil, elle déclenche un signal d'achat; lorsque le prix le plus bas de la période actuelle tombe en dessous du prix de clôture précédent moins le seuil, elle déclenche un signal de vente. Si un signal de vente est déclenché en tenant une position longue, la stratégie ferme la position longue; si un signal d'achat est tenu une position courte, la stratégie ferme les positions.
Cet article présente une stratégie de trading quantitative basée sur un seuil de pourcentage, qui génère automatiquement des signaux d'achat et de vente en définissant un seuil de pourcentage pour les changements de prix et une période de temps.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("GBS Percentage", overlay=true) // Define input options for percentage settings and timeframe percentage = input.float(1.04, title="Percentage Threshold", minval=0.01, step=0.01) / 100 timeframe = input.timeframe("D", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"]) // Calculate high, low, and close of the selected timeframe high_timeframe = request.security(syminfo.tickerid, timeframe, high) low_timeframe = request.security(syminfo.tickerid, timeframe, low) close_timeframe = request.security(syminfo.tickerid, timeframe, close) // Calculate the percentage threshold based on the previous close threshold = close_timeframe[1] * percentage // Define conditions for Buy and Sell buyCondition = high_timeframe > (close_timeframe[1] + threshold) sellCondition = low_timeframe < (close_timeframe[1] - threshold) // Entry and exit rules if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Close the positions based on the conditions if (sellCondition) strategy.close("Buy") if (buyCondition) strategy.close("Sell") // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar) // Plot the equity curve of the strategy plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)