L'EA a soudainement commencé à imprimer sur chaque tick sans raison apparente :
2012.01.11 22:28:19 Complex_Common_01mod EURCHF,H1 : numéro de sous-fenêtre inconnu -1 pour la fonction ObjectCreate
J'appelle l'indicateur personnalisé dans le code (voir fig.) :
//-------------- задаем значения индикатора Complex_Common по первому символу --------double Complex_1_1=iCustom(NULL,Tf,"Complex_Common_01mod",Period_low,Period_fast,m,0);
//---------------задаем значения индикатора Complex_Common по второму символу ------------ double Complex_1_2=iCustom(NULL,Tf,"Complex_Common_01mod",Period_low,Period_fast,n,0);
Pourriez-vous me dire d'où vient l'erreur ? Ce n'était pas là avant. J'ai modifié un peu le code, sans même toucher à la partie indicateur !
Et le journal, à chaque tic, a commencé à me donner ce message...
Fonction ObjectCreate - ne pas utiliser du tout dans le code
Il s'avère donc que c'est un défaut de l'indicateur ? Et pas un seul pépin dans le conseiller expert ? Je ne sais pas trop quoi en faire ? Je n'ai pas besoin dans le code de l'EA d'appeler la fenêtre de cet indicateur !
Veuillez me dire comment corriger ce défaut, si vous n'êtes pas pressé. (- numéro de sous-fenêtre inconnu -1 pour la fonction ObjectCreate ) ?
int wndNum; // Номер подокна индикатора /// И ЭТО ТОЖЕ НЕ ИСПОЛЬЗУЕТЕ ВИДИМО ОСТАЛОСЬ ОТ ПРЕДЫДУЩЕГО ПИСАТЕЛЯ
string wndName=????; // Наименование окна /// ЧТО ЭТО ?????// Удаляем графический объектvoid DeleteObject(string name) {
ObjectDelete(name+WindowExpertName());// Вы нашли окно предварительно?
}
// Рисуем меткуvoid object(string name, string _text, int fontsize, color color_, int value) {
string objName = name+WindowExpertName();
ObjectCreate(objName, OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0);// То же самоеObjectSetText(objName, _text, fontsize, "Verdana", color_);
ObjectSet(objName, OBJPROP_CORNER, 1);
ObjectSet(objName, OBJPROP_XDISTANCE, 4);
ObjectSet(objName, OBJPROP_YDISTANCE, value);
}
Ne liez pas le nom de la fenêtre au nom de l'objet, nommez simplement les objets avec des noms uniques.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Merci, abolk, pour cette clarification.
Il semble que plusieurs fonctions doivent être combinées en une seule. La logique est la même partout
Bon après-midi.
Dans notre ancien Expert Advisor, nous utilisions cette ouverture de positions (fonction de I. Kim) :
Maintenant j'écris un autre EA et je copie ce bout de code
et soudain, j'obtiens le message suivant lorsque j'essaie de le compiler
Je n'arrive pas à comprendre pourquoi je reçois des erreurs ! Le code est strictement équilibré.
Et en plus ! Lorsque je supprime le paramètre ti(qui est déclaré dans des variables globales), les erreurs de compilation disparaissent :
Mais j'ai besoin exactement avec un ticket (ti), afin de réaliser l'exécution de MessageBox après.
Je n'arrive pas à comprendre depuis ce matin. Veuillez me dire ce qui ne va pas ici.
J'obtiens tout à coup des erreurs en ajoutant ti= avant OpenPosition( - pourquoi ?
OpenPosition() doit être déclaré comme void et doit être int.
int OpenPosition(....){ .... }Merci, Integer!
Oui, - c'est exactement ce qui s'est passé ! Maintenant je l'ai corrigé et tout s'est compilé correctement !
Après-midi.
L'EA a soudainement commencé à imprimer sur chaque tick sans raison apparente :
2012.01.11 22:28:19 Complex_Common_01mod EURCHF,H1 : numéro de sous-fenêtre inconnu -1 pour la fonction ObjectCreate
J'appelle l'indicateur personnalisé dans le code (voir fig.) :
Pourriez-vous me dire d'où vient l'erreur ? Ce n'était pas là avant. J'ai modifié un peu le code, sans même toucher à la partie indicateur !
Et le journal, à chaque tic, a commencé à me donner ce message...
Fonction ObjectCreate - ne pas utiliser du tout dans le code
Merci, Integer!
Oui, - c'est exactement ce qui s'est passé ! Maintenant je l'ai corrigé et tout s'est compilé correctement !
L'indicateur cherche le nom de sa fenêtre et ne le trouve pas. Voirhttps://docs.mql4.com/ru/customind/IndicatorShortName.
Il s'avère donc que c'est un défaut de l'indicateur ? Et pas un seul pépin dans le conseiller expert ? Je ne sais pas trop quoi en faire ? Je n'ai pas besoin dans le code de l'EA d'appeler la fenêtre de cet indicateur !
Veuillez me dire comment corriger ce défaut, si vous n'êtes pas pressé. (- numéro de sous-fenêtre inconnu -1 pour la fonction ObjectCreate ) ?
Voici le code de l'indicateur :
Ne liez pas le nom de la fenêtre au nom de l'objet, nommez simplement les objets avec des noms uniques.
Merci, je crois que j'ai compris - je vais essayer de nommer et de trouver la fenêtre maintenant.