Prix à une heure donnée codée
Forums › ProRealTime forum Français › Support ProOrder › Prix à une heure donnée codée
- This topic has 44 replies, 3 voices, and was last updated 6 years ago by Zakmeb.
-
-
01/08/2018 at 7:28 PM #57801
Bonsoir à tous,
Je me présente, Zakmeb, je viens de m’inscrire au forum suite aux conseils d’un commercial de ProRealTime.
Pour mon algorithme de trading, je me permets de vous demander un peu d’aide. En effet, je cherche à coder (à figer)”le prix de n’importe quel support à un moment donné” durant une cotation journalière.
Par exemple le prix de l’action carrefour aujourd’hui: on a:
- Un prix de clôture de veille
- Un prix d’ouverture
- Un prix de clôture
- Et une variation de prix entre l’ouverture et la clôture
J’aimerai pouvoir figer ce prix qui varie à un moment donné quand il a coté dans l’algorithme.
En vous remerciant par avance.
01/09/2018 at 8:31 AM #57846Bonjour et bienvenue.
J’aimerai pouvoir figer ce prix qui varie à un moment donné quand il a coté dans l’algorithme.
Ce “prix” est-il issu d’un calcul particulier ou des conditions liées à un indicateur ?
Si il existe des conditions qui déterminent ce prix à un instant T, on peut l’enregistrer dans un variable. Evidemment, ce sera beaucoup plus simple de bien comprendre la demande et d’éventuellement l’intégrer dans le code si c’était possible de le partager ici, merci.
01/09/2018 at 6:54 PM #58724Bonjour Nicolas,
Merci pour votre retour rapide.
Pour le dire littéralement, le but de mon algorithme est de suivre les plus hauts et les plus bas de la journée sur une valeur. Cela me renvoie comme résultat les prix des plus hauts et des plus bas de la journée de cette valeur durant sa journée de cotation en temps réel .
Par exemple:
Supposons une valeur qui a une cotation journalière en temps réel qui commence à 9h et se termine à 17h35 (je reprends mon exemple de l’action Carrefour)
Soit Pf ma variable de prix fixe ou figé d’une valeur en cours de cotation // ce prix peut changer suivant les conditions d’itérations dans l’algorithme //
Si je veux que Pf vaut le prix d’ouverture alors Pf=Prix open pour une valeur qui a un prix d’ouverture;
Si je veux que Pf vaut le prix à 9h (car supposons que c’est une devise) alors si T=9h alors Pf=Prix de cette valeur à 9h // nous sommes bien-sur toujours en cotation temps réel //
Si Pf est égal au prix le plus haut entre 9h et 9h20 (par exemple) alors Pf=Prix high entre 9h et 9h20 cotation en temps réel. Question dans ce cas, comment peut on figé ce prix pour renvoyer ce résultat ex: Pf=18,4 et la valeur cote 18,35 une ou deux seconde plus tard ?
Si Pf est égal au prix le plus bas entre 9h26 et 9h52 (par exemple) alors Pf=Prix low entre 9h26 et 9h52 cotation en temps réel. Question dans ce cas, comment peut on figé ce prix pour renvoyer ce résultat ex: Pf=18,04 et la valeur cote 18,07 dix secondes plus tard?
Cela me fait deux point d’inflexion entre 9h et 9h52.
Merci pour votre retour.
01/09/2018 at 7:01 PM #5872601/11/2018 at 12:21 PM #5902301/11/2018 at 1:37 PM #59050Donc, il faut juste enregistrer le plus haut et le plus bas de la journée à chaque instant n’est ce pas ?
Si on veut utiliser l’horaire du marché, soit de l’ouverture à la fermeture, tu peux utiliser les instructions internes du langage de programmation, soit:
12plusHaut = Dhigh(0)plusBas = Dlow(0)Si tu veux utiliser une plage horaire définit par toi même:
12345678910111213once plusBas = close*1000//remise à zéro des valeurs quotidiennementif intradaybarindex=0 thenplusHaut = 0plusbas = close*1000endif//enregistrement des valeurs au fil de l'eauif time>=090000 and time<173500 thenplusHaut = max(plusHaut,high)plusBas = min(plusBas,low)endif01/15/2018 at 12:39 PM #59530Bonjour Nicolas,
Désolé de ne pas t’avoir remercié plus tôt pour ton retour. La raison est que je suis en train de suivre ta formation “Premiers pas avec la programmation pour ProRealTime” qui est vraiment excellente et très pédagogique – j’en suis au chapitre “Variables”. Cela m’aide énormément et mon algorithme commence a prendre forme.
Concernant ton retour, Dhigh(0) et Dlow(0) me renvoie en effet les plus hauts, les plus bas mais pas tous car si ils sont les plus hauts, plus bas en débuts de journée, les autres plus hauts, plus bas suivants ne sont pas retournés en résultat. Est il possible de retourner tous les plus hauts, plus bas de la journée en résultat – pour une cotation en temps réel?
Enfin, je travaille sur “close”. Est il possible de rajouter un facteur temps ou un test à “close” pour que le résultat soit un prix fixe de la valeur tout en étant en cotation réel?
ex: If Time=090100 then P=close(090100)
Merci et bonne semaine.
01/15/2018 at 1:29 PM #59538Dhigh(0) et Dlow(0) te retourneront toujours les plus haut et bas de la journée en cours et ces données se modifient en temps réel tout au long de la journée. Il ne peut d’ailleurs pas avoir plusieurs plus haut (ou plus bas) différents dans la même journée.
Pour enregistrer dans une variable la valeur du Close à un horaire particulier, tu peux faire ainsi :
123If Time=090100 thenP=closeendif01/15/2018 at 3:32 PM #5955601/15/2018 at 3:36 PM #59557Quel algorithme ? Le code présenté ci-dessus ? Tout dépend du timeframe employé, car il faut utiliser une unité de temps qui voit passer la bougie de 9h01, hormis en 1 minute ou des multiples de 1 seconde, ça semble difficile 🙂
01/15/2018 at 3:47 PM #59560C’est bien le code présenté ci-dessus. Quelle unité de temps dois je donc employé – codé? et est il possible de faire l’inverse? c’est à dire:
//je veux renvoyer le moment où le prix demandé à coter
if P=16 then
T=Time
endif
RETURN T
01/15/2018 at 5:06 PM #59572je veux renvoyer le moment où le prix demandé à coter
Pour cela, il faut faire une recherche dans le passé avec une boucle. Mais il faudrait trouver une bougie qui a vu le prix exact demandé à sa fermeture soit “16” dans ton exemple, cela semble trop restrictif, à mon humble avis il faudrait plutôt trouver la valeur du Close entre 2 seuils de prix, par exemple entre 15,95 et 16,05.
01/16/2018 at 3:32 PM #5965601/16/2018 at 5:24 PM #59669Bonjour Nicolas
Pour l’instruction suivante, je souhaiterai un retour prix d’exécution en résultat:
12345678910111213141516171819202122232425262728293031// prix d'exécution de l'ordreP=Market// Conditions pour ouvrir une position acheteuseIF NOT LongOnMarket AND VosConditions THENBUY 1 CONTRACTS AT MARKETENDIFRETURN P// Conditions pour fermer une position acheteuseIf LongOnMarket AND VosConditions THENSELL AT MARKETENDIFRETURN P// Conditions pour ouvrir une position en vente à découvertIF NOT ShortOnMarket AND VosConditions THENSELLSHORT 1 CONTRACTS AT MARKETENDIFRETURN P// Conditions pour fermer une position en vente à découvertIF ShortOnMarket AND VosConditions THENEXITSHORT AT MARKETENDIFRETURN PMerci
01/19/2018 at 9:51 AM #59863Merci d’utiliser le bouton approprié pour poster du code dans un message.
Pour obtenir le prix d’ouverture de l’ordre N, tu peux utiliser TRADEPRICE
-
AuthorPosts
Find exclusive trading pro-tools on