
Cette stratégie est basée sur le prix de clôture de la veille et sur l’indicateur ATR pour définir le prix d’ouverture et le prix d’arrêt de la position à plusieurs points vides, afin de suivre la tendance. Lorsque le prix dépasse le prix d’ouverture de la position, la position d’ouverture est plus courte, la position d’arrêt ou de liquidation après le stop.
La stratégie utilise les prix de clôture, de clôture, de clôture et de clôture de la journée précédente, ainsi que l’indicateur ATR, pour calculer les prix d’entrée et les prix d’arrêt. La formule de calcul est la suivante:
TPup = le cours de clôture de la veille + ATR* 0.8 TPdown = clôture de la journée précédente - ATR* 0.8
Slup du prix de l’arrêt multiple = prix de clôture de la veille + ATR* 0.2 Sldown = clôture de la journée précédente - ATR* 0.2
Le profitlevelup de l’arrêt multiple = le prix le plus bas de la veille + ATR* 1.7
Le prix de l’arrêt à vide profitleveldown = le prix le plus élevé de la veille - ATR* 1.7
Lorsque le prix dépasse le prix d’ouverture de position TPup, faites plus selon le nombre de 10; lorsque le prix dépasse le prix d’ouverture de position TPdown, faites moins selon le nombre de 10. Ensuite, définissez un arrêt de perte et un arrêt.
Les principaux avantages de cette stratégie sont les suivants:
Le prix d’ouverture et le prix d’arrêt sont définis dynamiquement à l’aide de l’indicateur ATR, qui peut être ajusté en fonction de la volatilité du marché, ce qui rend les transactions plus adaptées à l’environnement du marché.
En utilisant le prix de clôture de la veille pour déterminer la direction, puis en combinant l’indicateur ATR pour déterminer le prix de transaction spécifique, évitez d’être induit en erreur par les prix en temps réel avec trop de bruit.
Le risque d’une transaction individuelle est bien maîtrisé avec un système de stop loss et de stop-loss.
Les principaux risques de cette stratégie sont les suivants:
Les prix fixés par l’indicateur ATR peuvent être trop idéalisés et ne peuvent pas vraiment refléter les conditions du marché, ce qui entraîne des arrêts fréquents. Les paramètres ATR peuvent être ajustés ou augmentés de manière appropriée.
La clôture de la journée précédente ne permet pas de déterminer la tendance à venir, et si elle est fortement inversée, elle peut induire en erreur le choix de la direction de la transaction. La confirmation de tendance peut être envisagée en combinaison avec d’autres indicateurs.
Les positions de freinage et d’arrêt peuvent être déclenchées par manipulation et ne peuvent pas être réellement freinées. Des freins de composants peuvent être configurés pour éviter d’être enroulés.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres ATR pour que les prix des transactions soient plus adaptés à la volatilité du marché.
Augmentation des mécanismes de jugement des tendances, afin d’éviter les retournements de marché.
Ajustez la marge de freinage pour réduire la probabilité que les avantages de freinage soient déclenchés tout en restant rentables.
La mise en place d’un arrêt et d’un arrêt des composants réduit la probabilité de piège et de perte.
L’ajout d’un mécanisme de gestion des positions peut augmenter les positions en phase de tendance.
Cette stratégie est basée sur la dynamique des prix de transaction de la clôture de la journée précédente et de l’indicateur ATR, permettant un suivi efficace de la tendance. En même temps, la mise en place de mécanismes de stop-loss et de freinage pour contrôler le risque de transactions individuelles. Les orientations d’optimisation comprennent l’optimisation des paramètres, l’augmentation des mécanismes de jugement, l’ajustement des freins et la gestion des positions.
/*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")