Tradeprice – définiition et utilisation
Forums › ProRealTime forum Français › Support ProOrder › Tradeprice – définiition et utilisation
- This topic has 4 replies, 2 voices, and was last updated 1 year ago by finplus.
-
-
10/25/2023 at 10:06 AM #222880
Bonjour,
encore une question de mon côté sur Tradeprice : si j’ai bien compris, il correspond au prix d’entrée d’une position. Par exemple, si je rentre long sur le CAC à 7000 points, tradeprice sera égal à 6850 ? c’est bien cela.
et si je veux connaître ma performance en cours (par exemple j’ai acheté le CAC à 6850 aujourd’hui à 9h30 et qu’à 10 heures il côte 6880 points, ma performance en cours de de 6880 – 6850 soit 30 points.
Imaginons que je suis à 10 heures : pour la calculer, je fais close – tradeprice ? c’est bien cela. Parce que là je m’y perds.
merci.
10/25/2023 at 8:16 PM #222926Pas forcément une entrée, ça peut être une sortie aussi… C’est la série de prix d’éxécution de chaque ordre, entrée ou sortie, ce qui fait que tant qu’on a qu’un ordre à la fois, ça reste simple, si on est en onmarket le tradeprice le plus récent est l’entrée, et si on n’est pas onmarket, le tradeprice le plus récent est une sortie. Mais si on se lance dans des ordres cumulés et des sorties partielles, ça devient plsu compliqué de se servir de tradeprice, pas impossible, mais “moins simple”.
10/26/2023 at 8:50 AM #222941Parfait. C’est ce que je voulais savoir. Donc admettons que nous sommes en onmarket et prenons un exemple fictif ; je suis entré long sur le cac à un instant T à 6880 points. Puis à T+1 (et je suis toujours en position), le CAC est à 6900 points.
Donc mon profit potentiel est de 20 pips. si je fais close – tradeprice (des fois je vois tradeprice(1) je ne sais pas quelle différence cela fait), le résultat serait de 20.
Maintenant, je voudrais bâtir une stratégie de vente : dès que mon profit potentiel > 20 à un instant T (donc avec un cac > 6900) et que l’évolution du CAC fait que mon profit potentiel à un instant Y est inférieur à 20, le système sorte de ma position longue (je sais j’aurai dû mettre ma demande dans le forum Proorder mais je voulais avant comprendre le sens de Tradeprice).
donc comment faire : comme ceci par exemple : if (close(1) – tradeprice > 20) and (close -tradeprice < 20) then sell 1 contract at market ??? ça me semble trop simple ?
merci pour votre aide et votre patience.
10/26/2023 at 10:24 AM #222946Tradeprice(N) = tradeprice du N-ème ordre éxécuté le plus récent en remontant dans le temps.
https://www.prorealcode.com/documentation/tradeprice/
Le niveau tient compte du demi spread si sur IG. Par exemple, si spread 1, le tradeprice sur la bougie d’éxécution de l’achat sera open+0.5 et le tradeprice sur la bougie d’éxécution de la vente sera open-0.5
Le nombre entre parenthèse correspond à un rangement du plus récent au plus ancien, et qui se décale à chaque nouvel ordre éxécuté – càd que pour un nouvel ordre, l’ancien tradeprice(1) devient remplacé par le nouveau, et cet ancien tradeprice(1) devient lui-même tradeprice(2) etc…
Ce nombre entre parenthèses ne doit pas être confondu avec la notation d’un nombre entre crochets qui évoque une énième bougie précédente, ici on numérote les ordres éxécutés, pas les bougies.
Enfin, tradeprice est la notation par défaut qui évoque tradeprice(1) en évitant de taper le (1)… (un peu comme close est la notation par défaut qui évoque close[0])
Dans la cas achat suivi de vente, quand on est onmarket, close-tradeprice donne le gain, il est bien positif si la close est plus haute que tradeprice. Au passage, attention dans le sens inverse, short suivi de exitshort, si on voulait mesurer une performance positive quand on a baissé, on ferait alors tradeprice-close.
Achat puis vente: perf=close-tradeprice
Si en plus on veut tenir compte d’une valeur du pip différente de 1: perf=(close-tradeprice)/pipsize
puis:
if perf[1]>20 and perf<20 then
ou bien:
if perf crosses under 20
Attention à une chose, qui n’apparait pas dans la question, mais qui peut poser souci: si tu testes le close-tradeprice (ou perf) sur la bougie qui “envoie l’ordre”, alors même si c’est évident ça va mieux en le disant: ton tradeprice n’est pas encore celui de l’ordre qui n’est pas encore éxécuté puisqu’il le “sera” (éxécuté) dans le futur, à l’open de la bougie suivante, et donc le nouveau tradeprice existera à partir de la lecture en fin de la bougie d’éxécution de l’ordre. Donc tester une valeur impliquant tradeprice en le pensant effectif sur la bougie d’envoi de l’ordre renverrait une valeur différente de celle espérée et pourrait générer un comportement inattendu, qui peut être évité avec un if adapté au code.
Pour mieux voir ce qu’il se passe, rajouter en fin de backtest:
graph perf
et on verra évoluer la valeur de (close-tradeprice)/pipsize dans une fenêtre séparée.
si besoin de mieux voir le pourquoi de l’évolution de perf, tu peux aussi regarder, ou à la place:
graph tradeprice
Effectivement je vais déplacer le sujet dans ProOrder plus tard, le mot-clé tradeprice n’est pas opérant dans ProBuilder de toute façon.
1 user thanked author for this post.
10/26/2023 at 11:07 AM #222948 -
AuthorPosts