Erreurs, bugs, questions - page 2236

 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

La plateforme de trading MetaTrader 5 est mise à la disposition des clients d'AMP Futures.

fxsaber, 2018.07.23 21:03

En raison de la taille des tick, il n'est pas possible d'ouvrir une position sur certains symboles.

La capture d'écran montre que l'écart et les prix ne sont pas des multiples de TickSize.


Cela entraîne un problème du côté du terminal (OrderCheck) (y compris en mode manuel). Ajustez le comportement de OrderCheck pour de tels cas !

 
fxsaber:
Le journal de l'EA est de 15 Go. Si vous essayez de le visualiser dans le terminal, il se bloque pendant plus d'une minute.

Lorsqu'il travaille avec des fichiers, le terminal utilise des fonctions WinAPI qui, dans le cadre de son architecture, lisent l'intégralité du fichier sur le disque.
Si vous devez travailler avec une partie du fichier, utilisez WinAPI pour mapper le fichier en mémoire.

 
Stanislav Korotky:
En général, on ne comprend pas bien pourquoi je dois rechercher un fichier en écriture, alors que seule la séparation en lecture est requise ?

Vous voulez un chèque ou un disque ?

 
Alexey Viktorov:

Vous voulez vérifier ou conduire ?

Je dois pouvoir conduire directement - sans avoir à analyser les nuances non évidentes.

Une autre question se pose maintenant : si les développeurs corrigent ce bogue conformément à la sémantique du fonctionnement des drapeaux du même nom dans WinApi, la "béquille" actuelle ne fonctionnera plus.

 
Stanislav Korotky:

Je dois pouvoir conduire directement - sans avoir à analyser les nuances non évidentes.

Maintenant, une autre question se pose : si les développeurs corrigent ce bogue conformément à la sémantique du fonctionnement des drapeaux du même nom dans WinApi, la "béquille" actuelle cessera de fonctionner.

Si c'est le cas, votre code ne fonctionnera pas du tout à cause du drapeau 0 à bool writing = false ;


FILE_READ|FILE_BIN|FILE_SHARE_READ|(writing?(FILE_WRITE|FILE_SHARE_WRITE):0)
 
Alexey Viktorov:

S'il est corrigé, votre code ne fonctionnera pas du tout à cause du drapeau 0 lorsque bool writing = false ;

Pourquoi ? )

 
Sergey Dzyublik:

Lorsqu'il travaille avec des fichiers, le terminal utilise les fonctions WinAPI qui, dans le cadre de son architecture, lisent l'intégralité du fichier sur le disque.
Si vous devez travailler avec une partie du fichier, utilisez WinAPI pour mapper le fichier en mémoire.

Il est nécessaire que le terminal ne se fige pas pendant le travail.

 
Alexey Viktorov:

S'il est corrigé, votre code ne fonctionnera pas du tout à cause du flag 0 avec bool writing = false ;

Vous êtes en feu. ;-)

 
fxsaber:

J'ai écrit un script de test pour ce cas. J'ai attrapé NoPrice 64 secondes après l'arrivée du dernier tick. Peut-être qu'un délai d'une minute vaut effectivement la peine. Je vais devoir vérifier...

Certains personnages ont un délai d'attente, d'autres non. Comment puis-je connaître l'âge maximum du tick que OrderSend peut encore capter (pas de [No price]) ?

 
fxsaber:

Certains caractères ont un délai d'attente et d'autres non. Comment puis-je connaître l'âge maximum du tick qui peut encore être perçu par OrderSend (pas de [No price]) ?

Je ne sais pas.

Raison: