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

 
pronych:

¿Cómo activar una actualización forzada de los indicadores desde dentro, es decir, el evento OnCalculate?

Por lo tanto, si no se arregla (a continuación se indican los problemas que pueden surgir).

O por temporizador (algo así).

 
Silent:

Por lo tanto, si no se arregla (a continuación están los problemas que pueden surgir).

O con un temporizador (lo que sea).

Ya veo. )) ¿Has probado a pedir la funcionalidad interna?

 
pronych:

Ya veo. )) ¿Has probado a pedir la funcionalidad interna?

No lo he hecho, en general sí (creo que MetaDraiver escribió a SD), y la cuestión se planteó varias veces en el foro.

La respuesta de los desarrolladores, si es que la hay, la desconozco.

El PS puede ser útil.

Desarrollo delindicador de volatilidad multidivisa en MQL5

Desarrollo de un indicador multidivisa para el análisis de la divergencia de precios

Creo que debería haber sido publicado aquí, no lo encontré.

En la primera, si hay un error

Línea 40 del lienzo CCanvas; error

variable estática no resuelta 'CCanvas::m_default_colors'

añadir

uint CCanvas::m_default_colors[9]={0};

Discutido hace mucho tiempo, no lo he comprobado, lo que ha cambiado.

Разработка мультивалютного индикатора волатильности на MQL5
Разработка мультивалютного индикатора волатильности на MQL5
  • tol64.blogspot.com
В этой статье рассмотрим разработку мультивалютного индикатора волатильности. Начинающий разработчик на MQL5 может столкнуться с некоторыми сложностями при разработке мультивалютных индикаторов, но после прочтения этой статьи всё станет намного проще. Основные вопросы при разработке мультивалютного индикатора относятся к синхронизации данных...
 

Bueno, vamos a tratar de conseguir Metadriver. Tal vez pueda arrojar algo de luz sobre lo que los desarrolladores han respondido. Volodya...

Володя (песня измученного ангольского народа)
Володя (песня измученного ангольского народа)
  • my.mail.ru
Песня посвящена ангольскому революционеру одному из командиров MPLA, убитому в 1975 году (в Луанде в честь него названа одна из улиц). Валодя – это было его боевое прозвище. После 75го года песня про Валодю была очень популярна в Анголе. Где только я ни слышал это имя, Незабываемое для сынов Анголы. Володя, Володя, Володя, славный защитник ангольского народа! Володя, Володя, Володя, противник империалиста, Который собирается установить режим...
 
pronych:

Bueno, vamos a tratar de conseguir Metadriver. Tal vez pueda arrojar algo de luz sobre lo que han respondido los desarrolladores. Volodya...

No entendí bien la pregunta. No pedí un teletipo normal. Como Silencio por el contrario iba a ..., en fin, nos esperábamos.

El caso indirecto fue - ya después de que se descubrió que la solicitud de datos fuera de TERMINAL_MAX_BAR provoca el refresco de todos los indicadores en el gráfico.

He rehecho mi recargador de gráficos de botones y lo he enviado a Service Desk con la nueva versión. He preguntado en los comentarios si esperaba que volviera a funcionar... No dijeron nada... Me pareció bien... Hice un reportaje con él.

;)

--

Bueno, estrictamente hablando, no es un error en realidad. El terminal no se bloquea, ni siquiera se ralentiza mucho, simplemente actualiza los datos en el gráfico. Entiendo lo que están haciendo ahí. Como: solicitud fuera de los datos existentes -> el terminal intenta cargar los datos, seguido de la actualización del gráfico. Simple y eficiente. ¿Por qué cambiar si no hay víctimas?

// Sobre lo de "recalcular el indicador desde dentro", no entiendo el problema. La pregunta no es clara. Internamente, el indicador es su propio maestro, recalcula lo que quiere. Pero si utiliza una señal externa, es otra cosa. Entonces giramos...

 

Hombre, tal vez no deberías)).

No está muy claro cómo prev_calculated afecta específicamente a la representación de los indicadores.

En mi caso, el intento de actualización se produce tanto por OnCalculate() como por el temporizador. Multiinstrumento.

