Erreurs, bugs, questions - page 660

 
tol64:

Demandez l'historique des trois dernières transactions :

Et nous voyons que l'histoire ne correspond pas. C'est-à-dire que nous pouvons le voir dans le terminal, mais nous ne pouvons pas l'obtenir de manière programmatique.

//---

S'agit-il d'un bug ou cela a-t-il été conçu de telle sorte que ces transactions ne peuvent être obtenues par programmation qu'à l'ouverture du marché ?

P.S. J'ai aussi essayé de cette façon, cela n'aide pas :

Au lieu deTimeCurrent(), utilisez TimeTradeServer() lors de la sélection de l'historique.
Документация по MQL5: Дата и время / TimeTradeServer
Документация по MQL5: Дата и время / TimeTradeServer
  • www.mql5.com
Дата и время / TimeTradeServer - Документация по MQL5
 
Valmars:
Utilisez TimeTradeServer() au lieu deTimeCurrent() lors de la sélection de l'historique.
Merci Valery. Oui, en effet, dans certains cas, TimeLocal() peut donner un résultat erroné selon le fuseau horaire dans lequel on se trouve. C'est pourquoi TimeTradeServer() est la variante la plus précise pour demander l'historique des transactions.
 
tol64:. Par conséquent, TimeTradeServer() est l'option la plus précise pour demander l'historique des transactions.
Il suffit de synchroniser l'ordinateur à temps, sinon nous risquons aussi de perdre des transactions.
 
Valmars:
Il suffit de synchroniser l'ordinateur à temps, sinon nous risquons aussi de perdre des transactions.

Vous voulez dire ça ? :

Je n'ai pas encore compris, pour être honnête, dans quel autre cas on peut obtenir non pas toute l'histoire des métiers...

 

Pouvez-vous me dire ce que signifie ce message dans le journal de bord ?

Cela ne s'est produit qu'une fois et n'a pas pu être reproduit.

 

J'ai deux questions à la fois.

La dernière version x32 est installée. Ça fait presque deux semaines que ça dure. Les problèmes ont commencé hier ou avant-hier. C'est-à-dire que la même construction ne fonctionnait pas mal avant ça, mais ça a commencé soudainement, n'est-ce pas ? L'indicateur n'a pas été modifié depuis longtemps non plus. Il s'avère que ce n'est pas non plus le problème. Alors qu'est-ce que c'est ? Lorsque l'on passe d'une période à l'autre, dans certains cas arbitraires, l'indicateur apparaît incorrect dans certaines périodes, le graphique glisse littéralement vers le bas. Lorsque je quitte et reviens à cet intervalle de temps, rien n'est corrigé, les calculs erronés sont fixés depuis la dernière fois, comme s'ils étaient stockés quelque part dans le cache. Parfois, le redémarrage du terminal aide, mais parfois je dois nettoyer manuellement le dossier de cache avec un fichier .hc malade de la période correspondante. Ce n'est jamais arrivé avant. (Au fait, pour être sûr, j'ai vérifié que mon disque ne contenait pas d'erreurs et je l'ai défragmenté : seulement une légère accélération des performances du système, mais l'indicateur n'effectue pas les mêmes calculs qu'avant).

1. Quel peut être le problème si la construction et le même indicateur fonctionnaient bien auparavant ? N'est-il pas temps de jeter l'ordinateur à la casse ? Peut-être que la RAM s'est "asséchée" et qu'elle respire une grande faveur ?

2. Pourquoi, en l'absence d'un nouvel historique (c'est-à-dire des ticks le week-end), lorsque je passe à des échéances non standard, auxquelles j'ai déjà accédé précédemment et pour lesquelles j'ai déjà créé les fichiers .hc appropriés, le même délai"Waiting for update" se reproduit-il comme avant ? Même sans aucun indicateur, sur un tout nouveau graphique !

 
x100intraday:

J'ai deux questions à la fois.

La dernière version x32 est installée. Ça fait presque deux semaines que ça dure. Les problèmes ont commencé hier ou avant-hier. C'est-à-dire que la même construction ne présentait pas de dysfonctionnement auparavant, mais tout à coup, ça a commencé ?

J'ai une similitude avec vous, dans mon problème, en ce qu'avant, depuis la mise à jour du terminal, l'erreur(violation d'accès en lecture à 0x... ) ne se produisait pas et a commencé à se montrer seulement maintenant. En fin de semaine. ))
 
tol64:
J'ai une similitude avec vous dans mon problème, en ce sens que l'erreur(Access violation read to 0x... ) ne s'est pas produite auparavant, depuis que le terminal a été mis à jour, et n'a commencé à se manifester que maintenant. En fin de semaine. ))
Ça doit être le complot de Mason. C'est eux qui contrôlent secrètement le Forex...
 
x100intraday:
Ce doit être les machinations des francs-maçons. Ce sont eux qui contrôlent secrètement le Forex...
Je ne sais pas. )) Quelqu'un contrôle quelque chose partout. Tout est contrôlé et tout est contrôlable. Tout ce qui ne peut être contrôlé par l'un, peut être contrôlé par un autre. C'est naturel et donc normal. Mais ce n'est généralement pas ce dont nous parlons ici. )))
 
MetaQuotes:

La demande et les commentaires sont en place, mais pour une raison quelconque, ils ne sont pas visibles dans le profil.

On va s'assurer de trouver une solution.

(gloussements) Ok. Eh bien, ça semble être le cas maintenant. :)

Il y a un nombre négatif là où il ne devrait pas y en avoir. Voici un script qui reproduit le problème.

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(FOrdType(-1));
  }
//---
string FOrdType(uint type)
  {
   string str="";
//---
   switch(type)
     {
      case ORDER_TYPE_BUY            : str="buy";             break;
      case ORDER_TYPE_SELL           : str="sell";            break;
      case ORDER_TYPE_BUY_LIMIT      : str="buy_limit";       break;
      case ORDER_TYPE_SELL_LIMIT     : str="sell_limit";      break;
      case ORDER_TYPE_BUY_STOP       : str="buy_stop";        break;
      case ORDER_TYPE_SELL_STOP      : str="sell_stop";       break;
      case ORDER_TYPE_BUY_STOP_LIMIT : str="buy_stop_limit";  break;
      case ORDER_TYPE_SELL_STOP_LIMIT: str="sell_stop_limit"; break;
      //---
      default: str="unknown_order_type: "+string(type); break;
     }
//---
   return(str);
  }

Si vous passez un nombre négatif à une fonction qui accepte un entier non signé, voilà :

Je pense que de telles choses devraient être gérées au moment de la compilation.