
Cette stratégie utilise une combinaison de l’indicateur de la ligne moyenne, de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’indicateur de l’
La position est établie lorsque les indicateurs RSI et Stoch sont simultanément en zone de survente et que l’oscillateur AO émet un signal de retour. Plus précisément, lorsque le RSI et le Stoch sont à la baisse (inférieurs à 30 et 20) et que l’AO est plus élevé lors d’une correction négative; lorsque le RSI et le Stoch sont à la hausse (supérieurs à 70 et 80) et que l’AO est vide lors d’une correction négative.
Cette stratégie utilise principalement quatre indicateurs:
L’indicateur ATR est utilisé pour fixer le prix d’arrêt-perte et d’arrêt-perte en fonction de la volatilité du marché afin d’éviter la prise de position.
Pour atténuer ces risques, il est possible d’optimiser les choses de la manière suivante:
Cette stratégie peut être optimisée dans les domaines suivants:
Les paramètres d’optimisation. Vous pouvez trouver des combinaisons de paramètres plus favorables en parcourant des méthodes telles que la recherche d’optimisation.
Ajout de conditions de filtrage. Vous pouvez ajouter une confirmation de paramètres supplémentaires à l’entrée pour éviter les faux signaux.
Optimisation des mécanismes d’arrêt des pertes. Le risque peut être contrôlé par l’utilisation d’arrêts mobiles, de sorties par lots.
Optimiser les arrêts. Vous pouvez utiliser des arrêts mobiles, des arrêts par tranches en fonction de la tendance, etc., pour verrouiller plus de bénéfices.
Ajout d’un arrêt automatique. Par exemple, arrêt à l’approche d’une porte entière importante, pour éviter le retour en arrière.
Optimisation de la gestion des fonds. Par exemple, modifier la taille de la position en fonction de l’évolution du risque et contrôler la perte maximale.
Optimisation des tests pour une variété/cycle spécifique. Les paramètres et les méthodes de stop-loss doivent être optimisés pour différentes variétés et cycles.
Augmentation de la gestion des événements inattendus, comme l’évitement des transactions lors d’une nouvelle importante ou un arrêt rapide.
Cette stratégie utilise un système de ligne uniforme, un système de survente et de survente et un système de volatilité, qui a une forte capacité de suivi de la tendance. Cependant, il existe également des problèmes tels que la fixation de paramètres fixes et l’imperfection du mécanisme de stop-loss. Nous pouvons optimiser de nombreux aspects, tels que l’optimisation des paramètres, l’amélioration du mécanisme de stop-loss, l’augmentation des conditions de fluctuation, pour rendre la stratégie plus stable 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)