
Cette stratégie est une stratégie de swing trading qui utilise le point de glissement de la ligne parabolique et la ligne K pour effectuer des opérations de croisement et de suivi du mouvement et des arrêts de perte. La stratégie crée des positions de plus et de moins dans des situations de hausse et de baisse, et élimine les arrêts de ces positions lorsque le prix se retourne.
La stratégie s’appuie principalement sur l’indicateur de la parabolique ((Parabolic SAR) pour déterminer si le prix est actuellement en hausse ou en baisse. Lorsque l’indicateur de la Parabolique SAR est en dessous de la ligne K, indiquant que le prix est actuellement en hausse, la stratégie vérifie à la clôture de chaque ligne K si la valeur de la Parabolique SAR a traversé le prix le plus bas de la ligne K. Si elle n’a pas traversé, indiquant que la tendance à la hausse continue, la stratégie établit une position multiple.
Grâce à ce principe de fonctionnement, la stratégie est capable de créer des positions en ordre de marche sous une tendance de prix confirmée et de bloquer les pertes au premier moment, ce qui permet de bloquer les bénéfices. En même temps, la ligne de parallaxe, en tant qu’indicateur de dynamique, peut déterminer avec plus de précision si la tendance est inversée, ce qui rend également les pertes plus précises.
Les méthodes pour améliorer la solidité de la stratégie comprennent: optimiser le paramètre de stop-loss pour le rendre suffisamment strict; combiner d’autres jugements d’indicateurs comme confirmation; ajuster les paramètres de l’indicateur pour s’adapter aux changements de l’environnement du marché; choisir la combinaison optimale de paramètres en fonction des différentes variétés, etc.
La stratégie de swing de la parabole est une stratégie d’opération de courte ligne qui a un meilleur effet dans l’ensemble. Elle utilise l’indicateur de la parabole pour déterminer la direction de la tendance et les changements de dynamique des prix, en conjonction avec la méthode de négociation Swing, pour établir des positions de plus et de moins à plusieurs reprises pendant les phases de hausse et de baisse des variétés.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.05)
increment = input(0.075)
maximum = input(1)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
if barstate.isconfirmed and time_cond
if uptrend
strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
strategy.cancel("ParLE")
else
strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)