Errores, fallos, preguntas - página 1787

 
fxsaber:
Incluso sería lógico añadir el número de la garrapata en la cola actual.

Entonces escribo directamente al ServiceDesk#1666680

Por favor, considere la posibilidad de cambiar el funcionamiento

bool SymbolInfoTick( string symbol, MqlTick& tick );

para que en los indicadores (incluido el cuerpo OnCalculate) devuelva los precios actuales según su descripción

al mismo tiempo que se complementa el lenguaje con la función

bool SymbolInfoTick_OnCalculate( string& symbol, MqlTick& tick ); //(*)

que devolvería el símbolo y el tick que provocó la llamada a la función OnCalculate

o como alternativa (*): puede añadir estos parámetros a la llamada OnCalculate.

OnCalculate( ..., const string& symbol, const MqlTick& tick );
 

Tengo una pregunta: ¿se pueden utilizar las herramientas de mql5 para identificar todos los programas en ejecución en los gráficos y sus nombres? En particular, ¿cómo puedo obtener los nombres de todos los indicadores en el gráfico actual?

 
Alexey Kozitsyn:

Tengo una pregunta: ¿se pueden utilizar las herramientas de mql5 para identificar todos los programas en ejecución en los gráficos y sus nombres? En particular, ¿cómo puedo obtener los nombres de todos los indicadores en el gráfico actual?

https://www.mql5.com/ru/docs/chart_operations/chartindicatorstotal

https://www.mql5.com/ru/docs/chart_operations/chartindicatorname

https://www.mql5.com/ru/docs/chart_operations/chartgetstring

https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_string
Документация по MQL5: Операции с графиками / ChartIndicatorName
Документация по MQL5: Операции с графиками / ChartIndicatorName
  • www.mql5.com
Операции с графиками / ChartIndicatorName - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Por favor, avisa, si en el Asesor Experto de MT4 llamas en serie a un indicador personalizado que tiene más de un buffer de gráfico, el recálculo se realiza en cada llamada o todos los buffers se calculan a la vez y puedes aplicar al indicador en el código muchas veces y no esperar que haya un desperdicio de recursos. Otra cuestión interesante es qué pasará si el código no deja de ejecutarse (se ejecuta más de un tick) pero el valor del indicador cambia.

 
A100:

Entonces escribo directamente al ServiceDesk#1666680

Por favor, considere la posibilidad de cambiar el funcionamiento

bool SymbolInfoTick( string symbol, MqlTick& tick );

para que en los indicadores (incluido el cuerpo OnCalculate) devuelva los precios actuales según su descripción

al mismo tiempo que se complementa el lenguaje con la función

bool SymbolInfoTick_OnCalculate( string& symbol, MqlTick& tick ); //(*)

que devolvería el símbolo y el tick que provocó la llamada a la función OnCalculate

o como alternativa (*) : añadir estos parámetros a la llamada a OnCalculate

OnCalculate( ..., const string& symbol, const MqlTick& tick );
¡Me uno a esta evidente insolencia! ))
 
Alexey Kozitsyn:
Esto es muy poco. Medir durante varias horas. En varios instrumentos.
Opa
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486493406313 (2017.02.07 18:50:06), предыдущее = 1486493406315
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: Текущее время мс = 1486493406313 (2017.02.07 18:50:06), предыдущее = 1486493406315
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnCalculate: Текущее время мс = 1486495281212 (2017.02.07 19:21:21), предыдущее = 1486495281213
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: ОШИБКА ПОСЛЕДОВАТЕЛЬНОСТИ! SymbolInfoTick() вернуло не последнее значение!
Test_SymbolInfoTcick (Si-3.17,M1)       OnTick: Текущее время мс = 1486495281212 (2017.02.07 19:21:21), предыдущее = 1486495281213
También hay problemas en OnTick. Según el registro de varias horas , OnCalculate tiene problemas tres veces más a menudo que OnTick. El problema de OnTick se repite siempre en OnCalculate, pero no al revés.
 
fxsaber:
Oops
Problemas en OnTick también. Según el registro de varias horas, OnCalculate tiene problemas tres veces más a menudo que OnTick. Al mismo tiempo OnTick-problema siempre se repite en OnCalculate también, pero no viceversa.
Resultaque SymbolInfoTick() es asíncrono...
 
-Aleks-:

Por favor, avisa, si en el Asesor Experto de MT4 llamas en serie a un indicador personalizado que tiene más de un buffer de gráfico, el recálculo se realiza en cada llamada o todos los buffers se calculan a la vez y puedes aplicar al indicador en el código muchas veces y no esperar que haya un desperdicio de recursos. Otra cuestión interesante es qué pasará si el código no deja de ejecutarse (se ejecuta más de un tick) pero el valor del indicador cambia.

Todos los topes se calculan a la vez. Interrogue tranquilamente los valores de los indicadores: no habrá recálculo

En MT4 el indicador, llamado desde el Asesor Experto, trabaja en el flujo de este mismo Asesor Experto y sobre una copia de sus datos históricos. Puede hacer un bucle con el Asesor Experto, pero al mismo tiempo recibirá los datos del indicador calculados en el momento de la llamada OnTick. Hasta que llame a RefreshRates. RefreshRates actualiza los datos históricos del Asesor Experto, después todos sus datos serán recalculados en la primera llamada del indicador
 
Slawa:
Todos los topes se calculan a la vez. Llamar tranquilamente a los valores del indicador - no habrá recálculo

En MT4 el indicador llamado desde el Asesor Experto trabaja en el flujo de este mismo Asesor Experto y sobre una copia de sus datos históricos. Puede hacer un bucle con el Asesor Experto, pero al mismo tiempo recibirá los datos del indicador calculados en el momento de la llamada OnTick. Hasta que llame a RefreshRates. RefreshRates actualiza los datos del historial del Asesor Experto, después de lo cual todos sus datos serán recalculados en la primera llamada del indicador

Gracias por su respuesta.

Anteriormente también me interesó el parpadeo del indicador ZigZag en MT5 (no hay tal efecto en MT4) - muy molesto - ¿de qué se trata?

Razón de la queja: