Stratégie bidirectionnelle d'arrêt-perte et de prise de profit basée sur le croisement stochastique

Auteur:ChaoZhang est là., Date: 2024-03-08 15:12:42 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie utilise les signaux de croisement de l'oscillateur stochastique pour déclencher les opérations d'achat et de vente. Lorsque la ligne %K traverse au-dessus de la ligne %D et que la valeur %K est inférieure à 20, elle ouvre une position longue; lorsque la ligne %K traverse au-dessous de la ligne %D et que la valeur %K est supérieure à 80, elle ouvre une position courte. En outre, la stratégie définit des distances de profit et de stop-loss pour gérer les positions et prévenir l'expansion des pertes. De plus, la stratégie définit également des conditions logiques pour fermer les positions. Lorsque l'oscillateur stochastique affiche un signal de croisement opposé au signal d'ouverture, il fermera la position longue ou courte correspondante même si le prix de profit ou de stop-loss n'a pas été atteint.

Principe de stratégie

  1. Calculer les valeurs %K et %D de l'oscillateur stochastique à 14 périodes et les aplanir à l'aide de moyennes mobiles simples.
  2. Déterminer si la ligne %K et la ligne %D se sont croisées:
    • Lorsque la ligne %K dépasse la ligne %D et que la valeur %K est inférieure à 20, elle déclenche un signal d'achat et ouvre une position longue.
    • Lorsque la ligne %K passe sous la ligne %D et que la valeur %K est supérieure à 80, elle déclenche un signal de vente et ouvre une position courte.
  3. Définir les distances de prise de profit et de stop-loss (en tiques) pour gérer les positions ouvertes:
    • Pour les positions longues, définir le prix TP de prise de profit au-dessus du prix d'entrée et le prix SL de stop loss au-dessous du prix d'entrée.
    • Pour les positions courtes, définir le prix TP de prise de profit inférieur au prix d'entrée et le prix SL de stop-loss supérieur au prix d'entrée.
    • Lorsque le prix atteint le prix de prise de profit ou de stop-loss, fermez la position correspondante.
  4. Définir les conditions logiques de clôture des positions:
    • Lorsque la ligne %K traverse la ligne %D et que la valeur %K est inférieure ou égale à 80, toutes les positions longues sont fermées.
    • Lorsque la ligne %K traverse la ligne %D et que la valeur %K est supérieure ou égale à 20, toutes les positions courtes sont fermées.

Analyse des avantages

  1. Cette stratégie utilise l'oscillateur stochastique comme indicateur principal de signal de négociation, largement utilisé dans le commerce quantitatif et capable de capturer efficacement les conditions de marché de surachat et de survente.
  2. La stratégie établit à la fois des conditions de prise de profit/arrêt de perte et des conditions logiques pour la clôture des positions, qui peuvent contrôler les risques dans une certaine mesure et éviter l'expansion des pertes.
  3. La logique de la stratégie est claire, facile à comprendre et à mettre en œuvre, adaptée aux débutants pour apprendre et utiliser.

Analyse des risques

  1. L'oscillateur stochastique peut générer de nombreux faux signaux dans un marché instable, ce qui entraîne une fréquence de négociation élevée et des coûts de transaction plus élevés.
  2. Cette stratégie n'ajuste pas dynamiquement les positions et les distances fixes de prise de profit et de stop loss peuvent ne pas contrôler efficacement les risques lors de fortes fluctuations du marché.
  3. Les paramètres de la stratégie (tels que la période de l'oscillateur stochastique, les distances de prise de profit et de stop-loss, etc.) sont fixes et non optimisés pour différentes conditions de marché, ce qui peut affecter l'adaptabilité de la stratégie.

Direction de l'optimisation

  1. Il convient d'envisager d'introduire d'autres indicateurs techniques ou d'indicateurs de sentiment du marché à utiliser conjointement avec l'oscillateur stochastique afin d'améliorer la fiabilité des signaux de négociation et de réduire les faux signaux.
  2. Optimiser la gestion des positions en ajustant dynamiquement les distances de prise de profit et de stop loss en fonction des conditions de volatilité du marché ou en adoptant des méthodes de gestion de l'argent plus avancées telles que le critère Kelly.
  3. Utiliser des méthodes d'optimisation telles que les algorithmes génétiques et la recherche par grille pour optimiser les paramètres de stratégie et trouver la combinaison optimale de paramètres qui s'adapte aux différentes conditions du marché.
  4. Il convient d'envisager d'ajouter des conditions de filtrage, telles que les périodes de négociation et la volatilité des instruments de négociation, afin de réduire la négociation dans des conditions de marché défavorables.

Résumé

La stratégie bidirectionnelle stop-loss take-profit basée sur le croisement stochastique est une stratégie de trading quantitative simple et facile à comprendre. Elle déclenche des opérations d'achat et de vente par le biais des signaux de croisement de l'oscillateur stochastique et définit des conditions logiques de prise de profit/arrêt de perte et de fermeture des positions pour gérer les risques. L'avantage de cette stratégie est que la logique est claire et adaptée aux débutants pour apprendre et utiliser; cependant, elle comporte également certains risques, tels que l'oscillateur stochastique peut générer de nombreux faux signaux dans un marché houleux, et les méthodes de gestion de position fixe peuvent ne pas s'adapter aux différentes conditions du marché. Pour améliorer encore les performances de la stratégie, nous pouvons introduire d'autres indicateurs, envisager la gestion des positions, l'optimisation des paramètres et l'ajout de conditions de filtrage.


/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("How to force strategies fire exit alerts not reversals", initial_capital = 1000, slippage=1, commission_type = strategy.commission.cash_per_contract, commission_value = 0.0001, overlay=true) 
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker

// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)

if (crossover and k < 20)
	strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
	strategy.entry("Sell", strategy.short, alert_message="sell")

// StopLoss / TakeProfit exits:
SL = input.int(600, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(1200, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")

// logical conditions exits:
if (crossunder and k <= 80)
	strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
	strategy.close("Sell", alert_message="closesell")

Plus de