[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 395

 
Si se copia/corta la carpeta de Metatrader de un PC a otro, ¿el terminal será totalmente operativo en la nueva ubicación, igual que en la original?
 
yellownight:
Si se copia/corta la carpeta de Metatrader de un PC a otro, ¿el terminal será totalmente operativo en la nueva ubicación, igual que en la original?
Sí, sólo habrá que volver a introducir la contraseña y el nombre de usuario. El desinstalador no podrá desinstalar. Otras rutas estarán en install.log. Habrá entradas extra en el registro (install.sss).
 

Buenas tardes. Pregunta sobre el identificador de la propiedad OBJPROP_TIMEFRAMES de los objetos gráficos... Escribí este script para crear un objeto gráfico Línea Horizontal (ver abajo).

Pregunta: ¿Por qué, aunque la función ObjectSet(nombre_del_objeto,OBJPROP_TIMEFRAMES,PERIOD_H1) establece explícitamente que el objeto debe mostrarse SÓLO en el marco temporal H1, el objeto creado también se muestra en los marcos temporales (al menos) H4, M30, M15.

Nota: la cabecera del script contiene una línea con el archivo de inclusión #include <WinUser32.mqh> que difiere del archivo de inclusión de origen #include <WinUser32.mqh> entregado con el terminal cliente.

Archivos adjuntos:
 
7777877:

Buenas tardes. Pregunta sobre el identificador de la propiedad OBJPROP_TIMEFRAMES de los objetos gráficos... Escribí este script para crear un objeto gráfico Línea Horizontal (ver abajo).

Pregunta: ¿Por qué, aunque la función ObjectSet(nombre_del_objeto,OBJPROP_TIMEFRAMES,PERIOD_H1) establece explícitamente que el objeto debe mostrarse SÓLO en el marco temporal H1, el objeto creado también se muestra en los marcos temporales (al menos) H4, M30, M15.


https://docs.mql4.com/ru/constants/objects/visible


Otra constante es OBJ_PERIOD_H1

 

¡Buenos días! Aquí hay una pregunta:

Necesito calcular el número total de colas de compra de las barras anteriores utilizando la fórmula close[1]-low[1] en pips

se vería así

...

int xBost_b;

if(close[1]>open[1])

xBost_b=xBost_b+((close[1]-low[1])*10000);

...

pero todo eso se escribe en start() en cada tick

es decir, con cada tick se incrementa una y la misma barra varias veces, pero ¿cómo debo hacer para que la barra anterior (por ejemplo si compro) se calcule/controle 1 vez?

 
DanLett:

¡Buenos días! Aquí hay una pregunta:

Necesito calcular el número total de colas de compra de las barras anteriores utilizando la fórmula close[1]-low[1] en pips

se vería así

...

if(close[1]>open[1])

xBost_b=xBost_b+((close[1]-low[1])*10000);

...

pero todo lo que se escribe en el start() se ejecuta en cada tick

Es decir, con cada tick se añade una y la misma barra varias veces, ¿cómo hacer que la barra anterior (por ejemplo si compro) se calcule/añada a la variable 1 vez?

a) escribir una secuencia de comandos, contará sólo 1 vez

b) contar el número necesario de barras cada vez

c) averiguar cuándo empieza una nueva barra y sólo entonces "añadir" la barra anterior al cálculo

d) si se trata de un indicador, utilizar IndicatorCounted()

Elija el que mejor se adapte a su tarea

 
ilunga:

a) escribir una secuencia de comandos, contará sólo 1 vez

b) contar el número correcto de barras cada vez

c) averiguar cuándo empieza una nueva barra y sólo entonces "añadir" la barra anterior al cálculo

d) si se trata de un indicador, utilizar IndicatorCounted()

elija lo que es mejor para su tarea

Lo necesito como Asesor Experto; no puedo decidir si debo hacerlo bien o no.

Inicio - cómo contar cada tipo de barra una vez en start()...

 

es decir, mientras se construye la barra actual[0], se define la anterior

y si compramos, encontramos la cola en pips y la añadimos a la variable 1 vez

¡necesito tu ayuda!

 
ilunga:

Buenas tardes. Pregunta sobre el identificador de la propiedad OBJPROP_TIMEFRAMES de los objetos gráficos... Escribí este script para crear un objeto gráfico Línea Horizontal (ver abajo).

Pregunta: ¿Por qué, aunque la función ObjectSet(nombre_del_objeto,OBJPROP_TIMEFRAMES,PERIOD_H1) establece explícitamente que el objeto debe mostrarse SÓLO en el marco temporal H1, el objeto creado también se muestra en los marcos temporales (al menos) H4, M30, M15.


https://docs.mql4.com/ru/constants/objects/visible


Otra constante es OBJ_PERIOD_H1


Sí, gracias, me ayudó... Pero me gustaría entender por qué la opción ObjectSet(nombre_objeto,OBJPROP_TIMEFRAMES,PERIOD_H1) no funciona (como debería)? ¿Son fallos del propio idioma?
 
DanLett:

es decir, mientras se construye la barra actual[0 ] se define la anterior


Como opción:

datetime last_time;   // глобальная переменная

...

int start()
{
   if (last_time != Time[0])
   {
      // Ура, новый бар!
      last_time = Time[0];      // запоминаем новый бар
      //... ваши расчеты с плюсованием
   }
   
... дальше работаем