
L’idée principale de cette stratégie est de combiner le temps et l’indicateur ATR pour réaliser un stop-loss automatisé. La stratégie ouvre une position à un moment fixe pour acheter ou vendre, et en combinaison avec l’indicateur ATR, calcule un prix de stop-loss raisonnable. Cela permet d’automatiser efficacement les transactions, de réduire la fréquence des opérations manuelles, tout en contrôlant efficacement les risques grâce à l’indicateur ATR.
Cette stratégie utilise les variables hour et minute pour déterminer la condition if et déclencher l’opération d’ouverture de position à l’heure spécifiée par le paramètre de stratégie tradeTime. Par exemple, si elle est définie sur 0700, cela signifie que l’ouverture de position est déclenchée à 7 heures du matin, heure de Pékin.
Après avoir ouvert une position, la stratégie utilise la fonction ta.atr () pour calculer la valeur de l’indicateur ATR au cours des 5 dernières minutes et en fait la base de l’arrêt de perte. Par exemple, après l’achat, le prix d’arrêt = prix d’achat + valeur ATR; après la vente, le prix d’arrêt = prix de vente - valeur ATR.
Cela permet d’automatiser l’ouverture des positions en fonction du moment et le stop-loss en fonction de l’indicateur ATR. Cela réduit la fréquence des opérations manuelles tout en contrôlant efficacement les risques.
Cette stratégie présente les avantages suivants:
Le niveau d’automatisation est élevé. Les commandes peuvent être commandées automatiquement sans surveillance humaine à un moment donné, réduisant considérablement la fréquence des opérations manuelles.
Le stop loss basé sur l’indicateur ATR permet de contrôler efficacement les pertes individuelles. L’indicateur ATR peut capturer dynamiquement la volatilité du marché et ainsi définir une distance de stop loss raisonnable.
Il est facile d’intégrer plus d’indicateurs ou d’algorithmes d’apprentissage automatique pour aider à la prise de décision. Par exemple, la combinaison d’indicateurs de jugement de tendance de la ligne moyenne.
Il est facile de réaliser un arbitrage multivarié. Une stratégie d’arbitrage avec des contrats ouverts peut être facilement réalisée en définissant les mêmes heures de négociation pour les différentes variétés.
Facile à intégrer dans un système de trading automatisé. Combiné à une gestion de tâches en temps réel, il est possible d’exécuter des programmes de stratégie sans surveillance 24 heures sur 24, ce qui permet une négociation entièrement automatisée.
Cette stratégie présente aussi des risques:
Risque d’événements inattendus sur le marché. Les événements majeurs de couleur noire peuvent entraîner des fluctuations extrêmes des prix, déclenchant des arrêts et entraînant des pertes importantes.
Risque de liquidité de la marque. Certaines variétés sont moins liquides, ne peuvent pas être entièrement échangées au point d’arrêt du prix limite et ne peuvent pas être liquidées.
Risques d’optimisation des paramètres ATR. Les paramètres ATR doivent être testés et optimisés à plusieurs reprises. S’ils sont trop grands ou trop petits, ils peuvent affecter l’efficacité de la stratégie.
Risques d’optimisation des points de temps. Les points d’ouverture fixes peuvent manquer des opportunités de marché et nécessitent une adaptation des points de temps de plus d’indicateurs.
Cette stratégie peut être optimisée dans les dimensions suivantes:
Combinez plus d’indicateurs pour juger de la situation du marché et évitez de prendre des positions dans un environnement de marché défavorable, comme le MACD, le RSI, etc.
L’utilisation d’algorithmes d’apprentissage automatique pour prédire le meilleur moment pour ouvrir un dépôt. Des données historiques supplémentaires peuvent être collectées et des modèles peuvent être formés avec des méthodes telles que LSTM.
L’utilisation de plateformes telles que Heartbeat pour étendre l’arbitrage à plusieurs variétés.
Optimisation des paramètres ATR et des paramètres de stop-loss. Les paramètres optimaux peuvent être trouvés par un plus grand nombre de répétitions.
Les stratégies sont exécutées sur le serveur, les tâches sont intégrées dans le calendrier, et le fonctionnement est entièrement automatisé 7x24 heures.
Cette stratégie intègre des points de temps et des indicateurs ATR pour une automatisation efficace des opérations de stop loss et d’arrêt. Grâce à l’optimisation des paramètres, une stabilité de l’alpha est obtenue. Elle possède également une forte capacité d’expansion et d’intégration et est l’une des stratégies de quantification recommandées.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Time-based Strategy with ATR Take Profit Sell", overlay=true)
// Initialize take profit levels
var float takeProfitLevel = na
var float takeProfitLevelForSell = na
var float buyprice = na
var float sellprice = na
// Input for the time when the trade should be executed
tradeTime = input(0700, "Trade Execution Time (HHMM)", "Specify the time in HHMM format", group="Time Settings")
// Calculate ATR for the last 5 minutes
atrLength = input(14, "ATR Length", "Specify ATR length", group="ATR Settings")
atrValue = request.security(syminfo.tickerid, "5", ta.atr(atrLength))
// Define conditions for buy and sell
buyCondition = hour * 100 + minute == tradeTime // and strategy.position_size == 0
sellCondition = hour * 100 + minute == tradeTime // and strategy.position_size > 0
// Execute Buy and Sell orders
// if (buyCondition)
// strategy.entry("Buy", strategy.long)
// buyprice := close
// takeProfitLevel := buyprice + atrValue
// strategy.exit("Take Profit BUY", from_entry="Buy", limit =takeProfitLevel)
if (sellCondition)
strategy.entry("Sell", strategy.short)
sellprice := close
takeProfitLevelForSell := sellprice -atrValue
strategy.exit("Take Profit Sell", from_entry="Sell", limit=takeProfitLevelForSell)
// Plot horizontal lines for take profit levels
plot(takeProfitLevel, color=color.green, title="Take Profit Level (Buy)")
plot(takeProfitLevelForSell, color=color.red, title="Take Profit Level (Sell)")