Bonjour
Je suis à la recherche de startup ayant fait leur point bas et avec lesquels des investisseurs semblent accumuler des titres (utulisation de l’indicateur OBV , qui renvoie un chiffre de cumul des volumes).
Ce type de stratégie est inspirée des stratégies de Stan Wenstein et de la logique de Wyckoff, qui visualisent des ranges d’accumulation de titres par des grosses mains avant de partir en tendance.
Je cherche à trouver les conditions suivants
Prix cloture < 2 All time Low
ET
OBV > Bolup (OBV)
Le code devrait renvoyer 2 criteres max et le screener me renvoir beaucoup plus de valeurs dans des conditions qui ne sont pas respectées par le screener
Quelqu’un a une idée?
//ATL All time low identification
If low<ATL or ATL=0 then
ATL=Low
else
ATL=ATL[1]
Endif
myOBV = OBV(close)
avgOBV=average[20](myOBV)
stdevOBV=2*std[20](myOBV)
BollUp = avgOBV+stdevOBV
c1=close<2*ATL
c2=myOBV>BollUP
screener[ c1 and c2 ]
La ligne 14 est toujours vraie, considérons DAX dont le niveau le plus bas est environ 12600. Multipliez par 2, 25200 est obtenu; CLOSE sera toujours vrai. Pour ce qui est de l’autre condition, je ne le sais pas car je ne suis pas devant mon PC, mais j’imagine qu’elle est facile à remplir.
Merci Roberto
En fait le ATL est le plus bas historique , je ne trouve pas que cette condition est toujour remplie ,
est ce que je dois modifier en
//ATL All time low identification
If low<ATL or ATL=0 then
ATL=Low
else
ATL=ATL[1]
Endif
myOBV = OBV(close)
avgOBV=average[20](myOBV)
stdevOBV=2*std[20](myOBV)
BollUp = avgOBV+stdevOBV
c1=close >ATL and close<(2*ATL)
c2=myOBV>BollUP
screener[ c1 and c2 ]
As-tu testé les conditions c1 et c2 visuellement à l’aide d’un indicateur sur ton graphique ? En réduisant l’historique à 254 unités, tu devrais trouver les mêmes choses que le screener. Ne pas oublie que puisque l’OBV fait une somme des volumes depuis la première bougie, alors la quantité d’unités lue dans l’historique impactera fortement sa lecture !
Bonjour
Merci
Je vais tester avec indicateur
Je pense que le probleme vient de la condition c1, qui est testée sur la bougie en cours.
La condition c2 est bien calculée
Avec indicateur, cela calcule depuis la première bougie (mais pas le screener).
Je pense que je dois faire une boucle
for i = 0 to barindex
If low[i]<ATL or ATL=0 then
ATL=Low
else
ATL=ATL[1]
Endif
Next
Bon c’est bon , ca marche, ci joint le code.
J’optimise un peu le code avec quelques filtres et je le partage.
for i = 1 to barindex
If low[i]<ATL or ATL=0 then
ATL=Low
else
ATL=ATL[1]
Endif
Next
myOBV = OBV(close)
avgOBV=average[20](myOBV)
stdevOBV=2*std[20](myOBV)
BollUp = avgOBV+stdevOBV
c1=close<2*ATL
c2=myOBV>BollUP
screener[ c1 and c2 ]
Merci Yannick, ce sera sympathique de le partager directement dans la library quand tu pourras 😉