Erreurs, bugs, questions - page 56

 

J'ai Buf[0], Buf[1], et la fonction

Traiter la position initiale et le nombre d'éléments requis

intCopyBuffer(
intindicator_handle,// poignée d'indicateur
intbuffer_num,// numéro de tampon de l'indicateur
intstart_pos,//où nous commençons
intcount,// combien nous en copions
doublebuffer[]// tableau, où les données seront copiées sur
) ;

CopyBuffer(M_Handl[In][AO_D],0,0,2,Buf);  // я копирую 0-й и 1-й бар по идее

Mais Buf ne contient pas la 0ème mesure, il n'a que la 1ère mesure et la 2ème mesure. Soit il y a des ticks, soit il n'y en a pas, mais la valeur finale de l'indicateur sur la 0ème barre devrait être là, alors que sa valeur n'est même pas proche de la valeur dans Buf[1], mais elle est presque identique à la valeur de l'indicateur sur la barre 1.

 

Модератор
216

stringo 2010.07.19 15:59 2010.07.19 15:59:06

Mot clé OnTimer.

Ok, je vais y réfléchir !
 
void OnDeinit(const int reason)
  {
//--   
   int LeftBar = ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR);
   Print(LeftBar);  
  }

Si la raison est un changement de timeframe, LeftBar=0 ;

Si la raison est la recompilation, alors c'est ok.

Est-ce que ça doit être comme ça ?

 

Dites-moi s'il vous plaît.

Le terminal doit-il conserver sa fonctionnalité pour toute erreur de code de programme commise par le commerçant ?

Par exemple, la division par zéro, l'accès à des données de tableau inexistantes, etc.

Fonction

bool  IndicatorRelease(
   int       indicator_handle,     // handle индикатора
   );

Supprime un handle d'indicateur et libère la partie calcul de l'indicateur, si elle n'est plus utilisée.

Dans l'exemple ci-dessus, il est utilisé dans le corps void OnTick().

J'ai décidé de l'expérimenter dans void OnDeinit.

Dans l'aide, je n'ai pas trouvé d'information pour l'utiliser, bien que probablement à la désinitialisation les handles sont automatiquement libérés et il n'y a pas besoin de l'utiliser à ce moment là. Mais je ne comprends toujours pas ce qu'est une poignée.

Donc. Le terminal se bloque lorsqu'on supprime le conseiller expert du graphique.

Je joins les codes.

Si vous en avez besoin et que c'est un bogue, je peux le faire via servicedesk.

Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
Доступ к таймсериям и индикаторам / IndicatorRelease - Документация по MQL5
Dossiers :
servis_2.mq5  1 kb
servis_3.mq5  2 kb
 

PS : Merci pour les corrections dans la version 294, tous les problèmes identifiés précédemment ont été corrigés.

Cherchons-en de nouveaux ;)))

 
SHOOTER777:

PS : Merci pour les corrections dans la version 294, tous les problèmes identifiés précédemment ont été corrigés.

Cherchons-en de nouveaux ;)))

Le Handle est un identifiant unique (généralement un numéro) qui identifie un objet particulier (une instance d'une classe) pour y accéder.

Un handle peut également identifier certains types de données, à l'exception des données simples (bien qu'il y ait une question ici).


Ce terme est le plus utilisé dans l'API Windows. Il désigne l'identifiant de la ressource allouée par le système. Par exemple, si vous ouvrez un fichier, vous obtenez le handle du fichier ouvert, si vous chargez une DLL, vous obtenez le handle avec lequel vous pouvez effectuer certaines actions avec la DLL. Des objets similaires existent dans l'API d'autres systèmes d'exploitation, par exemple dans Linux. Le Handle lui-même (physiquement) est un index ou un pointeur vers les objets du système d'exploitation. Handle agit comme un identifiant d'objet système et est passé comme argument lorsque les fonctions API sont appelées pour effectuer des actions sur l'objet système. Il existe également des fonctions qui créent des objets système, comme CreateFile dans l'API Windows ou socket() dans Linux. Ces fonctions renvoient un handle comme résultat de leur travail ou une valeur spéciale, stipulée dans la documentation, si l'appel de la fonction n'a pas été exécuté avec succès par le système d'exploitation pour une raison quelconque.

En termes de langage de programmation (par exemple, C), un handle est juste un type de données (généralement un entier). Sa création est aussi triviale que la création de tout autre objet d'un type existant. Mais un handle n'a de sens que dans le contexte des processus exécutés dans le système d'exploitation. En d'autres termes, un handle ayant la valeur 123456 sera perçu comme erroné et son utilisation dans les fonctions API sera inutile.

 

Aux développeurs

Veuillez prêter attention à ma demande 18959 (je n'arrive pas à comprendre la logique des échanges, et je n'obtiens pas de réponse sensée). Veuillez me dire s'il s'agit d'une erreur, de difficultés temporaires ou si je suis un imbécile ? Je suis particulièrement intéressé par la question de l'accumulation des swaps au championnat...

Prêtez également attention à ma demande19046 - il y a un problème d'arrondi du prix d'ouverture pour certaines transactions (achat et réduction du volume de la position).

 

Erreurs, MetaTrader 5 MQL, Ouvert, Démarré : 2010.07.20 09:38, #19056

Veuillez noter.

 

Bonjour...

des insectes ?

* Se déplacer dans l'éditeur ctrl+TAB ou aller dans le terminal-retour, compiler par F7... ne peut pas voir le curseur de texte jusqu'à ce que je clique sur un nom de fichier tabulé avec la souris...

*Impossible de faire RenameALL avec alt+A... encore une fois il faut utiliser la souris... qui n'est pas là... //lang eng

 
EQU:

Bonjour...

des insectes ?

* Se déplacer dans l'éditeur ctrl+TAB ou aller dans le terminal-retour, compiler par F7... ne peut pas voir le curseur de texte jusqu'à ce que je clique sur le nom du fichier dans l'onglet...

* je ne peux pas faire RenameALL par alt+A... encore une fois je dois utiliser la souris... que je n'ai pas... //lang eng


1. Impossible de répéter. Le déplacement par Ctrl+Tab, Ctrl+Shift+Tab fonctionne, mais le focus de la saisie reste dans la fenêtre de l'éditeur. Peut-être y a-t-il des particularités de lecture ?

2. Que doit faire Alt+A ? Si le déplacement se fait par édition et remplacement, il se fait par Shift+Tab, Tab.