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

 
Sergey Likho:

Gracias.

¿Pueden decirme por qué OBJ_EDIT no puede aparecer en el gráfico real?

Probablemente, la fijación de los objetos está mal configurada y han sobrepasado el borde de la ventana.

Será mejor que especifique el enlace no 0,1,2 como es en mt4, sinoENUM_BASE_CORNER

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 

Por favor, ayúdenme a resolver el problema, el código funciona en cada tic, así que necesito la solución más fácil.

El problema: Hay un montón de posiciones cerradas en el historial, y de este montón necesitamos extraer el tamaño de las ganancias, que fue en el momento del último cierre, las posiciones pueden ser de 1 a 100 (cuadrícula).

Por regla general, no se cierran al mismo tiempo, pero la diferencia de tiempo entre la apertura y el cierre no supera los 2 minutos (mt4).

Si expandes un bucle o un array, todo funciona, pero no puedes expandir nada, tienes que buscar de menos a más

//+------------------------------------------------------------------+
#property strict

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  datetime tm=0;
  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
  
   for(int i=0; i<5; i++) {
    datetime date=pos[i];
    // ... ld = date;
    // Здесь много кода, и цикл/массив разворачивать нельзя
    // ...
    // 120 секунд разницы между закрытием первой и последней в сетке
    if((tm <= date && date <= tm+120) || tm==0) {
      tm = date;
      Print(i,"=",date); // Ожидаемый результат: 2018.04.04 12:08:59, 2018.04.04 12:08:43, 2018.04.04 12:08:43
    }

   }
    Print("");
    Sleep(10000);
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko:

Por favor, ayúdame a resolver el problema, el código se ejecuta en cada tick, así que necesito la solución más fácil

¿Por qué la fecha es un texto? Esto es muy improductivo.

 
Vitaly Muzichenko:

Por favor, ayúdenme a resolver el problema, el código se ejecuta en cada tick, por lo que se necesita la solución más fácil

  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
 
Vladimir Karputov:

¿Por qué la fecha está en forma de texto? Es muy improductivo.

Esto es sólo un ejemplo, en el código todo se ensambla normalmente en un array

P.D. He actualizado el post anterior

P.D. La cuestión está resuelta, voy a ampliar el array y rehacer el trabajo del código principal

 

Estimados usuarios del foro, ¿podrían decirme cómo dibujar un segmento vertical entre barras sin utilizar una etiqueta rectangular(OBJ_RECTANGLE_LABEL)? Por desgracia, no he encontrado una respuesta a esta pregunta. Si hay algo que no he leído en la documentación o en el foro, por favor, señale dónde. Gracias.

 
MrVIS:

Estimados usuarios del foro, ¿podrían decirme cómo dibujar un segmento vertical entre barras sin utilizar una etiqueta rectangular(OBJ_RECTANGLE_LABEL)? Por desgracia, no he encontrado una respuesta a esta pregunta. Si hay algo que no he leído en la documentación o en el foro, por favor, señale dónde. Gracias.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
//| Создает линию тренда по заданным координатам                     |               time1=0,                            price1=0,                         time2=0,                            price2=0,                        width=1,            //| Перемещает точку привязки линии тренда                           | //
 
FelixFX:
Entiendo que se puede aprender cualquier cosa con artículos y gestos, así como con expresiones faciales, pero con un libro de texto, por ejemplo, te pasas un mes para aprender (sin práctica), y de otras formas te pasas seis meses + práctica. No todo el mundo puede dedicar todo su tiempo libre a aprender un lenguaje de programación.

¡¿En realidad no?! Y al contrario. Por ejemplo, juzgo del pasado: tuve un profesor de matemáticas, explicaba todo de tal manera en clase que no aprendí ni un solo teorema, pero los exámenes ministeriales se escribían en 15 minutos y por 5; en el octavo grado me trasladaron a otro profesor y todo - toda la clase se atontó inmediatamente. Lo mismo ocurre con los libros de texto, si los escribo yo, o alguien como yo, te llevará mucho tiempo estudiarlos. Y se te ha dicho, en base a tu deseo, que todo va a seguir adelante y lo rápido que vas a ser capaz de absorber el material. Entonces aprenderás deambulando por los autores y tendrás algo de experiencia y podrás ver quién y qué está reteniendo. Si te enseñan a manejar un tenedor y nunca te enseñan una cuchara, estarás comiendo sopa durante mucho tiempo. Y prefieres morir de hambre antes que comerlo. Así que vayan por las minas, y no por los zapadores.

 
MrVIS:

Estimados usuarios del foro, ¿podrían decirme cómo dibujar un segmento vertical entre barras sin utilizar una etiqueta rectangular(OBJ_RECTANGLE_LABEL)? Por desgracia, no he encontrado una respuesta a esta pregunta. Si hay algo que no he leído en la documentación o en el foro, por favor, señale dónde. Gracias.

Es muy sencillo.

Opción 1: Se dibuja una línea horizontal y se gira el monitor 90° en el sentido de las agujas del reloj o en sentido contrario.

Opción 2. Gire la posición del MT para que el gráfico se trace de abajo hacia arriba.

Opción 3.

La imaginación está rota.

 
Alexey Viktorov:

Así de simple.

Opción 1: Dibuje una línea horizontal y gire el monitor 90° en el sentido de las agujas del reloj o en sentido contrario.

Opción 2. Gire la posición del MT para que el gráfico se trace de abajo a arriba.

Opción 3. ...

La imaginación está rota.

Una pista: el lienzo
Razón de la queja: