Errores, fallos, preguntas - página 2768

 
Saludos. ¿Se produce el evento de inicialización al encender el terminal?
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Estimada administración. ¿A quién debo escribir para eliminar mi cuenta (con registro como vendedor) de mql5.com?
 

Hola, hay un indicador MT5 "Grid Builder" que dibuja líneas horizontales en incrementos de precio. Puede seleccionar, por ejemplo, 100p, 200p, etc. Y construye una cuadrícula horizontal hacia arriba y hacia abajo con un paso determinado. Pero tiene un problema, por ejemplo, cuando dibujo niveles horizontales en el timeframe H4 (pongo líneas horizontales desde las herramientas de dibujo en el terminal) y cambio a cualquier otro timeframe, todas mis líneas se eliminan. Sólo quedan los niveles de los indicadores horizontales. ¿Cómo puedo corregir este error en el código? Para asegurar que mis niveles horizontales nunca se borren. Aquí está el código del indicador.

//+------------------------------------------------------------------+
//|                                                  GridBuilder.mq5 |
//|                                              Copyright 2015, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

//---- для расчёта и отрисовки индикатора использовано ноль буферов
#property indicator_buffers 0
//---- использовано всего ноль графических построений
#property indicator_plots   0
//--- входные параметры 
input int count = 50;      //количество линий вверх вниз от цены
input int step  = 333;     //шаг линий 
input double pr = 1.4622;  //цена от которой пляшем
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,0,OBJ_HLINE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectsDeleteAll(0,0,OBJ_HLINE);
  }
//+------------------------------------------------------------------+ 
//| Создает горизонтальную линию                                     | 
//+------------------------------------------------------------------+ 
bool HLine(const string name="HLine",double price=0)
  {
//--- создадим горизонтальную линию 
   if(!ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,
            ": не удалось создать горизонтальную линию! Код ошибки = ",GetLastError());
      return(false);
     }
//--- установим цвет линии 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clrGreen);
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
   return(true);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   double price=pr;
//--- создадим горизонтальную линию 
   for(int i=0;i<=count;i++)
     {
      HLine("HLine"+(string)i,price+step*i*_Point);
      HLine("HLine"+(string)(i+count+1),price-step*i*_Point);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
Александр:

Hola, hay un indicador MT5 "Grid Builder" que dibuja líneas horizontales en incrementos de precio. Puede seleccionar, por ejemplo, 100p, 200p, etc. Y construye una cuadrícula horizontal hacia arriba y hacia abajo con un paso determinado. Pero tiene un problema, por ejemplo, cuando dibujo niveles horizontales en el timeframe H4 (pongo líneas horizontales desde las herramientas de dibujo en el terminal) y cambio a cualquier otro timeframe, todas mis líneas se eliminan. Sólo quedan los niveles de los indicadores horizontales. ¿Cómo puedo corregir este error en el código? Para asegurar que mis niveles horizontales nunca se borren. Aquí está el código del indicador.

Por favor, intenteinsertar el código correctamente.

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Теперь вы можете не только читать статьи и скачивать программы на языке MQL5, но и участвовать в обсуждении интересующих вас тем на Форуме, оставлять комментарии к статьям и опубликованным кодам. Кроме того, вы можете не только выкладывать собственные разработки в Code Base, но и публиковать Статьи, за которые мы предлагаем вознаграждение...
 

Beaubra a todos.

Cuando cambio el marco temporal que ha estado inactivo durante mucho tiempo, el indicador se congela. Por favor, guíenme donde está enterrado el perro. Gracias.

 
BROXIV:

Beaubra a todos.

Cuando cambio de marco temporal, que no se ha utilizado durante mucho tiempo, el indicador se congela. Por favor, guíenme donde está enterrado el perro. Gracias.

El perro está cargando datos.

 
BROXIV:

Beaubra a todos.

Cuando cambio el marco temporal que ha estado inactivo durante mucho tiempo, el indicador se congela. Por favor, guíenme donde está enterrado el perro. Gracias.

El mismo lugar donde el lobo mordió al zorro....

La mordió. ¿Qué te parece? )))))))

 
¿Cómo se puede llamar primero a una función y luego declararla? ¿El programa está fuera de secuencia o qué?
 
Ivan_Invanov:
¿Cómo se puede llamar primero a una función y luego declararla? ¿El programa no se ejecuta en una fila o qué?

MQL-compilador, no intérprete, googlear " linker compiler ".





cuánta probabilidad de recibir de una pequeña cadena de texto(10-50 símbolos) md5-hash (16 bytes) igual a0xAAAAAAAAAAAAAAAAAAAA + 0xAAAAAAAAAAAAAAAAAAA

ulong hash[2]
this.hash[0] = this.hash[1] = 0xAAAAAAAAAAAAAAAA; 

en general necesito algún inicializador HASH_NULL (necesito algunas variantes razonables), el 0 me parece poco fiable por alguna razón


UPD: búsqueda de descifrado md5 en línea https://md5.web-max.ca/

 

Buenas tardes! Estoy escribiendo una clase para recoger los extremos basados en las lecturas del indicador iWPR. Aquí hay un trozo de código: Empiezo creando un asa para un indicador y luego copiando los datos en un buffer. Creo un bucle para obtener los datos del indicador en función del tamaño de la matriz y escribo el curso de los acontecimientos en el archivo para entender lo que está pasando. Me gustaría señalar que he copiado este código de MQL4 y, por supuesto, lo he adaptado para MQL5. No entiendo algo o algo está mal, pero los datos de la variable dwpr se escriben en un archivo con algún tipo de error. ¿Qué estoy haciendo mal? ¡Adjunto el archivo de texto del llamado registro!

   hWPR=iWPR(NULL,period,240);
   CopyBuffer(hWPR,0,0,ibars,WPRBuffer);
   CopyLow(NULL,0,0,ibars,Low);
   CopyHigh(NULL,0,0,ibars,High);
   CopyTime(NULL,0,0,ibars,Time);
   int y=ArraySize(WPRBuffer);
   //int w=ArraySize(Low);
   //int x=ArraySize(High);
   //int z=ArraySize(Time);
   
   ResetLastError(); 
   if(flag){filehandle=FileOpen(Symbol()+"_VertexUpLoad_3.txt",FILE_WRITE|FILE_TXT);}
   if(flag){FileWrite(filehandle,"Количество элементов в буфере WPRBuffer "+IntegerToString(y)+" Low "+IntegerToString(w)+
            " High "+IntegerToString(x)+" Time "+IntegerToString(z));}
   //for(int i=ibars-1;i>0;i--)
   for(int i=1;i</*ibars*/ y-1;i++)
     {
      if(i==344)
      {
      Print("");}
      datetime d=Time[i];
      //if(x<D'2004.04.02. 12:00:00'){continue;}//участок кода для тестирования
      if(flag){FileWrite(filehandle,"======================================================================================");}
      dwpr=NormalizeDouble(WPRBuffer[i],4);
      if(dwpr>=dup&&dwpr<0.0){chflag=2;}//индикатор в верхней экстремальной зоне
      if(dwpr<=ddn&&dwpr>-100.1){chflag=1;}//индикатор в нижней ЭЗ, а остальное все тоже самое
//Самое начало пока индикатор "балтается"      
      if(dwpr>=0.0000){if(flag){FileWrite(filehandle,"Самое начало пока индикатор балтается. Бар № "+IntegerToString(i)+
                                         " dwpr "+DoubleToString(dwpr,4));}
Archivos adjuntos:
Razón de la queja: