Faisabilité de ce type d’automatisation ?
Forums › ProRealTime forum Français › Support ProBuilder › Faisabilité de ce type d’automatisation ?
- This topic has 14 replies, 3 voices, and was last updated 3 months ago by JS.
-
-
07/27/2024 at 2:36 PM #235834
Bonjour à tous,
je cherche à créer un code pour automatiser sous prorealtime une prise de position en fonction de paramètres qui ressembleraient au suivant :
A 9:00 du matin, chaque jours,
1 ) Calculer la variation en % entre le prix de clôture de la veille sur la bougie de 10:00 en timeframe 5 minutes et celui de l’ouverture du jour à 9:00 sur DOW
Si la variation est supérieur à 0.5% alors prendre un achat au marché instantanément avec 100pts de SL; 300pts de TP
Si la variation est inférieur à -0.5% alors prendre une vente au marché instantanément avec 100pts de SL; 300pts de TP
Est-ce quelque chose d’automatisable selon vous ?
Merci d’avance pour vos précieux retours.
07/27/2024 at 5:47 PM #235836Bonjour,
Essayez ceci…
Time Price Variation DJ1234567891011121314151617181920DefParam CumulateOrders=False//Timeframe(5 minutes)If OpenTime=090000 thenTodayOpening=CloseIf (TodayOpening-PreviousPrice)/PreviousPrice*100>0.5 thenBuy 1 contract at MarketElsIf (TodayOpening-PreviousPrice)/PreviousPrice*100<-0.5 thenSellShort 1 contract at MarketEndIfEndIfIf OpenTime=100000 thenPreviousPrice=CurrentPriceCurrentPrice=CloseEndIfSet Stop pLoss 100Set Target pProfit 3001 user thanked author for this post.
07/28/2024 at 9:09 AM #23584207/28/2024 at 10:26 AM #23584307/28/2024 at 1:15 PM #235846<span class=”bbp-author-name”>JS</span> encore un grand merci car la base du code fonctionne, et j’ai des premier echantillons sur le probacktest. Par contre les entrées auto ne se font pas à l’endroit que j’aimerais.
Actuellement avec le code l’entrée se fait à 9:05 donc fin de clôture de la bougie de 9:00 … j’aimerais pour ma part que l’entrée se fasse juste après 9:00 dès que le bot à pu calculer la variation.
Un example visuel sera plus parlant je pense (piece jointe) :
- Cloture de 10:00 le 25/07 se fait à 39856
- Open de 9:00 le 26:07 se fait à 40082
–>soit une variation de +0.56%, le bot doit donc long instantanement au marché avec 100pts de SL / 300pts de TP car nous sommes au dessus des 0.5% de variation demandée pour entrer en position.
PS : J’ai essayé le code avec et sans ton edit et je n’ai pas vu de difference dans les prises de positions sur le backtest
07/28/2024 at 3:55 PM #235856Salut,
Une position est ouverte « normalement », sur le « Ouvert » de la barre suivante (09:05), vous pouvez ajuster ce moment en utilisant « multi time (MTF) ». Vous pouvez alors effectuer le calcul dans un laps de temps de 5 minutes, et le placement des commandes dans un laps de temps de, par exemple, 1 minute. Une fois l’ordre exécuté, le « Stop Loss » et le « Take Profit » respectifs seront liés à l’ordre…
Le graphique en question doit être ouvert dans le laps de temps le plus bas (ici 1 minute)…
Time Price Variation DJ V212345678910111213141516171819202122232425262728293031323334DefParam CumulateOrders=FalseOnce Long=0Once Short=0Timeframe(5 minutes)If NOT OnMarket thenLong=0Short=0EndIfIf OpenTime=090000 thenTodayOpening=OpenIf (TodayOpening-PreviousPrice)/PreviousPrice*100>0.5 thenLong=1ElsIf (TodayOpening-PreviousPrice)/PreviousPrice*100<-0.5 thenShort=1EndIfEndIfIf OpenTime=100000 thenPreviousPrice=CurrentPriceCurrentPrice=OpenEndIfTimeFrame(1 minutes)If Long thenBuy 1 contract at MarketElsIf Short thenSellShort 1 contract at MarketEndIfSet Stop pLoss 100Set Target pProfit 30007/28/2024 at 4:57 PM #235858Malheureusement le code V2 ne fonctionne pas, j’ai un message d’erreur en me mettant sur une chart 1 minute.
Penses-tu qu’il existe un moyen de rentrer vraiment à l’open de 9:00 (dès l’apparition de la candle) sans attendre la cloture M1 ? Mes datas sont faites sur une entrée precise à 9:00 et non à 9:01.
Je vais tenter de mailer le support prorealcode pour voir ce qu’ils en disent également.En tout cas merci bcp pour tes retours JS
07/28/2024 at 5:19 PM #235860Vous ne pouvez pas utiliser le même nom de variable dans des périodes différentes.
Commentez ou supprimez les lignes 3 et 4.07/28/2024 at 5:34 PM #23586207/28/2024 at 6:16 PM #23586407/28/2024 at 7:14 PM #235866Vous pouvez réduire le délai de la « seconde » à au moins 1 seconde, mais cela affectera la quantité de données « backtest » que vous pouvez utiliser…
Par exemple, si vous souhaitez utiliser 10 secondes, remplacez la deuxième période par 10 secondes… « TimeFrame (10 seconds) »
08/01/2024 at 4:42 PM #236031bonjour JS, effectivement en 10 seconds j’ai beaucoup moins d’occurences sur le graphique. (mais ce sera plus proche des datas que j’ai relevé manuellement).
Pour faire fonctionner le code V2 je suis obligé d’effacer la ligne 6 pour qu’il fonctionne, cela n’a pas d’incidence sur le reste ? Car j’ai observé des erreurs de calcul de variation, certaines fois le robot à une variation inferieur a -0.5 donc devrait short mais il prend un long. Peut-etre est-ce du au fait que j’ai effacé la ligne 6 : Timeframe(5 minutes)
En supprimant la ligne 3/4 comme indiqué plus haut le code ne voulais pas se lancer sur mon prorealtime.
Belle soirée à toi
Ps: j’ai egalement demandé de l’aide sur le forum anglais pour avoir un 2nd avis, je te tiendrai informé du résultat
08/01/2024 at 6:52 PM #236039Salut,
Par exemple, lorsque vous travaillez avec la version « Complete » de PRT, vous disposez d’un maximum de 200 000 unités de données historiques (données BackTest)…
200 000 * 10 s = 2 000 000 / (60 * 60 * 24) = 23 jours
(Les données du BackTest dépendent de la période chronologique)
Le code ci-dessous a été testé sur 200 kUnités…Time Price Variation DJ V31234567891011121314151617181920212223242526272829303132DefParam CumulateOrders=FalseTimeframe(5 minutes)If NOT OnMarket thenLong=0Short=0EndIfIf OpenTime=090000 thenTodayOpening=OpenIf (TodayOpening-PreviousPrice)/PreviousPrice*100>0.5 thenLong=1ElsIf (TodayOpening-PreviousPrice)/PreviousPrice*100<-0.5 thenShort=1EndIfEndIfIf OpenTime=100000 thenPreviousPrice=CurrentPriceCurrentPrice=OpenEndIfTimeFrame(10 seconds)If Long thenBuy 1 contract at MarketElsIf Short thenSellShort 1 contract at MarketEndIfSet Stop pLoss 100Set Target pProfit 30008/02/2024 at 10:37 AM #236060Encore merci pour ton temps JS. c’est vraiment très gentil !
Oui j’ai bien la version complete / Premium de ProRealtime avec 1M de données historique sur mon broker (SAXO).Je viens de tester le code V3 sur un graphique 10secondes, il semble bien fonctionner mise à part le fait que l’entrée en position se fasse à 9:05 (au lieu de 9:00:10 souhaité)
Bien à toi
08/02/2024 at 11:25 AM #236062 -
AuthorPosts
Find exclusive trading pro-tools on