Stratégie de négociation de l'échange sur le canal MA de la coque et de la régression linéaire

Auteur:ChaoZhang est là., Date: 12-01-2023 16:47:01 Je vous en prie.
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de swing trading qui combine Hull MA, canal de prix, signal EMA et régression linéaire.

La logique de la stratégie

La stratégie est composée des principaux indicateurs suivants:

  1. Hull MA
    • La période typique de Hull MA est de 337, représentant la direction de la tendance à moyen et long terme
    • Quand 2 fois la moyenne WMA à 18 périodes est supérieure à la moyenne WMA à 337 périodes, c'est un marché haussier, sinon c'est un marché baissier
  2. Chaîne de prix
    • Graphiques des canaux de prix EMA haut et EMA bas, représentant la zone de support et de résistance
  3. Signal de l'EMA
    • La période typique est de 89, représentant une tendance à court terme et un signal d'entrée.
  4. Régression linéaire
    • Ligne rapide de 6 périodes pour le fond et la rupture
    • Légère ligne de 89 période pour la tendance à moyen et long terme

Logique d'entrée:

Entrée longue: Hull MA pointant vers le haut et prix au-dessus de la bande supérieure, régression linéaire croisant le signal EMA vers le haut Entrée courte: Hull MA pointant vers le bas et prix inférieur à la bande inférieure, régression linéaire traversant le signal EMA vers le bas

Logique de sortie:

Exit long: prix inférieur à la bande inférieure et traversant la régression linéaire Sortie courte: prix au-dessus de la bande supérieure et régression linéaire croisée vers le haut

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Une plus grande précision avec plusieurs indicateurs
    • Hull MA pour la tendance principale, canal pour le support/résistance, EMA pour l'entrée
  2. Le swing trading pour capturer les tendances à moyen terme
    • Stratégie principalement des renversements pour capturer chaque cycle à moyen terme
  3. Risque maîtrisable et moins de recours
    • Le signal n'est généré qu'à la zone de probabilité élevée, évitant la poursuite à haute mort à basse

Analyse des risques

Il y a aussi des risques:

  1. Espace d'optimisation limité
    • Les principaux paramètres tels que la période EMA est fixe, avec peu d'espace d'optimisation
  2. Peut perdre sur le marché de la fourchette
    • L'arrêt des pertes peut être déclenché dans la plage latérale
  3. J' ai besoin de connaissances en analyse technique.
    • La logique de la stratégie nécessite une connaissance de l'action des prix et des indicateurs, pas adaptée à tous

Améliorations:

  1. Adaptation de la stratégie de stop loss, par ex. arrêt de perte à la traîne
  2. Optimiser la logique d'entrée et de sortie
  3. Ajouter d' autres indicateurs de filtrage comme le MACD

Résumé

La stratégie combine Hull MA, canal de prix, EMA et régression linéaire pour une stratégie complète de swing à moyen terme. Par rapport aux stratégies d'indicateur unique, elle améliore considérablement la précision dans la capture des tendances et des renversements.


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Swing Hull/SonicR/EMA/Linear Regression Strategy", overlay=true)
//Hull MA
n=input(title="HullMA Period",defval=377)
//
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
//
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
//
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
condDown = n2 >= n1
condUp = condDown != true
col =condUp ? lime : condDown ? red : yellow
plot(n1,title="Hull MA", color=col,linewidth=3)
// SonicR + Line reg
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
lr     = input(89, minval=2,title="Linear Regression 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, lr, 0)
lineregf = linreg(close, HiLoLen, 0)
cline=linereg>linereg[1]?green:red
cline2= lineregf>lineregf[1]?green:red
plot(linereg, color = cline, title = "Linear Regression Curve Slow", style = line, linewidth = 1)
//plot(lineregf, color = cline2, title = "Linear Regression Curve Fast", style = line, linewidth = 1)
longCondition = n1>n2
shortCondition = longCondition != true
closeLong =  lineregf-pacH>(pacH-pacL)*2 and close<lineregf and linereg>signalMA
closeShort = pacL-lineregf>(pacH-pacL)*2 and close>lineregf and linereg<signalMA
if shortCondition    
    if (close[0] < signalMA[0] and close[1] > pacL[1] and linereg>pacL and close<n1 and pacL<n1) //cross entry
        strategy.entry("SHORT", strategy.short, comment="Short")
strategy.close("SHORT", when=closeShort) //output logic
if longCondition // swing condition          
    if (close[0] > signalMA[0] and close[1] < pacH[1] and linereg<pacH and close>n1 and pacH>n1) //cross entry
        strategy.entry("LONG", strategy.long, comment="Long")
strategy.close("LONG", when=closeLong) //output logic


Plus de