
Cette stratégie est la seule méthode de calcul basée sur le nouveau sommet de deux ans et la moyenne mobile d’une action. Un signal d’achat est généré lorsque le prix d’une action revient à la moyenne mobile de l’indice du 13e jour après un nouveau sommet de deux ans.
La logique centrale de cette stratégie est basée sur la méthode unique suivante:
Un sommet à court terme se forme lorsque le cours d’une action atteint son plus haut niveau depuis deux ans. C’est un point de prix relativement critique.
Lorsque le prix descend de ce nouveau sommet et revient à la moyenne mobile de l’indice des 13 jours, c’est une meilleure occasion d’achat. C’est une caractéristique centrale du prix exploitée.
En outre, le prix des actions doit être dans la plage de 10% du nouveau sommet de deux ans au moment de l’émission du signal d’achat, pas trop loin. Et il doit être inférieur à la ligne 13 et supérieur à la ligne 21, ce qui garantit le choix du moment de l’achat.
Pour les positions détenues, la perte de marge est compensée si le prix est inférieur de 5% à la ligne du 21e jour ou de 20% à un nouveau sommet de deux ans.
Il s’agit d’une stratégie de rupture à long terme qui présente les avantages suivants:
En utilisant ce prix unique, qui est le plus élevé depuis deux ans, on peut évaluer efficacement les opportunités d’un potentiel renversement de tendance.
L’indice des moyennes mobiles à 13 jours sert de base pour la mise en bourse et permet de filtrer efficacement les chocs et d’identifier la plus forte dynamique.
La seule façon de calculer est d’utiliser les caractéristiques du prix pour émettre des signaux, en évitant les spéculations subjectives.
La plupart des bénéfices peuvent être bloqués avec une prise en compte adéquate du stop loss.
Cette stratégie comporte également des risques, principalement:
Il est possible qu’il y ait un rappel en profondeur et qu’il ne soit pas possible d’arrêter complètement les dégâts. Il faut alors évaluer le contexte pour déterminer si les dégâts ont été arrêtés définitivement.
Il n’est pas possible d’arrêter complètement les pertes en cas d’une grande ouverture du jour au lendemain. Cela nécessite un assouplissement approprié de la portée des pertes en réponse.
L’effet de l’oscillation du filtre de la ligne 13 peut être défavorable, produisant trop de signaux erronés. Il peut être prolongé de manière appropriée jusqu’à la ligne 21.
Les nouvelles descriptions de points de basculement de tendance peuvent avoir un effet négatif et peuvent être combinées avec d’autres indicateurs.
Il y a encore de la place pour l’optimisation de cette stratégie:
D’autres outils peuvent être introduits pour juger de l’environnement et éviter de détenir des positions inutilement.
L’augmentation de la capacité de jugement, comme l’indicateur de quantité d’énergie, permet d’éviter davantage de se tromper dans la zone de choc.
Optimiser les paramètres des moyennes mobiles pour mieux saisir les caractéristiques des prix.
L’optimisation dynamique des paramètres du nouveau prix élevé sur deux ans, à l’aide de méthodes d’apprentissage automatique, rend la stratégie plus flexible.
Cette stratégie est une approche unique et unique, qui utilise le prix important des hauts de deux ans et utilise les moyennes mobiles à 13 jours comme filtrage et base d’entrée. La stratégie présente certains avantages, mais il y a aussi de la place pour l’optimisation, ce qui mérite d’être exploré plus avant.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Part Timer
//This script accepts from and to date parameter for backtesting.
//This script generates white arrow for each buying signal
//@version=4
strategy("AMRS_LongOnly_PartTimer", overlay = true)
//i_endTime = input(defval = timestamp("02 Jun 2021 15:30 +0000"), title = "End Time", type=input.time)
StartYear=input(defval = 2000, title ="Start Year", type=input.integer)
StartMonth=input(defval = 01, title ="Start Month", type=input.integer)
StartDate=input(defval = 01, title ="Start Date", type=input.integer)
endYear=input(defval = 2021, title ="End Year", type=input.integer)
endMonth=input(defval = 06, title ="End Month", type=input.integer)
endDate=input(defval = 03, title ="End Date", type=input.integer)
ema11=ema(close,11)
ema13=ema(close,13)
ema21=ema(close,21)
afterStartDate = true
//g=bar_index==1
//ath()=>
//a=0.0
//a:=g ? high : high>a[1] ? high:a[1]
//a = security(syminfo.tickerid, 'M', ath(),lookahead=barmerge.lookahead_on)
newHigh = (high > highest(high,504)[1])
//plot down arrows whenever it's a new high
plotshape(newHigh, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.tiny)
b=highest(high,504)[1]
VarChk=((b-ema13)/b)*100
TrigLow = (low <= ema13) and (low >= ema21) and (VarChk <= 10)
plotshape(TrigLow, style=shape.triangleup, location=location.belowbar, color=color.white, size=size.tiny)
ExitPrice=(ema21 - (ema21*0.05))
DrawPrice=(b - (b*0.20))
stopprice=0.0
if (close <= ExitPrice)
stopprice := ExitPrice
if (close <= DrawPrice)
stopprice := DrawPrice
if (TrigLow and afterStartDate)
strategy.entry("Long", strategy.long)
strategy.exit("exit","Long", stop=stopprice)
//beforeEndDate = (time < i_endTime)
beforeEndDate = (time >= timestamp(syminfo.timezone,endYear, endMonth, endDate, 0, 0))
if (beforeEndDate)
strategy.close_all()