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 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:
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.
Pour réduire ces risques, l'optimisation peut être effectuée dans les domaines suivants:
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres. Vous pouvez trouver des combinaisons de paramètres plus optimales en parcourant les méthodes de recherche d'optimisation.
Augmentation des conditions de filtrage. Une confirmation d'indicateurs supplémentaires peut être ajoutée à l'entrée pour éviter les faux signaux.
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.
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.
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.
Optimiser la gestion des fonds. Par exemple, ajuster la taille des positions en fonction des changements de risque et contrôler les pertes maximales.
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.
Augmenter la prise en charge des événements imprévus. Par exemple, éviter les transactions lors de nouvelles importantes, ou arrêter rapidement.
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)