Erreurs, bugs, questions - page 971

 
nasdaq:
Comment puis-je connaître l'intervalle de test défini à partir de OnTester() ?

La date de fin du test peut être trouvée immédiatement dans OnTester.

La date de début doit être enregistrée dans OnInit.

Utiliser la fonction TimeCurrent

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 

Face à une situation étrange

Aujourd'hui, lors de la connexion au serveur, la connexion du modem USB biline a cessé de fonctionner.

D'autres canaux (relais et DSL terrestre) fonctionnent avec succès.

193.219.127.76:4443

et dans les deux cas, telnet à cette adresse + port passe (la session s'ouvre)

La trace meurt sur une paire d'IP (bâtons) dans les deux cas aussi.

ping en général dit

Ответ от 195.16.37.33: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 195.16.37.33: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 195.16.37.33: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 195.16.37.33: Превышен срок жизни (TTL) при передаче пакета.

c'est de la biline

Обмен пакетами с 193.219.127.76 по с 32 байтами данных:
Ответ от 193.219.127.225: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 193.219.127.225: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 193.219.127.225: Превышен срок жизни (TTL) при передаче пакета.
Ответ от 193.219.127.225: Превышен срок жизни (TTL) при передаче пакета.

c'est à partir d'un autre canal mais le terminal peut voir la connexion

J'ai téléphoné à Beeline et leur ai demandé d'éteindre le modem et de le rallumer dans 10 minutes environ.

Mais le serveur MetaQuotes demo le voit et s'y connecte.

Je suis à court d'imagination, que faire ensuite ?
 
Comment déterminer, lors de l'optimisation, si un site à venir l'est ou non ?
 

Pouvez-vous m'expliquer où se situe mon erreur ?Pourquoi le code ci-joint dessine une image (OBJ_BITMAP_LABEL) uniquement en mode COLOR_FORMAT_XRGB_NOALPHA ? AvecCOLOR_FORMAT_ARGB_NORMALIZE, il ne montre rien.

void OnStart() {
  uint Canvas[];
  uint ImgWidth = 250;
  uint ImgHeight = 100;
  long chart_id = ChartID();
  ArrayResize(Canvas, ImgWidth * ImgHeight);
  ArrayInitialize(Canvas, 0);
  for (int i = 0; i < ArraySize(Canvas); i++)
    Canvas[i] = i;
  if (ObjectCreate(chart_id, "Test", OBJ_BITMAP_LABEL, 0, 0, 0)) {
    ObjectSetString(chart_id, "Test", OBJPROP_BMPFILE, "::Test");
    ResourceCreate("::Test", Canvas, ImgWidth, ImgHeight, 0, 0, ImgWidth, COLOR_FORMAT_XRGB_NOALPHA);
    ChartRedraw(chart_id);
    Sleep(3000);
    ObjectDelete(chart_id, "Test");
  }
}
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
Dossiers :
Test.mq5  9 kb
 
voix_kas:

Expliquez-moi où est mon erreur,pourquoi le code ci-joint dessine une image (OBJ_BITMAP_LABEL) uniquement en mode COLOR_FORMAT_XRGB_NOALPHA ? AvecCOLOR_FORMAT_ARGB_NORMALIZE, il ne montre rien.

Avez-vous vraiment une image 32 bits ?
 
sergeev:
Avez-vous vraiment une image 32 bits ?
Malheureusement, je ne comprends pas votre question. Le tableau uint (4 octets, 32 bits) est utilisé comme tampon.
 

En général, il y a de petites lacunes dans les connaissances. La couleur 32 bits est représentée par 0x00BBGGRR, où le premier "00" est le canal alpha.

Exemple, nous prenons la couleur clrRed, nous voulons la rendre translucide, nous ajoutons la valeur 127 (7F) aux deux premiers bits. Évidemment, cela se fait par des opérations de type bit à bit. Malheureusement, je ne suis pas familier avec le sujet. Je vais essayer de l'étudier pour le moment. Peut-être que quelqu'un a un code de conversion simple prêt ?

 

Étrange. L'exécution de 0xFF000000 + clrBlue donne une couleur rouge.

Le bleu est 0x00FF0000. J'ajoute0xFFFF000000. Lerésultat est0xFFFFFF0000. Mais pourquoi la sortie est rouge au lieu de bleue ? !

 
Je vais vous faire gagner du temps si quelqu'un se pose la question. Utilisez la fonction ordinaire ColorToARGB().
 
voix_kas:

Qu'est-ce qui est le plus facile/rapide à traiter et à afficher pour MT5 : 24*OBJ_LABELou 1*OBJ_BITMAP_LABEL?

On suppose que24*TextOut sera également introduit dansOBJ_BITMAP_LABEL.

C'est-à-dire en termes de performances.

Peut-être quelqu'un sera-t-il intéressé par des informations sur les performances des objets graphiques...

L'objectif suivant a été fixé. Pour augmenter les performances en remplaçant26*OBJ_LABELpar 1*OBJ_BITMAP_LABEL.

Ces objets graphiques montrent l'état actuel de l'Expert Advisor. Au total, 26 étiquettes sont utilisées, dont 13 sont constamment mises à jour avec des valeurs recalculées. C'est-à-dire que les 13 premiers sont des descriptions de paramètres, les 13 autres sont leurs valeurs correspondantes.

Principes généraux du travail avec les étiquettes. Les 26 étiquettes sont créées et alignées dans OnInit(). Dans OnTick(), seuls 13 d'entre eux sont mis à jour (texte).

Principes généraux du travail avec les bitmaps. Le modèle de toile est créé dansOnInit(). Il doit comporter les 13 éléments de la description. OnTick() copie le modèle de canevas (tableau uint) dans le tableau de canevas de travail + ajoute les 13 étiquettes de valeur restantes.

Qu'est-ce que je peux dire ? Un Bitmap fonctionne ( !) un ordre de grandeur plus lentement que 26 étiquettes conventionnelles. J'ai essayé d'exclure de OnTick() l'opération de copie du motif dans le canevas de travail (tableau uint 250*410), c'est-à-dire travailler sur un seul canevas. Le gain n'est ressenti qu'en temps réel. Dans le testeur, c'est la même chose, avec une dégradation absolue de la productivité. Le modeCOLOR_FORMAT_ARGB_NORMALIZE a été utilisé, car les autres donnent un aspect moins esthétique. Pour l'avenir, il faut dire que travailler sur une seule toile est difficile, car il faut suivre le chevauchement des superpositions précédentes (zones propres).

Quelle est la conclusion pour moi.

Il présente deuxinconvénients par rapport àOBJ_BITMAP_LABEL: 1) il ne permet pas de modifier le style de police, 2) du point de vue du programmeur, il est plus facile de contrôler un élément (bitmap) que 26 étiquettes.