Stratégie d'inversion de la dynamique à court terme


Date de création: 2023-11-13 10:02:25 Dernière modification: 2023-11-13 10:02:25
Copier: 0 Nombre de clics: 604
1
Suivre
1617
Abonnés

Stratégie d’inversion de la dynamique à court terme

Aperçu

Cette stratégie vise à détecter le pourcentage de variation de prix d’un indicateur sur une période donnée, générant un signal de transaction lorsqu’il dépasse une limite définie. La stratégie s’applique aux transactions de courte ligne et de couverture, permettant de saisir les opportunités de transaction résultant d’un changement soudain de situation.

Principe de stratégie

  1. Le paramètre de saisie x représente le nombre de cycles de ligne K à vérifier, par défaut 5 représente la ligne K de 5 minutes.

  2. Calculer le pourcentage de variation du prix de clôture de la ligne K actuelle par rapport au prix de clôture avant x cycles, en les conservant comme trueChange1 et trueChange2.

  3. Les paramètres de type percentChangePos et percentChangeNeg représentent les seuils de pourcentage de variation définis, par défaut 0.4% et -0.4% .

  4. Un signal buy est généré lorsque trueChange1 est supérieur à percentChangePos et un signal sell lorsque trueChange2 est inférieur à percentChangeNeg.

  5. Le texte et les marqueurs de fond sont dessinés pour les états buy et sell.

  6. Conditions d’entrée et de sortie en fonction du réglage du signal.

  7. Configurer les alarmes et les cartes.

Avantages stratégiques

  1. L’utilisation de variations en pourcentage plutôt que de variations en prix absolus permet d’ajuster automatiquement les paramètres en fonction des différentes étiquettes.

  2. Il est possible de définir avec souplesse les seuils de pourcentage de variation positive et négative, et d’identifier les ruptures des deux côtés de la bande de Bryn.

  3. Les paramètres de cycle de détection peuvent être ajustés pour identifier les changements de tendance au cours des différentes périodes.

  4. Il est possible de configurer des rappels d’alarme pour s’assurer que les signaux importants ne sont pas manqués.

  5. La logique des signaux d’achat et de vente est simple, directe et facile à comprendre.

  6. Le marché de l’immobilier est un marché où les investisseurs peuvent saisir les opportunités de reprise à court terme.

Risque stratégique

  1. Les variations en pourcentage ne permettent pas de déterminer la direction de la tendance et peuvent générer des signaux trompeurs.

  2. Les paramètres par défaut peuvent ne pas convenir à tous les standards et nécessitent un ajustement ciblé.

  3. Il n’y a pas de moyen de limiter les pertes et de contrôler les pertes individuelles.

  4. Les signaux sont fréquents et les coûts de transaction peuvent être élevés.

  5. Il n’est pas possible de juger de la structure du marché, et il est facile de se faire piéger dans un marché en pleine effervescence.

La solution est simple:

  1. Les indicateurs tels que la régression linéaire de la tendance sont utilisés pour juger de la tendance générale.

  2. Optimiser les paramètres en fonction des caractéristiques des différents standards.

  3. Les conditions d’arrêt appropriées.

  4. Le filtrage des signaux, afin d’éviter les transactions trop fréquentes.

  5. Il est préférable de juger de la structure du marché en fonction de périodes plus élevées et d’éviter de négocier à l’aveugle dans les marchés en crise.

Optimisation de la stratégie

  1. Augmentation des mécanismes de stop-loss, tels que le stop-tracking et le stop-motion mobile, pour contrôler les pertes individuelles.

  2. Ajoutez des conditions de filtrage telles que des indicateurs de capacité, des moyennes mobiles, etc. pour éviter le bourrage.

  3. Optimisation des paramètres de point de vente et de vente, par exemple en combinant des signaux de confirmation d’indicateurs tels que MACD.

  4. Optimiser automatiquement les paramètres en utilisant une méthode d’apprentissage automatique.

  5. L’augmentation du jugement sur la structure du marché et l’évitement de la négociation aveugle dans les marchés instables.

  6. Prendre en compte les variations de volatilité, de liquidité et autres, ainsi que les paramètres de réglage dynamique.

  7. L’analyse des tendances, combinée à une analyse des cycles de temps de haut niveau, permet de déterminer les grandes tendances.

Résumer

Cette stratégie est une stratégie de retour à court terme en comparant le pourcentage de variation des prix avec la valeur limite prédéterminée pour déterminer le moment de l’achat et de la vente. L’avantage est simple, intuitif, configurable et flexible.

Code source de la stratégie
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// created by Oliver
strategy("Percentage Change strategy w/BG color", overlay=true, scale=scale.none, precision=2)

x = input(5, title = 'x candles difference', minval = 1)
trueChange1 = (close - close[x]) / close[x] * 100
percentChangePos = input(0.4, title="Percent Change")

//if (percentChange > trueChange) then Signal  

plotChar1 = if percentChangePos > trueChange1
    false
else
    true

plotchar(series=plotChar1, char='🥶', color=color.green, location=location.top, size = size.tiny )

trueChange2 = (close - close[x]) / close[x] * 100
percentChangeNeg = input(-0.4, title="Percent Change")

plotChar2 = if percentChangeNeg < trueChange2
    false
else
    true
plotchar(series=plotChar2, char='🥵', color=color.red, location=location.top, size = size.tiny)

//------------------------------------------------------------------------
UpColor() => percentChangePos < trueChange1
DownColor() => percentChangeNeg > trueChange2

//Up = percentChangePos < trueChange1
//Down = percentChangeNeg > trueChange2


col = percentChangePos < trueChange1 ? color.lime : percentChangeNeg > trueChange2 ? color.red : color.white
//--------
condColor = percentChangePos < trueChange1 ? color.new(color.lime,50) : percentChangeNeg > trueChange2 ? color.new(color.red,50) : na
//c_lineColor = condUp ? color.new(color.green, 97) : condDn ? color.new(color.maroon, 97) : na
//barcolor(Up ? color.blue : Down ? color.yellow : color.gray, transp=70)

//Background Highlights
//bgcolor(condColor, transp=70)


//---------

barcolor(UpColor() ? color.lime: DownColor() ? color.red : na)
bgcolor(UpColor() ? color.lime: DownColor() ? color.red : na)

//------------------------------------------------------------------------

buy = percentChangePos < trueChange1
sell = percentChangeNeg > trueChange2


//------------------------------------------------------------------------
/////////////// Alerts /////////////// 
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')

//-------------------------------------------------

if (buy)
    strategy.entry("My Long Entry Id", strategy.long)

if (sell)
    strategy.entry("My Short Entry Id", strategy.short)


/////////////////// Plotting //////////////////////// 
plotshape(buy, title="buy", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)