
Cette stratégie, qui combine les indices de colonne MACD et de régression linéaire, permet de réaliser des retournements de trading à haute fréquence grâce à une combinaison ingénieuse, particulièrement adaptée à l’arbitrage et à la couverture de courte ligne, qui appartient à la stratégie de neutralité du marché typique.
La stratégie est principalement composée des éléments suivants:
La couleur de la colonne MACD est utilisée comme indicateur de tendance. Lorsque la colonne MACD est de couleur verte, cela indique qu’elle est en tendance à la hausse, ce qui signifie qu’elle ne fait pas d’options; lorsque la colonne MACD est de couleur rouge, cela indique qu’elle est en tendance à la baisse, ce qui signifie qu’elle ne fait pas d’options.
La régression linéaire est un indicateur de signal de trading clé. Faire plus lorsque le prix est traversé par une régression linéaire du bas vers le haut; faire moins lorsque le prix est traversé par une régression linéaire du haut vers le bas.
La chaîne PAC est composée d’EMAs de prix élevés, bas et clôturés, utilisés pour déterminer la direction de la régression linéaire. Un signal de transaction est généré uniquement lorsque la direction de la régression linéaire est conforme à la tendance dans la chaîne.
L’EMA 89 est une ligne de stop-loss, qui est fermée à la clôture lorsque le prix revient à travers cette ligne.
La logique de génération du signal de transaction est la suivante:
Signaux à plusieurs têtes: régression linéaire vers le haut en traversant le canal PAC vers le bas et régression linéaire vers le haut en pente et colonne MACD non rouge Signaux de tête vide: régression linéaire vers le bas à travers le canal PAC et tendance à la baisse de régression linéaire et la colonne MACD n’est pas verte
Signaux d’arrêt de perte: les cours ont baissé à 89 EMA
Cette stratégie, combinée à un jugement de tendance et à des niveaux de prix critiques, permet de réaliser des transactions de couverture à haute fréquence.
Utilisez les couleurs de la colonne MACD pour déterminer les grandes tendances et éviter les transactions à contre-courant.
La régression linéaire est lisse et permet de filtrer une partie du bruit.
Les voies formées par l’EMA définissent clairement la direction du polygone.
Le stop loss est un paramètre raisonnable qui garantit un profit maximal.
La fréquence des transactions est élevée, ce qui est approprié pour les stratégies de trading à haute fréquence.
La mise en place d’opérations de couverture peut être rentable en cas de choc.
La régression linéaire et l’indicateur de passage nécessitent une certaine optimisation des paramètres, sans quoi ils risquent de ne pas fonctionner.
Les arrêts de perte peuvent être déclenchés plus fréquemment en cas de fortes secousses. La portée des arrêts de perte peut être allégée de manière appropriée.
Le nombre de transactions est élevé et les frais de transaction sont importants.
L’indicateur MACD présente un certain retard et peut manquer une inversion de tendance à court terme.
Les canaux EMA doivent également être optimisés en permanence pour s’adapter aux changements du marché.
Adaptation de la régression linéaire et des paramètres de la voie pour rendre les indicateurs plus adaptés aux différentes variétés.
Laissez la marge de stop-loss allongée, tout en veillant à ce que le stop-loss ratio soit supérieur à 1.
Optimiser les paramètres MACD pour qu’ils puissent capturer plus de signaux à court terme
Essayez d’utiliser d’autres indicateurs de régression linéaire, comme la ligne de Bryn.
Il a ajouté: “Nous devons renforcer le contrôle des positions pour empêcher les pertes unilatérales”.
Les signaux de trading sont filtrés en partie par des indicateurs tels que le RSI.
Cette stratégie utilise de multiples indicateurs techniques pour réaliser des opérations de couverture à haute fréquence. Son avantage réside dans la capture de retournements à court terme, la maîtrise des risques est raisonnable et convient parfaitement aux périodes de turbulences du marché. Il convient également de prêter attention à l’optimisation et à l’amélioration de certains paramètres pour éviter les surajustements.
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
// strategy("Sonic R + Linear Reg + Kumo Cloud + Barcolor MACD", overlay=true,default_qty_value=10000,initial_capital=200,currency=currency.USD, pyramiding=1)
EMA = input(defval=89, title="EMA Signal")
HiLoLen = input(34, minval=2,title="High Low channel Length")
pacC = ema(close,HiLoLen)
pacL = ema(low,HiLoLen)
pacH = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, EMA, 0)
plot(linereg, color = orange, title = "Linear Regression Curve", style = line, linewidth = 1)
//////ICHIMOKU/////////
conversionPeriods = input(9),
basePeriods = input(26, minval=1, title="Base Line")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span"),
displacement = input(26, minval=1)
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods-1)
p1 = plot(leadLine1, offset = displacement-1, color=gray,title="Senkou span A", transp=90)
p2 = plot(leadLine2, offset = displacement-1, color=gray, title="Senkou span B", transp=90)
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red, title="Kumo Cloud")
///////////////// MACD BARCOLOR /////////////////////
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
hisup= iff(delta>delta[1] and delta>0, 1,
iff(delta<delta[1], -1, nz(hisup[1], 0)))
hisdown = iff(delta<delta[1] and delta<0, 1,
iff(delta>delta[1], -1, nz(hisdown[1], 0)))
barcolor(hisup==1 and MACD>0 ? lime: hisdown==1 and MACD<0 ? red : blue )
///////////// SIGNAL ///////////////
conbuy = iff(crossover(linereg,pacL) and rising(linereg,5), 1,
iff(crossover(linereg,pacH) or (crossunder(linereg,pacL) and pacL<signalMA), -1, nz(conbuy[1], 0)))
consell = iff(crossunder(linereg,pacH) and falling(linereg,5), 1,
iff(crossunder(linereg,pacL) or (crossover(linereg,pacH) and pacH>signalMA), -1, nz(consell[1], 0)))
golong= conbuy==1 and close>open and open<pacH and close>linereg and hisdown!=1
goshort= consell==1 and close<open and open>pacL and close<linereg and hisup!=1
if(golong)
strategy.entry("Buy",strategy.long)
if(goshort)
strategy.entry("Sell",strategy.short)
closelong= conbuy==-1
closeshort=consell==-1
if(closelong)
strategy.close("Buy")
if(closeshort)
strategy.close("Sell")
////////////// TP and SL//.
//SL = input(defval=200.00, title="Stop Loss Point", type=float, step=1)
//rr= input(defval=0.1,title="Reward/Risk",type=float)
//useTPandSL = input(defval = false, title = "Use exit order strategy?")
//Stop = SL
//Take=SL*rr
//Q = 100
//if(useTPandSL)
// strategy.exit("Out Long", "Buy", qty_percent=Q, profit= Take, loss=Stop)
// strategy.exit("Out Short", "Sell", qty_percent=Q, profit= Take, loss=Stop)