
Cette stratégie utilise la méthode de la courbe moyenne de plusieurs périodes de temps, utilisant la courbe moyenne à long terme pour déterminer la direction de la tendance majeure, la courbe moyenne à court terme pour déterminer la direction de la tendance à court terme, en faisant une entrée plus / moins lorsque la courbe longue et la courbe courte confirment la tendance; lorsque la courbe courte est ramenée à la proximité de la courbe longue, en déterminant la formation d’une opportunité d’entrée à court terme. Cette stratégie s’applique principalement aux actions à tendance moyenne à longue ligne.
La stratégie utilise la moyenne mobile simple à 200 jours pour déterminer la direction de la tendance à long terme et la moyenne mobile simple à 10 jours pour déterminer la direction de la tendance à court terme. Lorsque le cours d’une action est supérieur à la moyenne mobile à 200 jours et inférieur à la moyenne moyenne à 10 jours, cela indique qu’elle est actuellement en phase de hausse de la ligne longue et de réajustement de la ligne courte, alors faites plus; lorsque le prix d’une action est inférieur à la moyenne moyenne à 200 jours et supérieur à la moyenne moyenne à 10 jours, cela indique qu’il est actuellement en phase de baisse de la ligne longue et de rebond de la ligne courte, alors faites plus.
Plus précisément, une entrée en bourse s’effectue lorsque les conditions suivantes sont remplies: prix de clôture > moyenne journalière de 200 et prix de clôture < moyenne journalière de 10 jours; entrée en bourse à découvert lorsque les conditions suivantes sont remplies: prix de clôture < moyenne journalière de 200 et prix de clôture > moyenne journalière de 10 jours.
Si le prix d’achat est inférieur à 10%, la position est clôturée. Si l’option i_lowerClose est activée, la position est clôturée jusqu’à ce que le prix de clôture soit inférieur.
La stratégie est combinée avec des lignes moyennes de plusieurs périodes de temps pour capturer la direction de la tendance des lignes moyennes et longues avec une plus grande probabilité. La stratégie d’utsch offre un meilleur moment d’entrée lorsque la courte courbe moyenne est réajustée à la longue courbe moyenne.
La stratégie est contrôlable par les risques. Un taux de stop loss de 10% est défini pour contrôler les pertes. Un filtrage temporel est également défini pour éviter les transactions sur une période donnée.
La stratégie présente toujours un risque d’être réglée. Si la courte ligne est réglée trop longtemps ou trop largement, le stop loss peut être déclenché et la stratégie est réglée.
Cette stratégie est peu adaptée aux variétés de négociation. Pour les actions à forte volatilité et à long temps d’ajustement, la stratégie est facilement stoppée par la perte de sortie et n’est pas efficace.
La stratégie peut également faire face à des pertes importantes en cas de changement majeur du marché dans son ensemble. Par exemple, la stratégie peut avoir du mal à être rentable pendant la crise financière.
Il est possible d’introduire plus de systèmes de ligne égale, ce qui crée un mécanisme de sélection multiple. Par exemple, l’ajout de la ligne égale à 50 jours ne peut être considéré comme une entrée que si le prix de clôture se situe entre la ligne égale à 50 jours et la ligne égale à 200 jours. Cela permet de sélectionner davantage les variétés les plus tendances.
Il est possible de définir un stop-loss flottant. Plus précisément, après l’entrée en bourse, il est possible de définir un stop-loss variable en fonction de la gamme de fluctuations de l’action, plutôt qu’un stop-loss fixe de 10%. Cela réduit la probabilité que des stops inutiles soient déclenchés.
On peut combiner avec d’autres indicateurs pour juger de l’état du marché. Par exemple, le MACD peut suspendre la stratégie pour éviter les pertes lorsque le MACD indique une sortie du marché. Cela permet de contrôler le démarrage et la fermeture de la stratégie en fonction du jugement du grand marché.
Cette stratégie est globalement une stratégie typique d’une courbe moyenne à plusieurs périodes. Elle est combinée à une courbe moyenne à court terme pour capturer les tendances de la courbe moyenne à long terme, tout en saisissant les opportunités de reprise de la courbe courte. Le risque de la stratégie est également contrôlable.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © irfanp056
// @version=5
strategy("Simple Pullback Strategy",
overlay=true) // Interactive Brokers rate
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)