En el intento fallido de obtener filas, la función se interrumpe hasta el siguiente tick o temporizador, no se dibuja, pero los valores no inicializados (según parece) aparecen en el gráfico desde algún lugar.

Aunque en Init() ArrayInitialize(Buffer ,...) está presente.

Tal vez tenga un error en alguna parte. Ocurre más bien poco y es difícil detectarlo.

Me parece que la función normal de forzar la cola en OnCalculate() permitiría minimizar el juego de pandereta en los índices multi-instrumento para los gráficos con ticks raros.

Por cierto, está escrito en la ayuda ;)

Все необходимые расчеты пользовательских индикаторов необходимо размещать в предопределенной функции OnCalculate().

PS. Lo tengo sobre el "chip".

PSPS/ Tengo la sensación de que en el caso dado es más fiable utilizar el cálculo de valores sin utilizar un indicador para un EA. Y por separado un indicador para la visualización.

Pero entonces tendría que calcular lo mismo dos veces.

 
MetaDriver:

No entendí bien la pregunta. No le pedí a la persona que hace la llamada de la garrapata que lo hiciera. Pensé que Silencio iba a..., en fin, que nos apoyábamos el uno en el otro.

...

Me refiero a esto.

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Errores, fallos, preguntas

MetaDriver, 2013.08.03 17:55

"

Si desea utilizar un MetaTrader 5 como terminal de entrada, deberá utilizar la función "MetaTrader 5".

Para mis propósitos no siempre es adecuado, pero en el caso general se eliminarían muchos "problemas de fin de semana".

ParaExpertos en trading, sistemas de trading automatizados y pruebas de estrategias de trading.

Bichos, errores, preguntas

MetaDriver, 2013.08.03 18:02

Estoy de acuerdo.

También sería útil un "comando" para restablecer forzosamente todos los prev_calculados para el símbolo seleccionado. Con la posterior generación de garrapatas sería un buen combo.



 

Durante las pruebas visuales, en el momento en que se reinicia el indicador en el Asesor Experto, el indicador con la configuración antigua sigue apareciendo en el gráfico en el probador (de hecho, cada vez durante la reinicialización se añade una "línea paralela" más). He tratado de hacer IndicatorRelease cada vez antes de obtener un nuevo mango - no ayuda.

Obtenga nuevas asas en el código.

void f_indicator_reinit()
 { 
    
   IndicatorRelease(firstHandle);
   IndicatorRelease(secondHandle);
   IndicatorRelease(thirdHandle);
   IndicatorRelease(fourthHandle);  

   bughelper=bughelper+1;
   
   firstHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,HotPink,HotPink,10,MODE_SMA,PRICE_CLOSE,1);
   secondHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,White,White,10,MODE_SMA,PRICE_CLOSE,2);   
   thirdHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,Red,Red,10,MODE_SMA,PRICE_CLOSE,3);   
   fourthHandle=iCustom(NULL,0,"indicatorname.ex5",12+bughelper,ind_s,Gold,Gold,10,MODE_SMA,PRICE_CLOSE,4); 
 }  

Introduje la variable bughelper porque el indicador no se recalculaba sin cambiar sus parámetros de entrada.

 
Silent:

Eso es lo que quiero decir.

He resuelto el problema del recálculo solicitando los datos fuera de TERMINAL_MAX_BAR.

Y como el gráfico se actualiza en general - no importa si la solicitud se hace desde el indicador o desde un programa externo. Lo principal es que el programa (que solicita) pide datos para este mismo símbolo y marco temporal.

En realidad no me he encontrado con casos en los que necesite actualizar el gráfico "en la máquina". Estoy completamente satisfecho con mi botón // ver el enlace anterior.

Con la generación de ticks (sin actualización del gráfico) el problema no se resuelve, pero no lo he solucionado mucho - se puede evitar en la mayoría de los casos de muchas maneras (sobre todo con un temporizador).

 
IndicatorRelease(firstHandle);
Функция возвращает ошибку 4014 - 

ERR_FUNCTION_NOT_ALLOWED

4014

Función del sistema no permitida para ser llamada

Por favor, indíqueme la razón por la que no se llama aIndicatorRelease().

Razón de la queja: