Une stratégie multi-indicateur

Auteur:ChaoZhang est là., Date: le 18 octobre 2023 11:36:38
Les étiquettes:

多指标买卖策略

Résumé

Cette stratégie permet de suivre la tendance en combinant l'indicateur de l'équilibre, l'indicateur de l'excédent d'achat et l'indicateur de la volatilité, en achetant à bas en cas de rebond de l'excédent de baisse et en vendant à haut en cas de reprise de l'excédent d'achat.

Les principes stratégiques

Les positions sont établies lorsque l'indicateur RSI et Stoch sont simultanément dans la zone de survente et que l'oscillateur AO présente des signaux de rebond. Plus précisément, lorsque l'indicateur RSI et Stoch sont tous les deux bas (inférieurs à 30 et 20) et que l'indicateur AO est plus élevé (supérieur à 70 et 80) et que l'indicateur AO est plus élevé (supérieur à 70 et 80) et que l'indicateur AO est plus bas (supérieur à 70 et 80).

La stratégie utilise principalement quatre indicateurs:

  • Oscillateur AO: il reflète la dynamique des changements de prix et peut être utilisé pour déterminer l'inversion de tendance.
  • Indicateur RSI relativement fort ou faible: il reflète une situation d'achat excessif ou de vente excessive.
  • StochStochastic: indique une zone d'achat ou de vente excessive. Sous 20 est une zone d'achat ou de vente excessive.
  • La largeur réelle moyenne de l'ATR: reflète l'ampleur de la fluctuation des prix récente.

Lorsque l'AO indique un retour en arrière et que le RSI et le Stoch se trouvent dans la zone de survente, il est possible d'intervenir pour établir une position. L'ATR est utilisé pour fixer un prix de stop-loss et de stop-loss afin d'éviter d'être mis en place.

Les avantages stratégiques

  • Utilisez plusieurs indicateurs pour confirmer les signaux et éviter les transactions erronées causées par un seul indicateur.
  • Le fait de définir un seuil d'arrêt-perte en fonction de la volatilité du marché permet de contrôler efficacement les pertes d'une seule transaction.
  • La stratégie de transaction logique est simple, claire et facile à comprendre.
  • Il est possible d'intervenir en cas d'achat excessif et de saisir les opportunités d'inversion en temps opportun.

Risques et solutions

  • L'indicateur AO est susceptible de produire de faux signaux et doit être utilisé en combinaison avec les indicateurs RSI et Stoch pour éviter les transactions erronées.
  • Les paramètres fixes peuvent ne pas être adaptés aux changements du marché et doivent être optimisés.
  • Le point d'arrêt est trop proche et peut être endommagé fréquemment. La portée d'arrêt peut être élargie de manière appropriée ou une stratégie d'arrêt peut être utilisée.
  • Des arrêts fixes, des départs prématurés ou des inline callbacks peuvent être utilisés.

Pour réduire ces risques, l'optimisation peut être effectuée dans les domaines suivants:

  1. Optimiser les paramètres pour les rendre plus adaptés aux différents cycles et aux différents marchés.
  2. Des mécanismes d'arrêt améliorés, tels que l'arrêt mobile, la séparation des lots, etc.
  3. Optimiser les conditions d'entrée afin d'éviter que des signaux erronés ne soient générés par un seul indicateur.
  4. Optimiser le mode de suspension, par exemple le suspension mobile ou le suspension par segmentation en fonction de la tendance.

Optimisation stratégique

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimiser les paramètres. Vous pouvez trouver des combinaisons de paramètres plus optimales en parcourant les méthodes de recherche d'optimisation.

  2. Augmentation des conditions de filtrage. Une confirmation d'indicateurs supplémentaires peut être ajoutée à l'entrée pour éviter les faux signaux.

  3. Optimiser les mécanismes de blocage des pertes. Les risques peuvent être contrôlés par des méthodes telles que le blocage mobile, la division des lots en dehors du terrain.

  4. Optimiser les méthodes d'arrêt. On peut utiliser des méthodes d'arrêt mobiles, des méthodes d'arrêt par tranches de tendance, etc., pour bloquer plus de bénéfices.

  5. Augmentation de l'arrêt automatique. Par exemple, l'arrêt automatique à proximité d'un seuil d'entiers importants pour éviter une chute élevée.

  6. Optimiser la gestion des fonds. Par exemple, ajuster la taille des positions en fonction des changements de risque et contrôler les pertes maximales.

  7. Optimisation des tests pour des variétés/cycles spécifiques. Les paramètres et les méthodes d'arrêt-défaillance doivent être optimisés pour différentes variétés et cycles.

  8. Augmenter la prise en charge des événements imprévus. Par exemple, éviter les transactions lors de nouvelles importantes, ou arrêter rapidement.

Résumé

Cette stratégie utilise un système intégré d'équilibre, d'excédent d'achat et d'excédent de vente et d'un système de volatilité, avec une forte capacité de suivi des tendances. Mais il y a aussi des problèmes de paramétrage fixe, de mécanisme de freinage imparfait. Nous pouvons optimiser les paramètres, améliorer les mécanismes de freinage, augmenter les conditions de filtrage, etc. pour rendre la stratégie plus solide et fiable.


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

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
    

    
    




En savoir plus