Questions des débutants MQL5 MT5 MetaTrader 5 - page 788

 

Pouvez-vous me dire comment réaliser cette construction ?

void OnStart()
  {
   int h=FileOpen("str.bin",FILE_READ|FILE_BIN);
   if(h==INVALID_HANDLE){
      Alert("Ошибка открытия файла");
      return;
   }
   int s=FileSize(h);
   string TXT=FileReadString(h,s);
   Print(TXT);
   FileClose(h);
  }

fonctionne dans MT5 de la même manière que dans MT4, c'est-à-dire que la variable ТХТ est lisible, et non comme des carrés.

Il semble que ce soit un problème d'encodage, mais je ne sais pas comment le résoudre.

 
Андрей:

Pouvez-vous me dire comment réaliser cette construction ?

void OnStart()
  {
   int h=FileOpen("str.bin",FILE_READ|FILE_BIN);
   if(h==INVALID_HANDLE){
      Alert("Ошибка открытия файла");
      return;
   }
   int s=FileSize(h);
   string TXT=FileReadString(h,s);
   Print(TXT);
   FileClose(h);
  }

fonctionne dans MT5 de la même manière que dans MT4, c'est-à-dire que la variable ТХТ est lisible, et non comme des carrés.

Il semble que ce soit un problème d'encodage, mais je ne sais pas comment le résoudre.

Essayez de spécifier explicitement un encodage. FILE_ANSI ou unicode
 
Vladislav Andruschenko:
Essayez de spécifier l'encodage explicitement. FILE_ANSI ou unicode
Si FILE_BIN est remplacé par FILE_ANSI, il ne restera de la chaîne entière que le fragment initial, mais lisible, alors que le reste ne le sera pas, avec l'unicode vous obtenez une chaîne vide. Il s'avère que si vous utilisez ANSI, vous devez lire ligne par ligne jusqu'aux séparateurs, puis additionner toutes les parties pour obtenir une seule chaîne. N'y a-t-il rien de plus simple, sauf bien sûr de revenir à MT4 ?
 

Non. Vous n'êtes pas en place, vous êtes ensemble.

 int h=FileOpen("str.bin",FILE_READ|FILE_BIN|FILE_ANSI);
 
Vladislav Andruschenko:

Non. Vous n'êtes pas en place, vous êtes ensemble.

Merci, j'ai fait des progrès sur ce point, mais la corde est toujours coupée plusieurs fois.
 

Pouvez-vous nous dire s'il est possible d'appeler l'indicateur MA sur le graphique avec un programme pour définir lacouleur de sondessin?

Je ne sais pas comment appeler les paramètres de couleur de l'indicateur...

h__ = iMA(_Symbol,0,20,0,MODE_LWMA,PRICE_CLOSE);
ChartIndicatorAdd(0,0,h__);
 
elmucon:

Pouvez-vous nous dire s'il est possible d'appeler l'indicateur MA sur le graphique avec un programme pour définir lacouleur de sondessin?

Je ne sais pas comment l'appeler, mais je ne sais pas comment le faire ...

Vous pouvez le faire, mais pour ce faire, vous devrez apporter une modification à l'indicateur personnalisé : ajouter une couleur au paramètre d'entrée.
appliquer cette couleur dans l'indicateur OnInit
appeler cet indicateur modifié via iCustom

 
Vladimir Karputov:
Vous pouvez le faire, mais vous devez apporter une modification à l'indicateur personnalisé : ajouter une couleur au paramètre d'entrée.
dans le OnInit de l'indicateur appliquera cette couleur
appeler cet indicateur modifié via iCustom


C'est bon - je pensais qu'il y avait peut-être un moyen plus facile ... Merci !

Je pense que les développeurs auraient pu ajouter quelques paramètres supplémentaires pour la poignée .....

Je n'ai même pas vu de changement de couleur dans les structures ...

comme ceci

h__ = iMA(_Symbol,0,20,0,MODE_LWMA,PRICE_CLOSE,DRAW_LINE,clrRed);
 
elmucon:

Je vois - je pensais qu'il y aurait un moyen plus facile... Merci !

Je pense que les développeurs auraient pu ajouter quelques paramètres supplémentaires pour la poignée .....

Je n'ai même pas vu de changement de couleur dans les structures ...

comme ceci

Alors c'est comme ça :

h__ = iMA(_Symbol,0,20,0,MODE_LWMA,PRICE_CLOSE);
ChartIndicatorAdd(0,0,h__,clrRed);
 
Vitaly Muzichenko:

Alors c'est comme ça :

Cela ne me dérange pas - c'est un noramalek aussi ...