Erreurs, bugs, questions - page 2235

 
Igor Makanu:

J'ai peut-être posé cette question il y a quelques années, j'ai écrit des ticks dans un script while(true), les ticks étaient écrits en changeant les données dans "market overview", il y avait souvent des ticks comme 1.3555000001, ou 1.3555999999.

Votre cas est une particularité de la conversion double -> chaîne. J'ai une situation légèrement différente.

 
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.
 
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.

Que voulez-vous que ce soit ?

 
Alexey Kozitsyn:

Tu veux que ce soit comme ça ?

Dans le cas d'un gros journal, émettez d'abord un avertissement à ce sujet et demandez si vous voulez continuer ou non.

 
fxsaber:

Dans le cas d'une grosse bûche, donner d'abord un avertissement à ce sujet et demander si vous voulez continuer ou non.

Voyez comme il est devenu immédiatement constructif :)

 
Alexey Viktorov:

Votre erreur est qu'après avoir écrit dans un fichier, les données n'arrivent sur le disque qu'après FileClose OU après une réinitialisation forcée des données sur le disque par FileFlush.

Sinon, comment lire un fichier qui n'existe pas ???

Vous me confondez avec quelqu'un d'autre. Que ce soit avec ou sans FileFlush, l'erreur est la même. Le véritable Expert Advisor, où tout a commencé, possède initialement à la fois FileFlush et le fichier lui-même.

L'indicateur FILE_SHARE_WRITE dans une telle combinaison semble fonctionner, mais une autre question se pose : quel est l'intérêt d'une telle entrée ? Logiquement, si vous activez la séparation en écriture, vous devez l'ajouter exactement au drapeau d'écriture :

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

C'est exactement ce que j'ai essayé, et ça donne aussi une erreur.

 
En général, je ne comprends pas pourquoi je dois vérifier l'écriture d'un fichier, alors que seule la séparation de la lecture est requise ?
 
Messieurs, quelqu'un peut-il m'aider à répondre à cette question?
 

L'infobulle deMqlTradeCheckResult ne s'affiche pas dans ME.

#define  TOSTRING(A)  #A + " = " + (string)(A) + "\n"
#define  TOSTRING2(A) #A + " = " + EnumToString(A) + " (" + (string)(A) + ")\n"

string ToString( const MqlTradeRequest &Request )
{
  return(TOSTRING2(Request.action) + TOSTRING(Request.magic) + TOSTRING(Request.order) +
         TOSTRING(Request.symbol) + TOSTRING(Request.volume) + TOSTRING(Request.price) +
         TOSTRING(Request.stoplimit) + TOSTRING(Request.sl) +  TOSTRING(Request.tp) +
         TOSTRING(Request.deviation) + TOSTRING2(Request.type) + TOSTRING2(Request.type_filling) +
         TOSTRING2(Request.type_time) + TOSTRING(Request.expiration) + TOSTRING(Request.comment) +
         TOSTRING(Request.position) + TOSTRING(Request.position_by));
}

string ToString( const MqlTradeResult &Result )
{
  return(TOSTRING(Result.retcode) + TOSTRING(Result.deal) + TOSTRING(Result.order) +
         TOSTRING(Result.volume) + TOSTRING(Result.price) + TOSTRING(Result.bid) +
         TOSTRING(Result.ask) + TOSTRING(Result.comment) + TOSTRING(Result.request_id) +
         TOSTRING(Result.retcode_external));
}

string ToString( const MqlTrade
 
Bonjour, j'ai acheté un EA "turtle" pour MT5 chez vous, mais il ne montre que des signaux et ne négocie pas lui-même, peut-être ai-je fait quelque chose de mal, bien que je n'aie rien changé dans les paramètres et que la case à cocher"autoriser la négociation automatique" soit activée. Pourquoi le trading automatique ne fonctionne-t-il pas ?