Erreurs, bugs, questions - page 3174

 
Andreas Hoogendoorn #:

J'utilise les classes CGraphic et CCurve et quelque chose d'étrange se produit. J'exécute deux instances du même EA sur des paires de devises différentes. Lorsque je fais défiler un graphique, l'autre graphique est visible pendant un instant. Il semble que la mémoire soit perturbée entre les deux graphiques. Le redémarrage du terminal ne fait aucune différence. (L'image est un gif animé)


Ok j'ai résolu le problème bien que ce soit toujours un bug ! !!

Lorsque l'on utilise la classe CGraphic, il est obligatoire d'utiliser un nom unique lors de la création d'une ressource graphique.

Les ressources ne sont pas isolées comme elles devraient l'être. Un EA d'un graphique peut accéder à la ressource d'un autre graphique.


2022.04.17 12:44:13.049 Terminal        MetaTrader 5 x64 build 3260 started for MetaQuotes Software Corp.
2022.04.17 12:44:13.050 Terminal        Windows 10 build 19044, 4 x Intel Core i5  750 @ 2.67 GHz, 4 / 11 Gb memory, 4 / 124 Gb disk, UAC, GMT-3
2022.04.17 12:44:13.050 Terminal        C:\Users\andre\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

#include <Graphics\Graphic.mqh>
CGraphic          graphic;

graphic.Create(0, "test", 0, 0, 0, 1200, 400);

Cet exemple échoue.

graphic.Create(0, (string) MathRand(), 0, 0, 0, 1200, 400);
Cet exemple est correct.
 

J'ai déjà écrit à ce sujet. Mais c'est vraiment ennuyeux.
Chers développeurs du backend de ce site, réparez-le s'il vous plaît :
Je continue à recevoir des notifications concernant de nouvelles versions de produits payants que je n'ai jamais achetés, parfois plusieurs fois par jour :

Je clique sur ce lien :

 
Andreas Hoogendoorn #:

J'utilise les classes CGraphic et CCurve et quelque chose d'étrange se produit. J'exécute deux instances du même EA sur des paires de devises différentes. Lorsque je fais défiler un graphique, l'autre graphique devient visible pendant un instant. La mémoire semble s'embrouiller entre les deux graphiques. Le redémarrage du terminal ne change rien. (L'image est un gif animé).


Lorsque vous créez un objet graphique, vous devez ajouter le nom, par exemple l'ID du graphique sur lequel il sera dessiné :

   CGraphic graphic;

   graphic.Create(0,"G"+(string)ChartId(),0,30,30,780,380);


Sinon, le nom de la ressource graphique des deux graphiques sera le même, et comme les ressources graphiques sont globales pour le terminal, les deux programmes travailleront avec la même ressource (c'est-à-dire qu'ils dessineront sur le même canevas).

 

Erreur : OrderCalcMargin renvoie une valeur erronée


OrderCalcMargin() renvoie parfois une valeur erronée de la marge requise.

Par exemple, il fonctionne correctement sur de nombreuses paires de devises majeures et sur de nombreux autres CFD, etc, il renvoie une valeur correcte.


Mais, USDPLN ou à PLATINUM, ou à d'autres, il retourne une valeur absolument fausse de la marge requise.

L' ENUM_SYMBOL_CALC_MODE demandé pour EURUSD et USDPLN est le même(SYMBOL_CALC_MODE_FOREX), mais si pour EURUSD la fonction renvoie une valeur correcte de la marge requise, pour USDPLN c'est faux.

Pourquoi ?

 

Bonjour à tous, j'espère que j'écris au bon endroit (mais si c'est le cas, suggérez un endroit plus pertinent).

Je parle de la disparition des allers dans MT5 (version 5.00 build 3260, Just2Trade).

L'essentiel : si j'ajoute (ou modifie) toutes les allocations et que je redémarre simplement l'ordinateur sans fermer la fenêtre (Démarrer Shutdown-Reboot),
toutes les modifications de toutes les allocations disparaissent. Et pour les sauvegarder, vous devez vous souvenir de fermer la fenêtre du terminal avec la croix.

C'est un bug assez cruel qui doit être corrigé.

 
Lazar Buga #: Pourquoi ?

Votre courtier a fait une erreur. Parlez-leur.

 
Ilyas #:

Lors de la création d'un objet graphique, vous devez ajouter le nom, par exemple, l'ID du graphique sur lequel il sera dessiné :


Sinon, le nom de la ressource graphique sur les deux graphiques sera le même, et comme les ressources graphiques sont globales pour le terminal, les deux programmes travailleront avec la même ressource (c'est-à-dire qu'ils dessineront sur le même canevas).

Le nom de la ressource objet graphique ne peut pas dépasser 63 caractères. Si vous ajoutez un identifiant de graphique au nom, il ne reste plus beaucoup de place pour un nom sain et lisible, malheureusement.

 
a18 #:

Bonjour à tous, j'espère que j'écris au bon endroit (mais si c'est le cas, suggérez un endroit plus pertinent).

Je parle de la disparition des allers dans MT5 (version 5.00 build 3260, Just2Trade).

L'essentiel : si j'ajoute (ou modifie) toutes les allocations et que je redémarre simplement l'ordinateur sans fermer la fenêtre (Démarrer Shutdown-Reboot),
toutes les modifications de toutes les allocations disparaissent. Et pour les sauvegarder, vous devez vous souvenir de fermer la fenêtre du terminal avec la croix.

C'est un bug assez cruel à corriger.

Corrigé, sera dans la version bêta.

 
Erreur de compilation :
template<typename T>
struct A {
    T *t;
};
void OnStart()
{
    A<void> a; //Error: 'void' - expression of 'void' type is illegal
}
 
A100 #:
Une erreur de compilation :
class A {};

void* t = new A;

Les pointeurs sont devenus des adresses dans MQL, ou qu'est-ce que cela signifie maintenant ?