Cette stratégie combine des indicateurs de moyenne mobile, de surachat-survente et de taux de volatilité pour acheter en baisse en cas de survente et vendre en hausse en cas de surachat, afin de suivre les tendances.
Prenez des positions lorsque le RSI et le Stoch sont tous deux dans des zones de survente/surachat et que l'oscillateur AO montre un signal d'inversion. Plus précisément, allez long lorsque le RSI et le Stoch sont bas (en dessous de 30 et 20) et que l'AO passe de négatif à positif; allez court lorsque le RSI et le Stoch sont élevés (au-dessus de 70 et 80) et que l'AO passe de positif à négatif. Définissez un stop-loss et un profit basé sur la valeur ATR pour ajuster les niveaux de perte/bénéfice en fonction de la volatilité du marché.
La stratégie utilise principalement quatre indicateurs:
Lorsque l'AO montre un signal de renversement et que le RSI et le Stoch sont tous deux dans des zones de survente / surachat, le prix peut s'inverser. Prenez des positions à ce moment-là. Utilisez ATR pour définir des prix de stop loss et de profit pour éviter d'être piégé en ajustant la fourchette de perte / profit en fonction de la volatilité.
Pour réduire les risques, optimiser les aspects suivants:
Les aspects suivants peuvent être optimisés pour la stratégie:
Optimiser les paramètres en traversant différentes valeurs.
Ajoutez des conditions de filtrage à l'entrée pour éviter de faux signaux.
Optimiser les méthodes d'arrêt de perte comme le stop loss de suivi.
Optimiser les façons de tirer profit comme adaptive tirer profit.
Ajoutez des bénéfices automatiques près des niveaux clés pour éviter le repli.
Optimiser la gestion des fonds en ajustant la taille des positions en fonction du risque.
Tester et optimiser les paramètres et les niveaux d'arrêt/profit en fonction de différents instruments et délais.
Gérer les événements extrêmes comme éviter les transactions pendant les nouvelles ou les pertes rapides.
Cette stratégie combine les systèmes de moyenne mobile, de surachat-survente et de volatilité pour acheter bas et vendre haut, avec une forte capacité de suivi de tendance. Mais certains problèmes tels que les paramètres fixes et le stop loss inapproprié existent. Nous pouvons optimiser à partir de divers aspects tels que l'ajustement des paramètres, l'amélioration du stop loss, l'ajout de filtres pour le rendre plus robuste. Dans le trading réel, il faut tester et optimiser en fonction d'instruments et de périodes spécifiques pour maximiser son efficacité et sa rentabilité.
/*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)