Erreurs, bugs, questions - page 980

 
voix_kas:
Pourriez-vous m'expliquer la différence ? Question sincère, pas de trolling.

Essayez vous-même, c'est la meilleure façon d'apprendre.

Cependant, si vous ajoutez à la première question la condition que le drapeau est initialement vrai et que l'utilisation prévue du code est de "déclencher une seule fois et de sauter l'affectation un million de fois", le conseil serait différent. Mais la question initiale ne contenait pas de telles précisions.

 

Pour certains instruments, la manière de calculer la valeur de garantie de l'instrument n'est pas définie. Serveur MQ. Par exemple, on peut voir sur les instruments sous GBOT. Pourquoi ?

Ce code peut être testé :

//+------------------------------------------------------------------+
//| СКРИПТ                                                           |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(GetStringTradeCalcMode(SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE)));
   //---
   if(GetLastError()>0)
     Print("GetLastError(): ",GetLastError());
  }
//+------------------------------------------------------------------+
//| Возвращает строку о способе вычисления                           |
//| величины залоговых средств по инструменту                        |
//+------------------------------------------------------------------+
string GetStringTradeCalcMode(long mode)
  {
   string str="?";
//---
   switch((int)mode)
     {
      case SYMBOL_CALC_MODE_FOREX       :
         str="Forex mode";                 break;
      case SYMBOL_CALC_MODE_FUTURES     :
         str="Futures mode";               break;
      case SYMBOL_CALC_MODE_CFD         :
         str="CFD mode";                   break;
      case SYMBOL_CALC_MODE_CFDINDEX    :
         str="CFD index mode";             break;
      case SYMBOL_CALC_MODE_CFDLEVERAGE :
         str="CFD Leverage mode";          break;
     }
//---
   return(str);
  }
 

Question à MQ. Le tri est garanti Transactions/Ordres. dans l'ordre de leur origine historique Après avoir exécuté HistorySelect?

Ou est-ce que la garantie de l'ordre chronologique exige :

1. Placez toutes les transactions/ordres sélectionnés par la fonctionHistorySelect dans un tableau temporaire, y compris le numéro d'ordre/de transaction et la date d'enregistrement. Le nombre est-il suffisant ?

2. Tri approprié du tableau.

3. Traitement ultérieur par ordre chronologique historique.

 

Bonjour.

Savez-vous s'il est possible de retourner une référence à une variable dans MQL5 ?

C'est-à-dire, quelque chose comme ça :

class Array{

int data[];

Array(int n){

        ArrayResize(data,n);

        ArrayInitialize(data,0); 

} 

int& operator[](const int index){

        return data[index];

} 

} ;
В данном случае компилятор сообщает, что ссылка не может быть использована.
 
voix_kas:

Question à MQ. Le tri est garanti Des transactions/ordres dans l'ordre de leur origine historique Après avoir effectué HistorySelect?

Ou est-ce que la garantie de l'ordre chronologique exige :

1. Placez toutes les transactions/ordres sélectionnés par la fonctionHistorySelect dans un tableau temporaire, y compris le numéro d'ordre/de transaction et la date d'enregistrement. Le nombre est-il suffisant ?

2. Tri approprié du tableau.

3. Traitement ultérieur par ordre chronologique historique.

Aucun tri des transactions/ordres n'est garanti.

Faites tout selon les points que vous avez mentionnés

 
stringo:

Aucun tri des transactions/ordres n'est garanti.

Faites tout selon les points que vous avez spécifiés

Merci. J'aimerais également comprendre une nuance de clarification. Probablement, cela peut sembler évident pour certaines personnes, mais là encore, ce n'est pas explicitement mentionné dans la documentation, donc j'aimerais entendre la réponse de la source (représentant MQ).

Quelle variable (unique) est plus fiable à utiliser pour trier l'historique des transactions dans l'ordre de l'historique :DEAL_TIME/DEAL_TIME_MSCou un ticket ?

Jusqu'à présent, je penche pour un tri par ticket, car je suppose que le numéro du ticket est auto-incrémenté dans la base de données du serveur. Et il n'y a aucune possibilité de rompre cette séquence, par exemple,si le courtier souhaite faire des changements dans l'historique, en ajoutant une nouvelle transaction avec une valeur de ticket, inférieure à la dernière transaction sur le serveur (même pas sur le compte). Par exemple, une nouvelle transaction peut être datée (manuellement) même de l'année dernière, mais le ticket sera formé avec la valeur de l'auto-incrément de la dernière transaction sur le serveur.

Veuillez me dire si mes hypothèses sont correctes. Est-il possible d'utiliser le ticket de l'échange comme le plus fiable comme point de référence pour construire une véritable chronologie historique de l'entretien / de l'enregistrement des transactions ?

 

voix_kas:

Un ticket de transaction peut-il être utilisé comme le plus fiable point de référence pour construire une véritable chronologie historique du déroulement/enregistrement des transactions ?

non.
 
sergeev:
Non.

Pouvez-vous révéler votre réponse ? Raisons, alternatives, votre expérience personnelle/opinion.

P.S.

Néanmoins, j'aimerais beaucoup entendre la réponse détaillée du développeur (MQ).

 
voix_kas:

Pouvez-vous révéler votre réponse ? Raisons, alternatives, votre expérience personnelle/opinion.

Ne comprenez-vous pas que si vous voulez un calendrier, vous avez besoin de temps ?

qu'est-ce qu'un calendrier a à voir avec un billet, dont le calendrier peut changer.

 

Je ne comprends pas vraiment le mécanisme du testeur : je programme en C++ sans aucun problème, mais les problèmes de "sandbox" dans mql5 sont ennuyeux. lorsque la dll est appelée dans le terminal, le testeur ne la charge pas !

2013.05.01 15:38:09 2013.01.01 00:00 Impossible de charger 'D:\MetaTrader 5\Tester\Agent-127.0.0.1-3001\MQL5\Libraries\NeuroSolutionsAdapter.dll'.

Pourquoi ?

Le terminal est en D.

Je l'ai glissé dans la bibliothèque du testeur, et dans la bibliothèque du terminal.

Qu'est-ce qu'il y a ?

Raison: