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/28/2018 at 7:56 PM #60765
Bonjour Nicolas,
Tu trouveras ci-dessous mon indicateur qui vous les plus hauts du jours:
plus hauts12345678910111213141516171819T=TimeT1=TimeplusHaut=Dhigh(0)P=highP1=highif plusHaut = Dhigh(0) thenT=Time and P=plusHautendifIf T1>T thenif P1 = high thenT1=Time and P=P1endifendifIf T>T1 thenif P = high thenT=Time and P=max(P1,high)endifendifRETURN PConcernant le système de trading suivant (qui n’est pas de moi, je le teste pour voir comment ça marche), peux tu m’indiquer comment bien choisir dans le menu “tick par tick” car le résultat n’est pas identique ? Merci
sytème de trading12345678910111213141516171819202122232425262728293031323334353637383940414243444546DEFPARAM CumulateOrders=trueREM AchatONCE TimeStart =090000ONCE TimeEnd =173000once OrderSize=1once ExitIndex=-2OrderSize=round(200000/open)condition1 = (Time >= TimeStart)condition2 = (Time <=TimeEnd)indicator1 = closeindicator2 = SuperTrend[3,10]c1 = (indicator1 CROSSES OVER indicator2)IF CONDITION1 AND CONDITION2 THENIF c1 THENBUY OrderSize SHARES AT MARKETENDIFrem return ordersizeREM Venteindicator3 = closeindicator4 = SuperTrend[3,10]c2 = (indicator3 CROSSES UNDER indicator4)IF c2 THENSELL AT MARKETExitIndex=BarIndexENDIFSET TARGET pProfit 6If BarIndex=ExitIndex+1 thenExitIndex=0If positionperf(1)<0 thenOrderSize=ordersize+1elseOrderSize=1EndIfendifendif// Stops et objectifs// Stops et objectifsREM SET STOP pLOSS B02/14/2018 at 9:55 AM #62688Bonjour Nicolas,
Concernant les algorithmes de trading, j’ai remarqué qu’après avoir lancé le backtest de celui-ci, les résultats P&L dépendent de la périodicité choisie dans le graphique. Ils sont en effet totalement différents suivants que l’on choisit 1seconde, 1minute, 5 minutes etc…
Comment être sur que son algorithme de trading trade bien sur la bonne période? par exemple 15 min?
Merci.
02/14/2018 at 11:22 AM #62708Il faut en effet toujours faire ses backtests en mode tick par tick pour être certain d’avoir bien vérifié toutes les valeurs de prix contenus dans une barre et qui pourraient impacter la performance de la stratégie.
Il est logique que les performances soient différentes d’un timeframe à un autre, puisque l’on ne traite pas les mêmes données. Dans la stratégie que tu as posté, l’indicateur SuperTrend se calcule sur 10 périodes (10 chandeliers), qui ne sont pas les mêmes si tu changes d’unité de temps et donc les informations diffèrent.
Lors de l’envoi de la stratégie dans le module de trading automatique ProOrder, il faudra choisir l’unité de temps approprié à la stratégie. Une fois la stratégie en cours de fonctionnement, il faudra l’arrêter complètement pour en changer.
04/10/2018 at 12:48 PM #67898Bonjour Nicolas,
J’ai besoin de tes lumières. Le code ci-dessous me permet d’obtenir un prix par rapport à son ouverture. Comment faire pour que la code s’arrête dès qu’il me l’a renvoyé une fois?
Merci
Obtenir un prix12345678910111213141516171819NbreDeBarres = IntradayBarIndexPriceBarIndex = 0Pricevalue=0once p=open[0]n=0.05FOR i = NbreDeBarres downto 0 DOIF close[i] > p*(1+(n/100)) THENPriceValue = close[i]PriceBarIndex = ip=open[i]breakENDIFNextreturn PriceBarIndex, Pricevalue04/10/2018 at 1:23 PM #67900Simplement en ajoutant une condition pour que la recherche ne se fasse que si PriceValue=0
123456789101112131415161718192021NbreDeBarres = IntradayBarIndexonce PriceBarIndex = 0once Pricevalue=0if PriceValue = 0 thenonce p=open[0]n=0.05FOR i = NbreDeBarres downto 0 DOIF close[i] > p*(1+(n/100)) THENPriceValue = close[i]PriceBarIndex = ip=open[i]breakENDIFNextendifreturn PriceBarIndex, Pricevalue04/10/2018 at 2:48 PM #6791904/10/2018 at 3:29 PM #6792004/10/2018 at 3:44 PM #6792104/10/2018 at 4:38 PM #6793104/10/2018 at 4:40 PM #67932Merci de repréciser la demande, ça n’est pas très clair en effet. Le fait est que puisque le code est lu depuis le début de l’historique, alors l’indicateur ne fonctionnera qu’une seule fois au début de celui-ci, est-ce bien là le problème ?
04/10/2018 at 4:57 PM #67937il y a un nombre de barres (intradaybarindex) dans la journée. Il commence à 0 (ouverture de la cotation) et fini à plus de 400 (clôture de la cotation) par exemple. Je demande à mon code de prendre donc le prix d’ouverture et de me renvoyer ce prix * 0,05% dès qu’il est atteint( et en même temps le nombre de intradaybarindex pour ce même prix quand il est atteint. C’est ce que fait mon code mais il travaille en boucle et j’aimerai qu’il s’arrête dès que cette conditions est vérifiée. C’est pourquoi, ton retour est juste pour le prix mais le nombre de intradaybarindex pour ce même prix est toujours égal à 0.
J’ai modifié mon code en tenant compte de ta remarque, sauf que dans celui-ci, il me renvoie count qui ne se remet pas à 0 lorsque l’on passe à un autre jour.
prix et nbr de bar12345678910111213141516171819202122NbreBarindex = IntradayBarIndexonce Count=0once PriceBarIndex = 0once Pricevalue=0p=open[0]n=0.1For i=NbreBarindex downto 0 doIF close[i] < p*(1+(n/100)) THENCount=Count+1elsePriceValue = close[i]PriceBarIndex = countENDIFbreaknextreturn PriceValue, PriceBarIndex04/10/2018 at 5:20 PM #67940En fait, il y a deux mois, je t’avais demandé si il était possible d’avoir un prix à un horaire donnée, pouvait on le coder (je ne connaissais pas encore PRT). Aujourd’hui, mon objectif est toujours le même mais en utilisant Intradaybarindex. Si on veut par exemple un prix à 15 (même calculer par rapport à l’ouverture) alors qu’on ouvert à 10, alors il y a un nombre de barres entre ces deux prix (on était à 0 barre lorsque le prix était à 10 à l’ouverture et on est >0 barre à 15). J’essaie de déterminer ce nombre lorsque ce prix est atteint. Et enfin, je veux que mon code me renvoie ce prix et ce nombre de barre et s’arrête.
04/17/2018 at 10:50 PM #68634Il semblerait que la réponse à ma question soit dans cette file, si un bon génie pouvait m’aider, merci.
>>
Bonjour,
Comment récupérer la valeur du cours d’ouverture à une heure précise, sur un indice cotant en continu.
Et comment tracer un niveau à cette valeur sur la journée, même question sur la semaine et le mois, sans que la ligne ne dépasse l’UT considérée.
Et comment trouver la valeur max et la valeur mini durant la journée à partir de l’heure d’open que j’aurais choisi.
Exemple : J’ai besoin de la valeur d’ouverture à 8h pour mon indicateur et je souhaite tracer ce niveau sur mon graphe sur la durée de la journée.
Et tracer l’ouverture Hebdo sur la durée de la semaine, mais que le tracé ne se prolonge pas au delà de la semaine considérée.
Merci
04/26/2018 at 12:21 PM #69214Bonjour Nicolas,
Une petite question qui est lié au mode Probacktest Tick par Tick.
Mon algorithme de trading semble donner de très bon résultat en Probacktest et en Walk Forward, son taux de réussite est supérieur à 100% sur les périodes (5 au total). Mais en mode Tick par Tick, le Probacktest me renvoie un résultat négatif.
Penses tu que mon code fonctionnera en intraday malgré tout ou dois je le modifier ( c’est là la difficulté) pour que le Probacktest Tick par Tick soit positif?
Merci d’avance.
08/10/2018 at 6:39 PM #77984Bonsoir Nicolas,
Suite à mes précédents postes, j’ai surtout cherché des indicateurs pour le plus haut et le plus bas. Cependant, j’ai un but simple que je souhaite coder et qui est le suivant: acheter/vendre à un prix “borné” suivant l’orientation du prix (en hausse/en baisse) et vendre/racheter à un prix “borné”.
Tu trouveras mon code ci-dessous qui illustre ce que je souhaite faire:
Ma stratégie1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859DEFPARAM CumulateOrders=trueonce Pex=open[0]once i=1Pa=Pex*(1+0.0002)Pv=Pex*(1-0.0002)P=close[i]q=200000/close[0]if Pex<P thenif P<=Pa theni=i+1P=close[i]endifif not longonmarket thenbuy q lot at marketendifPex=tradepricePaa=Pex*(1+0.003)if P<=Paa theni=i+1P=close[i]endifif longonmarket thensell at marketendifelsif Pex>P thenif P>=Pv theni=i+1P=close[i]endifif not shortonmarket thensellshort q lot at marketendifPex=tradepricePvv=Pex*(1-0.003)if P>=Pvv theni=i+1P=close[i]endifif shortonmarket thenexitshort at marketendifendifPeux tu m’aider et même m’orienter (me corriger)?
Merci et bon week end.
-
AuthorPosts
Find exclusive trading pro-tools on