Erreurs, bugs, questions - page 1657

 
Karputov Vladimir:

Si vous souhaitez recevoir des tâches depuis le nuage, n'oubliez pas que

  • le chemin est complètement fermé pour vous si vous avez Windows x32
  • la voie est fermée pour vous si vous avez moins de 1 Gb de RAM par agent.
  • si vous avez un processeur inférieur à Intel i7 - vous obtiendrez très peu d'emplois.

Est-ce qu'il y a de l'argent à gagner là-bas, sauf pour les brasseries ? )) Sauf, bien sûr, si vous possédez une ferme.
 
Karputov Vladimir:

Si vous souhaitez recevoir des tâches depuis le nuage, gardez à l'esprit que

  • le chemin est complètement fermé pour vous si vous avez Windows x32
  • la voie est fermée pour vous si vous avez moins de 1 Gb de RAM par agent.
  • si vous avez un processeur inférieur à Intel i7, vous obtiendrez très peu d'emplois.

Êtes-vous sûr d'avoir 1 gigaoctet de RAM ? Ce n'est pas 2GB ? Et encore une fois : y a-t-il des chiffres clairs écrits quelque part dans la description ou la documentation ?
 
Igor Karushev:
Êtes-vous sûr d'avoir 1 gigaoctet de RAM ? Ce n'est pas 2 Go ? Et je le répète : y a-t-il un chiffre clair écrit quelque part dans la description ou la documentation ?

Ne vous méprenez pas : le texte original est le mien :"si la RAM est inférieure à 1 Go par agent".

Ajouté :

Et vous pouvez chercher des réponses dans la rubriqueNous lançons le service MQL5 Cloud Network !

 
Alexey Volchanskiy:
Y a-t-il de l'argent à gagner là-bas, à part la bière ? )) Sauf, bien sûr, si vous possédez une ferme.
Je ne possède pas d'i7 - j'ai donc désactivé le cloud il y a longtemps. J'utilise des agents exclusivement sur mon réseau domestique.
 
Slawa:

La fonction système Point() est en fait inlined et convertie en un simple accès à la variable _Point

Et les fonctions de paramétrage de la commande (OrderType(), OrderTicket(), etc.) sont inlined après que la commande ait été sélectionnée ? Si nous adressons de manière répétée, par exemple, le type de commande sélectionné, est-il judicieux de stocker le résultat de OrderType() dans une variable, et d'utiliser ensuite cette variable dans notre code ? Ou cela ne fera pas de différence par rapport à des appels répétés de la fonction ?

En d'autres termes, y a-t-il une différence dans la vitesse d'exécution, par exemple, de ces codes ?

if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP)
{
   
}

и

int nType = OrderType();

if(nType == OP_BUYLIMIT || nType == OP_BUYSTOP || nType == OP_SELLLIMIT || nType == OP_SELLSTOP)
{
   
}
 
Je l'ai testé moi-même. Le second code s'exécute quatre fois plus vite. C'est clair, la question n'est plus sur la table.
 
Sergei Vladimirov:
Je l'ai testé moi-même. Le second code s'exécute quatre fois plus vite. C'est tout, la question n'est plus sur la table.
Quatre fois plus rapide. Pouvez-vous fournir des chiffres ? Pas 4 µs, mais 1 µs ?)
 

Pas micro. Nano. )

"a = OrderType()" - 3.45 ns.

"a = nType" - 2.19 ns.

 
Sergei Vladimirov:

Les fonctions de paramétrage des commandes (OrderType(), OrderTicket(), etc.) sont-elles inlined après la sélection de la commande ? Si nous adressons de manière répétée, par exemple, le type de commande sélectionné, est-il judicieux de stocker le résultat de OrderType() dans une variable, et d'utiliser cette variable plus tard dans le code ? Ou cela ne fera aucune différence par rapport à des appels répétés de la fonction ?

En d'autres termes, y a-t-il une différence dans la vitesse d'exécution, par exemple, de ces codes ?

и

Sergei Vladimirov:
Je l'ai vérifié moi-même. Le second code est exécuté 4 fois plus vite. Tout est clair, votre question a été répondue.

Quelle que soit la question, tout appel de fonction est toujours plus lent que la référence à une variable sur la pile, dans ce cas nType.

Personnellement, je mets toujours en cache les appels de fonctions MQL comme le vôtre dans le deuxième cas.

 
Alexey Volchanskiy:

Quelle que soit la question, l'appel d'une fonction est toujours plus lent que l'accès à une variable sur la pile, dans ce cas nType.

Indépendamment de cette évidence, la question portait sur les fonctions en ligne. Par exemple, OrderType() n'est-il pas remplacé au moment de la compilation par quelque chose comme order.type.

Personnellement, je mets toujours en cache cesappels de fonctions MQL, comme dans votre deuxième cas.

Comme les mesures l'ont montré, c'est inutile.