La stratégie quantitative multifactorielle du grand plaisir

Auteur:ChaoZhang est là., Date: 2023-12-04 13:04:03 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie quantitative multifactorielle Great Delight combine plusieurs indicateurs techniques, y compris les moyennes mobiles, le MACD et le nuage d'Ichimoku, comme une stratégie à long terme de suivi de tendance.

En tenant compte des tendances à long terme et à court terme, ainsi que de la vérification à plusieurs facteurs, cette stratégie peut filtrer efficacement les transactions bruyantes causées par de fausses ruptures.

Principes de stratégie

Lorsque le prix est au-dessus de la MA de 200 jours, la stratégie estime que le marché est en tendance haussière.

Lorsque le prix dépasse le MA de 200 jours, la stratégie détermine qu'une tendance baissière a commencé. Les exigences de signal deviennent plus strictes maintenant: en plus des signaux d'achat MA et MACD de 20 jours, le nuage Ichimoku doit également donner un signal d'achat (nuage vert ou prix au-dessus du sommet du nuage) avant de déclencher un achat.

La logique du signal de vente est similaire, mais inversée: sur un marché haussier, une bougie se ferme sous le fond des nuages ou déclenche une vente; sur un marché baissier, entrez dans le nuage rouge ou les signaux de vente MA et MACD de 20 jours déclenchent une vente.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans la combinaison de plusieurs indicateurs à long et à court terme pour déterminer les situations du marché, ce qui permet de filtrer efficacement les faux signaux.

  1. L'AM de 200 jours détermine la tendance globale afin d'éviter les opérations contre-tendance.
  2. Le MA de 20 jours se concentre sur la dynamique à court terme pour capturer les revers.
  3. Le MACD vérifie les changements de tendance.
  4. Le nuage Ichimoku vérifie deux fois pour éviter de mauvais signaux.

En outre, la coordination entre les indicateurs à long et à court terme rend également la stratégie adaptée aux opérations à court et à moyen terme.

Analyse des risques

Le principal risque de cette stratégie est la probabilité que plusieurs indicateurs donnent des signaux erronés en même temps. Bien que très improbable dans des conditions extrêmes, cela peut encore se produire lors d'une utilisation prolongée. Les principales contre-mesures sont:

  1. Ajustez les paramètres de manière appropriée pour trouver la combinaison optimale.
  2. Des arrêts stricts pour inverser rapidement la direction après de mauvais signaux.
  3. Utilisez des méthodes de couverture des contrats à terme pour obtenir des bénéfices.
  4. Ajustez la taille de la position en fonction des principales zones de soutien.

Directions d'optimisation

La stratégie peut être optimisée par les aspects suivants:

  1. Testez différentes combinaisons de paramètres pour trouver le meilleur.
  2. Ajouter un module stop loss pour un meilleur contrôle des risques.
  3. Incorporer des indicateurs de corrélation comme le taux de changement pour éviter de courir après les sommets et les bas.
  4. Introduire des méthodes d'apprentissage automatique comme les réseaux de neurones pour former la pondération des indicateurs.
  5. Vérifier la robustesse sur différents marchés.

Conclusion

La stratégie Great Delight filtre le bruit à travers des combinaisons scientifiques d'indicateurs, permettant une rentabilité persistante tout en contrôlant les risques. En tenant compte à la fois des tendances à long terme et des opportunités à court terme, elle est largement applicable dans les investissements à moyen et long terme.


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

//@version=2
strategy(title="MACD/EMA/SMA/Ichimoku Long Strategy",overlay=true)




// Ichimoku

conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)


p1 = plot(leadLine1, offset = displacement, color=green,
 title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red, 
 title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color(green,50) : color(red,50))



bottomcloud=leadLine2[displacement-1]
uppercloud=leadLine1[displacement-1]




// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
SMA200 = sma(close, input(200))
EMA = ema(close,input(20))


//MACD Indicator - Is the MACD bullish or bearish?

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

// Set Buy/Sell conditions

[main,signal,histo]=macd(close,fastLength,slowlength,MACDLength)

buy_entry = if ((uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)) and close>EMA and (delta>0 and close>min(uppercloud,bottomcloud))) or (close<SMA200 and delta>0 and close>EMA and (uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)))
    true
if close<EMA and ((delta<0 and close<min(uppercloud,bottomcloud)) or (uppercloud<bottomcloud and close>max(uppercloud,bottomcloud)))
    buy_entry = false


strategy.entry("Buy",true , when=buy_entry)
alertcondition(buy_entry, title='Long', message='Chart Bullish')


sell_entry = if ((uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)) and close<EMA and (delta<0 and close<max(uppercloud,bottomcloud))) or (close>SMA200 and delta<0 and close<EMA and (uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)))
    true
if close>EMA and ((delta>0 and close>max(uppercloud,bottomcloud)) or (uppercloud>bottomcloud and close<min(uppercloud,bottomcloud)))
    sell_entry = false



strategy.close("Buy",when= sell_entry)


alertcondition(sell_entry, title='Short', message='Chart Bearish')

//plot(delta, title="Delta", style=cross, color=delta>=0 ? green : red )

Plus de