Questions "pour" du conducteur de vélo - page 12

 
WhooDoo22:

Simon,

C'est parti... BAM !

Encore mieux ! Hahaha ;)

Merci.

Réfléchissez avant de coder. ... combien d'ordres avez-vous dans le pool historique ? comment savez-vous que c 'est le bon ?
 
WhooDoo22:


Pourquoi l'heure de clôture de l'ordre est-elle représentée sous une telle forme (1357306061) ?

La fonction Print() fonctionne-t-elle parce que la fonction OrderSelect() (à l'intérieur des accolades) doit sélectionner l'ordre clôturé et NON un ordre ouvert ? Cela doit être fait à l'intérieur des accolades, n'est-ce pas ? ;) C'est délicat, délicat.

Comment pouvez-vous poser une telle question ? que retourne OrderCloseTime() ? de la Documentation . . ."datetime OrderCloseTime( )" qu'est-ce qu'un dateetime ? de la Documentation . . . "La valeur représente le nombre de secondes écoulées depuis 00:00 Jan 1, 1970."

Il est temps pour vous de commencer à lire la documentation ....

 
WhooDoo22:

Simon,

Corrigé, donc cela fonctionne comme prévu.

Lignes 2 et 3.

Votre correction est une amélioration. . .

Si "Lignes 2 et 3" est votre réponse à ma question, vous devez revoir votre réponse car elle est erronée... Si vous pensez qu'elle est correcte, expliquez pourquoi elle l'est.

 

Simon,


Réfléchis avant de coder. ... combien d'ordres avez-vous dans le pool historique ? comment savez-vous que c 'est le bon ?


Je pourrais vous poser la même question Simon ;)

Comment savez-vous que la variable 'ClosedTicketNumber' (OrderTicket() ;) sélectionnera le bon ticket (je m'attends à ce que votre réponse soit similaire à la mienne) ?


Je sais que

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)

sélectionnera le bon ticket ET ;) la-

Print(OrderCloseTime());

imprimera le bon ticket de commande parce que le cycle 'while' a trouvé le bon ticket pour commencer avant que le programme n'arrive à cette section entre accolades.


Je vous remercie.

 

Simon,

Votre solution est une amélioration. . .

Savourant ce moment très rare où "Simon dit" - "Il pourrait peut-être y avoir un très mince, luisant rayon d'espoir pour votre avenir de codage." Hahaha ;)


Si "Lignes 2 et 3" est votre réponse à ma question, alors vous devez regarder à nouveau parce qu'elle est fausse... si vous pensez qu'elle est correcte, veuillez expliquer pourquoi elle est correcte.

Aah, oui, oui. J'y travaille. ;)


Merci.

 
WhooDoo22:


Je pourrais vous poser la même question Simon ;)

Comment savez-vous que la variable 'ClosedTicketNumber' (OrderTicket() ;) sélectionnera le bon ticket (je m'attends à ce que votre réponse soit similaire à la mienne) ?


Je sais que

sélectionnera le bon ticket ET ;) le-

imprimera le bon ticket de commande parce que le cycle 'while' a trouvé le bon ticket pour commencer avant que le programme n'arrive à cette section entre accolades.

Votre variablei est un index dans le pool d'ordres.... PAS dans le pool d'historique... Si vous avez 100 ordres fermés dans le pool d'historique et que votre valeur dei est 5, alors vous regardez une transaction fermée 95 transactions en arrière dans le temps...

Mon code fonctionne parce que... Vous devriez savoir pourquoi il fonctionne parce que vous devriez l'avoir lu et compris ce qu'il fait et pourquoi il fonctionne... mais ce n'est pas le cas, vous devez donc demander "pourquoi" et c'est pourquoi vous n'apprenez rien.

Mon code fonctionne parce qu'avant que la commande ne soit fermée... son numéro de ticket (les numéros de tickets sont uniques quel que soit le pool ! !) est stocké dans une variable,ClosedTicketNum... La commande est ensuite fermée et déplacée dans le pool d'historique, puis la variableClosedTicketNum est utilisée pour sélectionner la bonne commande et enfin OrderCloseTime() regarde maintenant la bonne commande... et non une commande inconnue dans le pool d'historique basée sur un numéro d'index du pool de commandes...
 
WhooDoo22:


Je sais que-

sélectionnera le bon ticket ET ;) le-

imprimera le bon ticket de commande parce que le cycle 'while'a trouvé le bon ticket pour commencer avant que le programme n'arrive à cette section entre accolades.

Votre boucle while n'a pas trouvé de ticket . . elle a peut-être trouvé l'index de l'ordre USDJPY dans le pool d'ordres. . . un index de pool != un numéro de ticket n'avons-nous pas déjà parlé de cela ? donc vous avez un index pour le pool d'ordres . . . pourquoi voulez-vous que l'ordre USDJPY clôturé se retrouve à la même position dans un pool complètement différent, le pool d'historique ?
 

Simon,

"Votre variablei est un index dans le pool de commandes.... PAS dans le pool d'historique..."

La documentation de OrderSelect() n'indique pas le nombre limite d'ordres qui peuvent être conservés dans le pool d'historique (vous avez écrit quelque chose du genre cent ordres). La documentation d'OrderSelect() ne le précise pas, d'après ce que j'ai lu.

J'aurais pu éventuellement attribuer des zéros à toutes les commandes du pool historique une fois que cent commandes avaient été remplies par des valeurs autres que celles par défaut. Cependant, je pense que dans ce cas, votre façon d'enregistrer le numéro du ticket de commande dans une variable me semble tout à fait correcte. J'ai supposé que les valeurs se réinitialisaient automatiquement une fois que l'historique des commandes atteignait sa limite d'une limite apparente de cent.


Merci.

 
WhooDoo22:

Simon,

"Votre variablei est un index dans le pool de commandes.... PAS dans le pool d'historique..."

La documentation de la fonction OrderSelect() n'indique pas le nombre limite d'ordres pouvant être conservés dans l'historique (vous avez écrit quelque chose comme une centaine d'ordres). La documentation de OrderSelect() ne le précise pas, pour autant que je sache.

J'aurais pu éventuellement attribuer des zéros à toutes les commandes du pool historique une fois que cent commandes avaient été remplies par des valeurs autres que celles par défaut. Cependant, je pense que dans ce cas, votre façon d'enregistrer le numéro du ticket de commande dans une variable me semble tout à fait correcte. J'ai supposé que les valeurs se réinitialisaient automatiquement une fois que l'historique des commandes atteignait sa limite d'une limite apparente de cent.

Relisez... vous avez mal compris ce que j'ai écrit... vous pouvez avoir 10 ordres fermés dans le pool historique, ou 20 ou 15... quel que soit le nombre que vous avez... 10,000 , 1,000 , 121 ... si vous avez n'importe quel nombre sauf un nombre particulier, votre code ne fonctionnera pas. Quel est ce nombre particulier ? il doit être la valeur de i
 
WhooDoo22:


J'aurais pu éventuellement attribuer des zéros à tous les ordres du pool historique une fois que cent ordres avaient été remplis par des valeurs autres que celles par défaut.

Comment ?