Mon approche. Le noyau est le moteur. - page 179

 
Nikolai Semko:

Il est bon de voir que vous avez décidé de mettre la flèche créative sur les rails au MQL5.

J'ai toujours eu l'intention de le faire. Il n'a jamais été question de l'étaler pour MT4. )

Jusqu'à présent, je n'ai pas vu de difficultés avec la transition, sauf deux :

1. Toutes les variables et tous les tableaux déclarés doivent être spécifiquement mis à zéro. À l'échelle de mon programme, il m'a fallu plusieurs heures pour le faire.

2. Erreur constante de dépassement de tableau. Je ne l'avais pas remarqué sur la quatrième version. Il s'est avéré que c'était une erreur fréquente.

Le reste du temps, je n'ai pas remarqué de difficultés. Il faut juste beaucoup de temps pour compiler le projet. Je ne sais même pas... Cela ralentira considérablement le moteur. :(

 
Реter Konow:

J'ai toujours eu l'intention de le faire. Il n'a jamais été question de l'étaler pour MT4. )

Jusqu'à présent, je n'ai pas vu de difficultés avec la transition, sauf deux :

1. Toutes les variables et tous les tableaux déclarés doivent être spécifiquement mis à zéro. À l'échelle de mon programme, il m'a fallu plusieurs heures pour le faire.

2. Erreur constante de dépassement de tableau. Je ne l'avais pas remarqué sur la quatrième version. Il s'est avéré que c'était une erreur fréquente.

Sinon, je n'ai pas remarqué de difficultés. Il faut juste beaucoup de temps pour compiler le projet. Je ne sais même pas... Cela ralentira considérablement le moteur. :(

N'avez-vous pas utilisé #property strict dans le quatre ?
 
Artyom Trishkin:
Vous n'avez pas utilisé #property strict dans le quatre ?

Non.

 
Реter Konow:

Non.

C'est un vrai désordre.

 
Quand on construit un gratte-ciel tout seul, on ne pense pas au plâtrage. Lorsque vous avez terminé tous les étages, vous pouvez effectuer les travaux de finition.
 
Реter Konow:
En construisant un gratte-ciel tout seul, on ne pense pas au plâtrage. Lorsque vous avez terminé tous les étages, vous pouvez effectuer les travaux de finition.

Ce "plâtrage" vous évite immédiatement de devoir corriger ce que vous avez déjà écrit.

 
Artyom Trishkin:

Cette "chaîne" élimine immédiatement la nécessité de corriger ce qui est déjà écrit.

Avec#property strict en 4, il y avait beaucoup d'avertissements inutiles sur le fait que les nombres enveloppés par des définitions dans des mots-clés et écrits dans le code cybernétique (code constructeur) dans le tableau de chaînes Contept apporté "illégalement" au type chaîne. Pour cette raison, j'ai désactivé cette#propriété stricte. C'est-à-dire qu'en termes de règles de programmation, mon constructeur ne devrait pas exister).

 
Реter Konow:

Avec#property strict en 4, il y avait beaucoup d'avertissements inutiles sur le fait que les nombres enveloppés par des définitions dans des mots-clés et écrits dans le code cybernétique (code constructeur) dans le tableau de chaînes Contept apporté "illégalement" au type chaîne. Pour cette raison, j'ai désactivé cette#propriété stricte. C'est-à-dire qu'en termes de règles de programmation, mon constructeur ne devrait pas exister).

Qu'est-ce qui les empêchait d'être "légalement" réduits à l'état de cordes?

 
Artyom Trishkin:

Qu'est-ce qui les empêchait d'être "légalement" convertis en type chaîne de caractères?

Je m'explique : le constructeur permet d'initialiser un tableau dechaînes de caractères. Dans ce tableau, les entrées de valeurs numériques et de chaînes de caractères alternent. Les nombres peuvent être des coordonnées et des mots-clés (et des noms de types d'éléments), et les chaînes peuvent être des noms ou du texte.#property strict exige que tout ce qui se trouve dans ce tableau soitconverti en chaîne de caractères. Toutefois, dans ce cas, le code cybernétique perd sa lisibilité normale. La solution est de travailler sans#propriété stricte.

Exemple de code :
//----------------------------------------------------------------------------------
GROUP, A,

__, V_LINE,"vL",H,61,_,N_COLOR,(int)C'255,223,199',

END_GROUP,
//------------------------------------
 i, AT, _X2X, "R1", 1, _Y2Y, "R1", 1,

Un exemple de ce que requiert une#propriété stricte.

//----------------------------------------------------------------------------------
(string)GROUP, (string)A,

(string)__, (string)V_LINE,"vL",(string)H,61,(string)_,(string)N_COLOR,(string)(int)C'255,223,199',

(string)END_GROUP,
//------------------------------------
 (string)i, (string)AT, _(string)X2X, "R1", (string)1, _Y2Y, "R1", (string)1,
 
Désolé, je fais le tri.