Stratégie de sortie de changement v2.0

Auteur:ChaoZhang est là., Date: le 21 septembre 2023 à 15h21h40
Les étiquettes:

Résumé

Cette stratégie permet d'entrer et de sortir des transactions à des prix modifiés pour suivre les tendances.

Comment fonctionne- t- il?

  1. Calculer les prix décalés sur la base du pourcentage des clôtures précédentes.

  2. Le prix déplacé vers le bas est la ligne d'achat, le prix déplacé vers le haut est la ligne de vente.

  3. Entrez long lorsque le prix atteint la ligne d'achat.

  4. Sortez quand le prix atteint la ligne de vente.

Les avantages

  • Autopréparation automatique de l'arrêt des pertes/prise de profit sans intervention manuelle
  • Pourcentage de changement personnalisable pour l'optimisation des paramètres
  • La longueur réduit seulement la fréquence des échanges
  • Peut limiter la période de négociation

Les risques

  • Impossible de déterminer efficacement la fin de la tendance
  • Décalage de temps, peut manquer des retours rapides

Directions d'optimisation

  • Testez les différents paramètres de pourcentage de changement
  • Optimiser le réglage progressif des paramètres
  • Incorporer des changements dynamiques basés sur la tendance
  • Considérez la pyramide sur de nouveaux sommets

Conclusion

La stratégie permet d'obtenir des bénéfices automatiques en suivant les niveaux d'entrée/sortie. Des améliorations supplémentaires grâce à l'optimisation des paramètres et des améliorations logiques peuvent améliorer les performances.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's ShiftEx Strategy v2.0", shorttitle = "ShiftEx 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
buy = input(-10.0, title = "Buy, src-%")
sell = input(0.0, title = "Sell, src+%")
buysrc = input(low, title = "Source for buy")
sellsrc = input(ohlc4, title = "Source for sell")
offset = input(true)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
bar = close > open ? 1 : close < open ? -1 : 0
mult = 1 / syminfo.mintick
lb = bar == -1 ? buysrc + ((buysrc / 100) * (buy * 1)) : buysrc + ((buysrc / 100) * (buy * 2))
levelbuy = round(lb * mult) / mult
ls = sellsrc + ((sellsrc / 100) * sell)
levelsell = round(ls * mult) / mult

//Lines
os = offset ? 1 : 0
plot(levelbuy, offset = os, linewidth = 2, color = lime, title = "Buy")
plot(levelsell, offset = os, linewidth = 2, color = blue, title = "Sell")

//Trading
if low[1] > 0
    strategy.entry("long", strategy.long, limit = levelbuy, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.entry("close", strategy.short, 0, limit = levelsell, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

Plus de