El otro día me encontré con una situación extraña: el indicador de TF M1 no determina correctamente el precio de apertura de la barra diaria. El indicador se ha utilizado durante unos 3 años, y no tuvo ningún problema antes. El cambio fue muy significativo, unos 500 pips, a la vez, por la mañana mostraba datos correctos, pero por la tarde ya mentía. El cambio de TF no ayudó, sólo el cambio de TF del cálculo del indicador en la propia configuración del indicador ayudó. No sé cómo reproducirlo. Este tipo de fallos son aterradores cuando se negocia de forma automática.
Al intentar crear un recurso, el compilador se "queja" del archivo BMP mouse.bmp
unsupported image format 'C:\Users\pc\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Files\Images\MyBMP\mouse.bmp'
Aunque, si se utiliza directamente, no hay ningún error y la imagen se muestra correctamente.
#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] Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки Если второй вариант функции вызывается для...
Al intentar crear un recurso, el compilador "jura" el archivo BMP mouse.bmp
Aunque, si se utiliza directamente, no hay ningún error y la imagen se muestra correctamente.
está en el archivo.
Editor
El comportamiento en MT4 es el mismo...
No quiere tragarse los mapas de 8 bits. Mejor convertir a 24 o 32 bits.
Los 32 bits son preferibles cuando se necesita el canal alfa, entonces se puede obtener una imagen sobre un fondo transparente en lugar de un fondo rectangular que cubra el gráfico.
En ese caso, los mapas de bits deben ser convertidos a una matriz a través de ResourceReadImage y se debe utilizar COLOR_FORMAT_ARGB_NORMALIZE.
Оператор возврата return - Операторы - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Buenas tardes, tras la actualización se ha producido el siguiente error [MT4 (1280) / MetaEditor (2375)]:
Sobrecarga de función de plantilla en el cuerpo de la clase, el parámetro de la plantilla anula la versión correcta de la función. (Para las funciones globales - permitir la sobrecarga funciona 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();
}
Por el momento, hay un montón de archivos idénticos que sólo se diferencian en el último dígito de la extensión.
Están en carpetas diferentes. ¿Están vinculados por un enlace simbólico?
En el MQL5 común a ambos Terminales.
¿Cómo puedo cambiar el idioma de la interfaz de MT5? Creo que antes había un conmutador en el menú, ahora no lo encuentro.
Al intentar crear un recurso, el compilador se "queja" del archivo BMP mouse.bmp
Aunque, si se utiliza directamente, no hay ningún error y la imagen se muestra correctamente.
está en el archivo.
Editor
El comportamiento en MT4 es el mismo...
Al intentar crear un recurso, el compilador "jura" el archivo BMP mouse.bmp
Aunque, si se utiliza directamente, no hay ningún error y la imagen se muestra correctamente.
está en el archivo.
Editor
El comportamiento en MT4 es el mismo...
No quiere tragarse los mapas de 8 bits.
Mejor convertir a 24 o 32 bits.
Los 32 bits son preferibles cuando se necesita el canal alfa, entonces se puede obtener una imagen sobre un fondo transparente en lugar de un fondo rectangular que cubra el gráfico.
En ese caso, los mapas de bits deben ser convertidos a una matriz a través de ResourceReadImage y se debe utilizar COLOR_FORMAT_ARGB_NORMALIZE.
Ampliación del ámbito a través del parámetro de la plantilla para acceder a funciones con valor de retorno.
Ejemplo 1:Llamada a una función de una clase base.
Ejemplo 2: Llamada a una función estática de una clase.
Sobrecarga de función de plantilla en el cuerpo de la clase, el parámetro de la plantilla anula la versión correcta de la función.
(Para las funciones globales - permitir la sobrecarga funciona bien.)