Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1222

 
Aleksey Mavrin:

Se necesita )

Alexey, ¡gracias!

Por favor, dígale a una persona sin experiencia:
¿qué papel debe (puede) jugar la carpeta MQL5/Sounds en nuestras vidas? (mi pregunta está en la parte superior de la página 1221)

 

¿Puedes decirme por qué la barra cambia de posición en el gráfico sólo cuando llega un nuevo tick? MT5, Just2Trade build del 5 de junio

#include <Controls\Dialog.mqh>
#include <Controls\Button.mqh>
CAppDialog Main;
CBmpButton nadpr, nadlos, nadot;
CBmpButton podpr, podlos, podot;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,true);
   Main.Create(0,"Main",0,50,50,260,130);
   Main.Run();
      
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Main.Destroy(reason);
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события   
                  const long& lparam,   // параметр события типа long 
                  const double& dparam, // параметр события типа double 
                  const string& sparam)  // параметр события типа string
{
  Main.OnEvent(id,lparam,dparam,sparam);
}
 
Nikita Chernyshov:

¿Puedes decirme por qué la barra cambia de posición en el gráfico sólo cuando llega un nuevo tick? MT5, Just2Trade build del 5 de junio

Compare su código y el ejemplo del panel de la [carpeta de datos]\MQL5\Experts\Examples\Controls\Controls.mq5

 

Buenas tardes, una pregunta para los entendidos:

Estoy tratando de construir una construcción de este tipo - una función, cuatro variables son alimentados por enlaces como parámetros y una matriz, de la que los datos para el cálculo de estas cuatro variables se obtendrá dentro de la función. En el programa hay dos matrices de este tipo (que se pasan a la función): los extremos superior e inferior del zigzag. La función debe calcular los puntos para dibujar la TrendLine.

La pregunta es: ¿cómo comprobar cuál de las dos matrices se utiliza en una iteración concreta, para aplicar + o - al cálculo?

Si está formulado de forma incómoda, vuelva a preguntar, se lo explicaré con mucho gusto. Adjuntamos un esquema de construcción.

//+------------------------------------------------------------------+ 
//| Вычисляем значения точек привязки трендовых линий                | 
//+------------------------------------------------------------------+ 
void CalculateTrendPoints(datetime &time_1, double &price_1, 
                          datetime &time_2, double &price_2, double &zigbuf[])  
{
   int ind_time_1, ind_time_2;
   int size_zigbuf = ArraySize(zigbuf);
   for(int i = 0; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
      price_1    = zigbuf[i];
      ind_time_1 = i;
   for(int i = ind_time_1 + 1; i < size_zigbuf; i++){if(zigbuf[i] != EMPTY_VALUE)break;}
      price_2    = zigbuf[i];
      ind_time_2 = i;

   //Дальше будут расчеты, в которых в зависимости от того для чего используется функция
   //(построение ТрЛайн для верхних пиков или для нижних)будет применяться 
+ или - , < или >. 
   //Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), 
   //Вопрос не сложный - как это написать???   
} 

Significa que el parámetrozigbuf[] sólo tendrá dos opciones para ser sustituido - ZigzagPeakBuffer[] oZigzagBottomBuffer[]. ¿Cómo puedo comprobar dentro de la función, cuál de las opciones está actualmente establecida?


 

Hasta ahora he inventado para determinar cuál de los arrays está involucrado - comparando el valor encontrado, cuál coincide, ese es el nuestro. Pero seguro que hay una solución más bonita y más corta.

Conocedores - ¡¡¡Díganoslo por favor!!!

//+------------------------------------------------------------------+ 
//| Вычисляем значения точек привязки трендовых линий                | 
//+------------------------------------------------------------------+ 
void CalculateTrendPoints(datetime &time_1, double &price_1, 
                          datetime &time_2, double &price_2, double &zigbuf[])  
{
   int ind_time_1 = 0;
   int ind_time_2 = 0;
   int size_zigbuf = ArraySize(zigbuf);
   for(int i = 0; i < size_zigbuf; i++)
      {
         if(zigbuf[i] != EMPTY_VALUE)
            price_1    = zigbuf[i];
            ind_time_1 = i;
            break;
      }
   for(int i = ind_time_1 + 1; i < size_zigbuf; i++)
      {
         if(zigbuf[i] != EMPTY_VALUE)
            {
               if(zigbuf[i] == ZigzagPeakBuffer[i] && zigbuf[i] > price_1)
                  {
                     price_2    = zigbuf[i];
                     ind_time_2 = i;
                     break;
                  }
               if(zigbuf[i] == ZigzagBottomBuffer[i] && zigbuf[i] < price_1)
                  {
                     price_2    = zigbuf[i];
                     ind_time_2 = i;
                     break;
                  }
            }
      }
   //Дальше будут расчеты, в которых в зависимости от того для чего используется функция
   //(построение ТрЛайн для верхних пиков или для нижних)будет применяться + или - , < или >.
   //Думаю что легче всего понять данное конкретное применение по тому, какой массив зашел в параметрах (&zigbuf[]), 
   // Вопрос не сложный - как это написать???   
}
 

Hola a todos))


Pregunta: OBJ_FIBO no da una ventana emergente en el gráfico (OBJPROP_TOOLTIP) al trazar. Todo se organiza gráficamente a través de OBJPOP_TXT/ ¿Cómo se puede y es posible hacer una ventana emergente en FIBO a través de tooltip?

Propósito: al pasar el ratón por el nivel de Fibo, para que aparezca una ventana como en HLINE (como ejemplo).

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
kopeyka2:

Hola a todos))


Pregunta: OBJ_FIBO no da una ventana emergente en el gráfico (OBJPROP_TOOLTIP) al trazar. Todo se organiza gráficamente a través de OBJPOP_TXT/ ¿Cómo se puede y es posible hacer una ventana emergente en FIBO a través de tooltip?

Propósito : al pasar el ratón por el nivel de Fibo, para que aparezca una ventana como HLINE (como ejemplo).

Utilice la propiedad OBJPROP_TEXT

ObjectSetString(chart_ID,name,OBJPROP_TEXT,"Это всплывающая подсказка");
 
¿Cómo puedo deshacerme de los productos de demostración que no uso? Sigo recibiendo mensajes del sistema "Nueva versión ........".
 
Sergey Voytsekhovsky:

Hasta ahora he inventado para determinar cuál de los arrays está involucrado - comparando el valor encontrado, cuál coincide, ese es el nuestro. Pero seguro que hay una solución más bonita y más corta.

¡¡¡La gente que sabe - por favor dígame!!!

¿Por qué te inventas tus propios problemas? Ya serán suficientes.

Sólo hay que hacer dos funciones separadas.

 
¿Pueden decirme cómo obtener una matrizMqlParam de un archivo de conjunto?