Cette stratégie fixe des niveaux de prix d'entrée longs et courts et des niveaux de prix de stop loss basés sur le prix de clôture de la journée précédente et l'indicateur ATR pour suivre la tendance.
Cette stratégie utilise l'indicateur de prix de clôture, de prix élevé, de prix bas et d'ATR de la journée précédente pour calculer les niveaux de prix d'entrée et les niveaux de stop loss.
Niveau de prix d'entrée long TPup = clôture de la journée précédente
Niveau de prix d'entrée court TPdown = clôture de la journée précédente - ATR * 0,8
Le niveau d'arrêt-perte à long terme s'est effondré = la clôture de la journée précédente + ATR * 0,2
Le niveau de stop-loss court sldown = clôture de la journée précédente - ATR * 0,2
Niveau de prise de bénéfices à long termeniveau de bénéfices à la hausse = Basse de la journée précédente + ATR * 1,7
Niveau de prise de bénéfices à court termeNiveau de bénéfices à la baisse = Hauts de la journée précédente - ATR * 1,7
Lorsque le prix dépasse le TPup, passez long 10 lots. Lorsque le prix dépasse le TPdown, passez court 10 lots. Ensuite, définissez un stop loss et un profit. Sortez des positions sur le déclencheur de stop loss ou le déclencheur de profit.
Les principaux avantages de cette stratégie sont les suivants:
Utiliser l'indicateur ATR pour définir des niveaux dynamiques de prix d'entrée et des niveaux de stop loss basés sur la volatilité du marché, ce qui rend les transactions plus adaptables aux conditions du marché.
Utilisation des jours précédents de clôture pour déterminer la direction et combinaison avec l'indicateur ATR pour identifier des niveaux de négociation spécifiques, en évitant d'être induit en erreur par un bruit de prix trop important en temps réel.
Définir à la fois des mécanismes de stop loss et de prise de profit pour contrôler efficacement le risque de chaque transaction.
Les principaux risques de cette stratégie sont les suivants:
Les niveaux de prix fixés par ATR peuvent être trop idéalistes pour refléter réellement les conditions du marché, ce qui entraîne des déclencheurs de stop loss fréquents.
Les résultats de la clôture de la journée précédente ne peuvent pas déterminer les tendances futures. Des inversions drastiques peuvent induire en erreur les choix de direction. D'autres indicateurs peuvent être combinés pour confirmer les tendances.
Le stop loss et le take profit peuvent être manipulés pour déclencher, sans vraiment arrêter la perte.
Cette stratégie peut être optimisée dans les aspects suivants:
Optimiser les paramètres ATR pour que les niveaux des échanges correspondent mieux à la volatilité du marché.
Ajouter des mécanismes de jugement des tendances pour éviter les renversements de négociation, par exemple en les combinant avec des indicateurs MA.
Ajustez la fourchette de prise de profit, en maintenant la rentabilité tout en réduisant la probabilité de déclencheurs de prise de profit.
Mettre en place un stop-loss et une prise de profit de lot pour réduire la probabilité d'être pris au piège ou de perdre.
Ajouter un mécanisme de dimensionnement des positions pour augmenter les positions dans les phases de tendance.
Cette stratégie définit des niveaux de trading dynamiques basés sur la clôture des jours précédents et l'ATR pour suivre efficacement les tendances. Elle utilise également le stop loss et le take profit pour contrôler les risques commerciaux uniques.
/*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=3 strategy("PC with ATR Strategy (by Zhipengcfel)", shorttitle="PC_ATR", pyramiding=1, overlay=true) // Zhipengcfel's Previous day's close with ATR Strategy // // Version 1.0 // @copyright Idea by Zhipengcfel on June 29, 2017. //Previous day's close plus ATR strategy. //Buy (if breaking PC+ATR*0.8) or sell (if breaking PC-0.8*ATR). //This is just a demo vision and can not be used for real auto trading ///////////// ATR value ATRlength = input(14, minval=1, title="lookback length of ATR") //ATR = atr(ATRlength) ATR = request.security(syminfo.tickerid, 'D', atr(ATRlength)) ///////////// Entry levels and target levels entr = input(0.8, minval=0.1, step = 0.05, title="Entry level for ATR") tplevel = input(1.7, minval=0.1, step = 0.05, title="Exit level for ATR") yesterday = request.security(syminfo.tickerid, 'D', close[1]) dl = request.security(syminfo.tickerid, 'D', low[1]) dh = request.security(syminfo.tickerid, 'D', high[1]) TPup = yesterday+entr*ATR TPdown = yesterday-entr*ATR profitlevelup = dl+tplevel*ATR profitleveldown = dh-tplevel*ATR ///////////// Stop loss level sl = input( 0.2 ,minval=0.01, step = 0.05, title="Stop loss level for ATR") //82 for 2, 83 for 3 and more positions slup = yesterday+sl*ATR sldown = yesterday-sl*ATR ///////////// Starting year to backtest yer = input( 2014 , title="Backtest Starting year") ///////////// strategy: PC + ATR if (close > TPup) and (close < profitlevelup) strategy.entry("LONG", strategy.long, 10, comment="Buy", when = year > yer, oca_name="My oca") strategy.exit("Stopped", "LONG", stop = slup, limit= profitlevelup, oca_name="My oca") if (close < TPdown) and (close > profitleveldown) strategy.entry("SHORT", strategy.short, 10, comment="Sell", when = year > yer, oca_name="My oca") strategy.exit("Stopped", "SHORT", stop = sldown, limit= profitleveldown, oca_name="My oca")