Bonjour,
Je suis nouveau sur le site (mais aussi dans le tradding) et je but sur un pb de programmation
Question: Je voudrais intégrer une formule de tangente mais il n’y a aucune explication ou exemple qui pourrait m’aider, j’ai parcouru tout le forum, nada, rien. Si l’on cherche pour croiser des MM tout va bien mais dès que l’on veut utiliser une formule… badaboum…
Donc je cherche à programmer une tangente dès qu’une courbe (de prix ou indicateur RSI, MACD…) touche une horizontale ou qu’elle rebondit, comme tu veux, donc: tan(courbe)=0
afin de pouvoir déclencher un achat ou une vente
J’ai essayé mais sans succès. J’espère être clair???
Parce que la doc PRT
Syntax:
TAN(a)
C’est plutôt succinct
En vous remerciant pour votre aide
Amicalement
Daniel
Si je comprends bien la question, il n’y a pas besoin d’utiliser une tangente. Tu cherches juste à prendre une position d’achat ou de VAD si le prix ou un indicateur quelconque touche une valeur prédéterminé ? Puisque lorsque tu parles d’une “horizontale”, tu te réfères à l’échelle en ordonnée X qui est en valeur prix ou en valeur de l’oscillateur en question. (l’échelle verticale Y étant le temps bien entendu).
Un peu comme si on lançait un ordre d’achat si un RSI croisait à la hausse son niveau 50, c’est un bon exemple ?
Je pense que tu devrais te lancer dans les formations à la programmation prorealtime (nouvelle section du site) : https://www.prorealcode.com/formations-prorealtime/
Dans la première de ces formations, on commence de zéro.
Non, ce n’est pas la question
Par exemple, si tu as une courbe de prix baissière, puis haussière le point le plus bas du creux de la courbe est sur la tangente = 0 de la courbe, c’est le point le plus bas sur laquelle la courbe rebondit. Ca me parait énorme que cela ne soit pas utilisé mais peut-être sous une autre forme (sans que cela tourne à l’usine à gaz…)
La formule tangente devrait être toute simple mais elle n’est employée nul part???
Encore merci pour ton aide
Daniel
Ah d’accord, en fait tu cherches à connaître le dernier plus bas dans ton exemple. On le retrouve avec l’instruction LOWEST.
Exemple pour retrouver le dernier plus bas d’il y a seulement 5 périodes en arrière (parce qu’il faut bien se trouver une limite dans le temps pour retrouver cette information) d’un RSI:
monRSI = RSI[14]
plusbasRSI = lowest[5](monRSI)
RETURN monRSI,plusbasRSI
dans l’image ci-joint, le RSI est en ligne continue et le dernier plus bas en pointillé. Tu peux bien sûr faire varier la période de recherche en arrière pour trouver le dernier plus bas, ici 5.
Merci Nicolas, c’est presque ça!
Je souhaiterai l’avoir en temps réel et non pas en historique (depuis x bougies)
La tangente me semble le moyen le plus indiqué???
Dès que la courbe de prix touche le plus bas ou le plus haut = achat ou vente
Pour qu’un plus bas ou un plus haut existe, il faut d’abord le calculer, c’est pour cela que l’on regarde le passé (avec X bars en arrière), on le constate et on le définit.. une autre idée peut-être ?
Bien sur!
Ce que je veux dire, c’est un pouillème de secondes après le changement de direction, afin que le phénomène puisse être observé.
Tu comprends, si c’est pour constater l’évènement 5 bougies après, la décision d’achat ou de vente n’a plus de sens.
On peut l’observer sur un indicateur MACD ou CCI par exemple. Le changement de direction est radicale, déterminé et soudain mais aussi sur et évident, sans ambiguïté.
Bien sur qu’il peut y avoir des fausses alertes mais c’est récurant à tous les algorithmes.
Par exemple, sur le graphique ci-joint, je t’ai tracé 3 tangentes pour décisions que je viens de copier sur eur/usd sur 1min, l’important est bien sur de pouvoir prendre la décision (automatiquement) au plus tôt.
Autant que je me souvienne, mathématiquement, si la tan(courbe)=0 ça devrait fonctionner mais il faut peut-être que cela soit validé sur une courte période (plusieurs ticks)???
Si ce n’est pas clair, dis moi!
A+
Oui en effet, c’est pas très clair 🙂
Sur ton image, on constate des pics et des creux d’une courbe, tu peux les retrouver comme ceci, toujours sur le même RSI par exemple:
monRSI = RSI[14]
if monRSI>monRSI[1] and monRSI[1]<monRSI[2] then
signal=1
elsif monRSI<monRSI[1] and monRSI[1]>monRSI[2] then
signal=-1
else
signal=0
endif
RETURN signal
Dans ce code, on retourne un 1 si on trouve un creux et un -1 si on trouve un pic. Tu pourras bien entendu l’adapter à n’importe quel autre indicateur et l’utiliser dans une stratégie de trading automatique si nécessaire.
PS: on peut ajouter des images au post, sans les mettre dans un .DOC , c’est plus rapide merci.