
Cette stratégie est basée sur les forks et les forks mobiles pour réaliser des longs et des longs coups, tout en suivant les statistiques de profit des premiers, en ne clôturant que les pertes et les arrêts de clôture dans l’après-midi, pour éviter d’être pris en otage par la forte volatilité des positions du matin.
La stratégie utilise une moyenne mobile de 3 paramètres différents: la 14e ligne, la 28e ligne et la 56e ligne. Faire plus lorsque la 14e ligne traverse la 56e ligne et faire moins lorsque la 14e ligne traverse la 56e ligne. C’est la méthode de base pour suivre les tendances de la longue ligne.
L’innovation clé de cette stratégie est qu’elle ne prend que des arrêts et des pertes entre 16h et 17h. Selon les statistiques, il y a une probabilité de 70% que les plus hauts et les plus bas de la journée se produisent dans la première heure d’ouverture. Afin d’éviter les chocs sur la stratégie causés par les fortes fluctuations de l’ouverture, les arrêts et les pertes ne sont effectués que pendant les heures de négociation de l’après-midi.
Cette stratégie présente les avantages suivants:
La stratégie présente également les risques suivants:
Cette stratégie peut être optimisée dans les domaines suivants:
L’idée générale de cette stratégie est claire et compréhensible, elle utilise efficacement la logique de stop loss de la conception des caractéristiques de l’ouverture, elle évite les caches de haute volatilité du début de la période, elle mérite d’être testée et optimisée. Cependant, il existe un risque d’être piégé et de rater des opportunités, il est nécessaire d’ajuster les paramètres pour chaque action.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("MAC 1st Trading Hour Walkover", overlay=true)
// Setting up timeperiod for testing
startPeriodYear = input(2014, "Backtest Start Year")
startPeriodMonth = input(1, "Backtest Start Month")
startPeriodDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0)
stopPeriodYear = input(2025, "Backtest Stop Year")
stopPeriodMonth = input(12, "Backtest Stop Month")
stopPeriodDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0)
// Moving Averages
ema14 = ema(close, 14)
ema28 = ema(close, 28)
sma56 = sma(close, 56)
// Plot
plot(ema14, title="ema14", linewidth=2, color=green)
plot(ema28, title="ema28", linewidth=2, color=red)
plot(sma56, title="sma56", linewidth=3, color=blue)
// Strategy
goLong = cross(ema14, sma56) and ema14 > ema28
goShort = cross(ema14, sma56) and ema14 < ema28
// Strategy.When to enter
if time >= testPeriodStart
if time <= testPeriodStop
strategy.entry("Go Long", strategy.long, 1.0, when=goLong)
strategy.entry("Go Short", strategy.short, 1.0, when=goShort)
// Strategy.When to take profit
if time >= testPeriodStart
if time <= testPeriodStop
strategy.exit("Close Long", "Go Long", profit=2000)
strategy.exit("Close Short", "Go Short", profit=2000)
// Strategy.When to stop out
// Some studies show that 70% of the days high low happen in the first hour
// of trading. To avoid having that volatility fire our loss stop we
// ignore price action in the morning, but allow stops to fire in the afternoon.
if time("60", "1000-1600")
strategy.exit("Close Long", "Go Long", loss=500)
strategy.exit("Close Short", "Go Short", loss=500)