J'ai rencontré une situation étrange l'autre jour - l'indicateur sur TF M1 ne détermine pas correctement le prix d'ouverture de la barre quotidienne. L'indicateur a été utilisé pendant environ 3 ans, et je n'ai eu aucun problème avec lui auparavant. Le changement était très significatif, environ 500 pips, en même temps, le matin, il montrait des données correctes, mais l'après-midi, il mentait déjà. Le changement de TF n'a pas aidé, seul le changement de TF du calcul de l'indicateur dans les paramètres de l'indicateur lui-même a aidé. Je ne sais pas comment le reproduire. De tels dysfonctionnements sont effrayants lorsqu'on effectue des transactions automatiques.
unsupported image format 'C:\Users\pc\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files\Images\MyBMP\mouse.bmp'
Cependant, si elle est utilisée directement, il n'y a pas d'erreur et l'image s'affiche correctement.
#property strictstring label_name="currency_label"; // имя объекта OBJ_BITMAP_LABEL #resource "\\Files\\Images\\MyBMP\\Style-Pause-icon.bmp"; // путь к файлу каталог_данных_терминала\MQL4\Files\Images\MyBMP\... //#resource "\\Files\\Images\\MyBMP\\mouse.bmp"; string press ="::Files\\Images\\MyBMP\\Style-Pause-icon.bmp"; // RESOURCEstring unpress ="\\Files\\Images\\MyBMP\\mouse.bmp"; // путь к файлу каталог_данных_терминала\MQL4\... //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit()
{
//--- создадим кнопку OBJ_BITMAP_LABEL, если ее еще нет if(ObjectFind(0,label_name)<0)
{
//--- попробуем создать объект OBJ_BITMAP_LABEL bool created=ObjectCreate(0,label_name,OBJ_BITMAP_LABEL,0,0,0);
if(created)
{
//--- привяжем кнопку к правому верхнему углу графика ObjectSetInteger(0,label_name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
//--- теперь настроим свойства объекта ObjectSetInteger(0,label_name,OBJPROP_XDISTANCE,100);
ObjectSetInteger(0,label_name,OBJPROP_YDISTANCE,50);
//--- сбросим код последней ошибки в 0 ResetLastError();
//--- загрузим картинку для состояния кнопки "Нажата" bool set=ObjectSetString(0,label_name,OBJPROP_BMPFILE,0,press);
//--- проверим результат if(!set)
{
PrintFormat("Не удалось загрузить картинку из файла %s. Код ошибки %d",press,GetLastError());
}
ResetLastError();
//--- загрузим картинку для состояния кнопки "Отжата"
set=ObjectSetString(0,label_name,OBJPROP_BMPFILE,1,unpress);
if(!set)
{
PrintFormat("Не удалось загрузить картинку из файла %s. Код ошибки %d",unpress,GetLastError());
}
//--- отдадим графику команду на обновление, чтобы кнопка появилась сразу же, не дожидаясь тика ChartRedraw(0);
}
else
{
//--- объект создать не удалось, сообщим об этом PrintFormat("Не удалось создать объект OBJ_BITMAP_LABEL. Код ошибки %d",GetLastError());
}
}
//--- return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ voidOnDeinit(constint reason)
{
//--- удалим объект с графика ObjectDelete(0,label_name);
}
//+------------------------------------------------------------------+
[in] Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для...
Cependant, si elle est utilisée directement, il n'y a pas d'erreur et l'image s'affiche correctement.
est dans l'archive.
Rédacteur en chef
Le comportement dans MT4 est le même...
Ne veut pas avaler des cartes à 8 bits. Mieux vaut convertir en 24 ou 32 bits.
Le 32 bits est préférable lorsque vous avez besoin d'un canal alpha, vous pouvez alors obtenir une image sur un fond transparent au lieu d'un fond rectangulaire couvrant le graphique.
Dans ce cas, les bitmaps doivent être convertis en tableau via ResourceReadImage et COLOR_FORMAT_ARGB_NORMALIZE doit être utilisé.
Оператор возврата return - Операторы - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Bonjour, après la mise à jour, le bogue suivant est apparu [MT4 (1280) / MetaEditor (2375)] :
Surcharge de la fonction du modèle dans le corps de la classe, le paramètre du modèle remplace la version correcte de la fonction. (Pour les fonctions globales - autoriser la surcharge fonctionne bien)
template<typename T>
class template_class{};
class X
{
public:
template<typename T>
void f(const template_class<T>&)
{
Print("T");
T * obj = NULL;
}
void f(const template_class<string>&)
{
Print("string");
}
void call()
{
template_class<string> ts;
f(ts); //Вызывает версию Т, а должен string.
}
};
voidOnStart()
{
X x;
x.call();
}
Ils sont dans des dossiers différents. Sont-ils liés par un lien symbolique ?
Dans MQL5 commun aux deux terminaux.
Comment changer la langue de l'interface MT5 ? Je pense qu'il y avait un bouton à bascule dans le menu, mais je ne le trouve plus.
Lors de la création d'une ressource, le compilateur se plaint du fichier BMP mouse.bmp.
Cependant, si elle est utilisée directement, il n'y a pas d'erreur et l'image s'affiche correctement.
est dans l'archive.
Rédacteur en chef
Le comportement dans MT4 est le même...
Lors de la création d'une ressource, le compilateur "jure" sur le fichier BMP mouse.bmp.
Cependant, si elle est utilisée directement, il n'y a pas d'erreur et l'image s'affiche correctement.
est dans l'archive.
Rédacteur en chef
Le comportement dans MT4 est le même...
Ne veut pas avaler des cartes à 8 bits.
Mieux vaut convertir en 24 ou 32 bits.
Le 32 bits est préférable lorsque vous avez besoin d'un canal alpha, vous pouvez alors obtenir une image sur un fond transparent au lieu d'un fond rectangulaire couvrant le graphique.
Dans ce cas, les bitmaps doivent être convertis en tableau via ResourceReadImage et COLOR_FORMAT_ARGB_NORMALIZE doit être utilisé.
Expansion de la portée via un paramètre de modèle pour accéder aux fonctions avec une valeur de retour.
Exemple 1:Appel d' une fonction d'une classe de base.
Exemple 2 : Appel d'une fonction statique d'une classe.
Surcharge de la fonction du modèle dans le corps de la classe, le paramètre du modèle remplace la version correcte de la fonction.
(Pour les fonctions globales - autoriser la surcharge fonctionne bien)