![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Por casualidad la historia rebota?
¿Es siempre sólo en un símbolo o también en el GBPUSD?
¿Qué construcción? ¿Qué servidor?
El rebote de la historia es cosa del pasado,
No en todos los pares de divisas tanto en simbol1 como en simbol2,
Bild 370, cuenta demo (alpari-demo)
Me gustaría notar que sólo tengo un comerciante (de la captura de pantalla anterior) el rebasamiento es
Me gustaría notar que si dejo un indicador (en la captura de pantalla de arriba), el re-dibujo no se nota tanto,
puede volver a dibujarse varias veces.
Pensé que el ordenador podría ser lento, pero es lo mismo en un ordenador de 2 núcleos y el gráfico no se desplaza
Probablemente, está esperando el tiempo de inactividad o algo más...
¡Por la tarde en los seis núcleos se hará la prueba!
También quiero señalar que no ha pasado nada con otros pavos similares.
No puede ser por cálculos complicados. Y la plataforma giratoria es sencilla
y funciona a precios Open.
¡Ayuda! El indicador funciona bien, muestra y calcula todo, pero
cuando llega un nuevo tick, se reinicia y las líneas se vuelven a calcular.
A mí me ocurre esto regularmente con la pérdida de conexión. Tras la reconexión, el terminal vuelve a calcular los valores de los indicadores, lo que lleva tiempo. De referencia:
Hay que tener en cuenta la relación entre el valor devuelto por OnCalculate() y el segundo parámetro de entrada prev_calculado. El parámetro prev_calculado cuando se llama a la función contiene el valor devuelto por OnCalculate() en la llamada anterior. Esto permite economizar los algoritmos de cálculo del indicador personalizado para evitar cálculos repetidos para aquellas barras que no han cambiado desde la anterior llamada a esta función.
Para ello, suele bastar con devolver el valor del parámetro rates_total, que contiene el número de barras de la llamada a la función actual. Si desde la última llamada de OnCalculate() los datos del precio han cambiado (se ha bombeado un historial más profundo o se han llenado los espacios en blanco del historial), entonces el valor del parámetro de entrada prev_calculado será puesto a cero por el terminal.
No sé cuál es exactamente su situación, pero en mi caso me explico ese comportamiento como un "relleno de lagunas en la historia". ¿O tal vez su indicador funciona de manera ineficiente, recalculando todo el rango de valores a cada llegada de un tick?
No hubo pérdida de comunicación, ni sobrecarga de garrapatas, y cuanto más grande es la TF, más rara es.
Y el método de cálculo desde la fecha de inicio hasta la fecha de finalización (he descubierto que hay 3) sin
Probablemente ocurre (recalcula todas las barras), pero aún no es preciso y no sé cómo comprobarlo.
pero es sólo una idea - vamos a comprobarlo...
Tal vez haya otro enfoque para deshacerse de él...
No hubo pérdida de comunicación, ni sobrecarga de garrapatas, y cuanto más grande es la TF, más rara es.
Y el método de cálculo desde la fecha de inicio hasta la fecha de finalización (he descubierto que hay 3) sin
Probablemente ocurre (recalcula todas las barras), pero aún no es preciso y no sé cómo comprobarlo.
pero es sólo una idea - vamos a comprobarlo...
Tal vez haya otro enfoque para deshacerse de él...
Por supuesto, hay un enfoque. Si(prev_calculado==0), realizamos el cálculo inicial para todas las barras. Posteriormente, para cada nuevo tick (si 0 < prev_calculado < rates_total) realizamos cálculos del tipo for(int i=prev_calculado-1;i<rates_total;i++) sólo para las últimas barras aparecidas.
Quiero obtener el valor del timeframe del gráfico actual como una cadena. Lo escribo así:
El compilador me dice que 'PeriodStr' - la función no está definida...
¿Qué sentido tiene? Colegas, por favor, ayuda :-)
Existe una función de este tipo en la Ayuda:
PeriodStr
Convierte el valor de la enumeración ENUM_TIMEFRAMES en una cadena.
stringPeriodStr(
int val// valor
)
Estimados desarrolladores, por favor, díganme qué es una llamada ambigua a una función sobrecargada (esto es lo que jura el compilador):
'set' - llamada ambigua a una función sobrecargada
HH he descubierto la forma en que si se sustituyen las constantes en el primer y segundo parámetro al tipo de variable int, entonces el juramento se detiene.
Pero no entiendo la lógica del compilador, los dos primeros parámetros son los mismos en todas las sobrecargas, no hay parámetros por defecto.
Entonces, ¿por qué jura el compilador, cuál es la ambigüedad de la llamada?
Quiero obtener el valor del timeframe del gráfico actual como una cadena. Lo escribo así:
El compilador me dice que 'PeriodStr' - la función no está definida...
¿Qué pasa? Colegas, por favor, ayúdenme :-)
El archivo de ayuda tiene esta función:
PeriodStr
Convierte el valor de la enumeración ENUM_TIMEFRAMES en una cadena.
stringPeriodStr(
int val// valor
)
Quiero obtener el valor del timeframe del gráfico actual como una cadena. Lo escribo así:
El compilador me dice que 'PeriodStr' - la función no está definida...
¿Cuál es el problema? Colegas, por favor, ayúdenme :-)
Existe una función de este tipo en la Ayuda:
PeriodStr
Convierte el valor de la enumeración ENUM_TIMEFRAMES en una cadena.
stringPeriodStr(
int val// valor
)
Este es un método de clase
https://www.mql5.com/ru/docs/standardlibrary/technicalindicators/cindicator
#include<Indicators\Indicator.mqh>