[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 409
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
Cuando se abre y actualiza el gráfico, se envía una solicitud de nuevos datos al servidor. Algunas empresas de corretaje codiciosas prefieren gastar su dinero en sus propios bolsillos en lugar de en servidores más potentes y un canal más amplio. Tienen que limitar el número de peticiones del terminal para que un servidor débil no se "cuelgue". El MRC sólo tiene 2.000 solicitudes al día. Es 10 veces menos que el número de sus instrumentos multiplicado por el número de TFs, sin contar las solicitudes de operaciones.
Las incrustaciones en MQL4 ayudan a racionalizar el código. Por ejemplo, así es como se ve un indicador para 3000 líneas en mi código.
La cosa es que he visto bibliotecas, y se menciona en la documentación, que los inludes se suelen colocar en la parte superior del código, donde se declaran las variables globales. Si hay funciones en los inludes, parece extraño pensar que en un lugar donde se declaran variables globales habrá de hecho una función en ese lugar, y alternativamente, algún tipo de variables. No es así como está escrito el código. Si las variables utilizadas en el Asesor Experto y las variables externas personalizadas se declaran en la parte superior, ¡nadie pone funciones al lado! Pero colocan inludes con funciones, y se considera normal, según tengo entendido. Esto es lo que más me confunde aquí.
No parece lógico...
Por otro lado, si se coloca un inline, en algún lugar. en lugar de varias funciones, que se encargan de obtener, digamos, una señal de comercio para algún atributo, sería algo lógico y legible.
Lamentablemente, el compilador no permite que una inclusión se utilice más de una vez en un módulo. Suele ser una forma de ahorrar en código repetitivo.
Buenas tardes a todos.
Estudio de las funciones MarketInfo ( ) y Print( )
He aquí un código sencillo que utiliza estas funciones
Probador, TF 60 min.
La solicitud del gráfico parece la solicitud de CopyRates ArrayCopySeries y no la de RefreshRates. CopyRates es la única función no comercial que mueve el servidor.
Comprobado RefreshRates(). Si este Asesor Experto se ejecuta, por ejemplo, en EURUSD, y se inserta en la configuración otra herramienta cuya ventana no se ha abierto durante mucho tiempo (para que el historial no esté allí), el historial aparece.
Así, RefreshRates() se refiere al servidor y descarga el historial. En consecuencia, es necesario controlar la llegada de la historia.
El soporte dice que ninguna de las funciones se refiere directamente al servidor. Todo se realiza a través del terminal :-).
Si utiliza GetProfitFromDateInCurrency() (original - esto es IMPORTANTE: no sé lo que puede tener ahí en su versión), entonces la función debe ser llamada así:
y la función devolverá los beneficios de las órdenes cerradas desde el inicio del día actual.
Y puedes atrapar todas las estupideces del código usando Print().
no funciona. Muestra todos los beneficios disponibles en las operaciones de todo el historial.
Aquí está la función original y no he cambiado nada en ella, por supuesto
aquí está su llamada e impresión
Comprobado RefreshRates(). Si este Asesor Experto se ejecuta, por ejemplo, en EURUSD, y se inserta en la configuración otra herramienta cuya ventana no se ha abierto durante mucho tiempo (para que el historial no esté allí), el historial aparece.
Por lo tanto, todavía RefreshRates() se refiere al servidor y llena el historial. En consecuencia, es necesario controlar la llegada de la historia.
El soporte dice que ninguna de las funciones se refiere directamente al servidor. Así que todo se hace a través del terminal :-)
Vadim, he ejecutado tu script en un terminal en el que nunca he abierto ningún instrumento aparte de los mayores y los cruces con el yen. De todos modos, aquí hay una captura de pantalla:
No se bombea nada porque la matriz de datos del mercado está vacía, a juzgar por los comentarios...
Vadim, he ejecutado tu script en un terminal en el que nunca he abierto ningún instrumento aparte de los mayores y los cruces con el yen. De todos modos, aquí hay una captura de pantalla:
No se está bombeando nada, ya que el conjunto de datos del mercado está vacío, a juzgar por los comentarios...
Sí. Tampoco se dio cuenta de que tiene MarketInfo() en su Asesor Experto y no sólo RefreshRates().
Comprobado RefreshRates(). Si este Asesor Experto se ejecuta, por ejemplo, en EURUSD, y se inserta en la configuración otra herramienta cuya ventana no ha estado abierta durante mucho tiempo (para que el historial no esté allí), el historial aparece.
Por lo tanto, todavía RefreshRates() se refiere al servidor y llena el historial. En consecuencia, es necesario controlar la llegada de la historia.
El soporte dice que ninguna de las funciones se refiere directamente al servidor. Así que todo se hace a través del terminal :-)
El nivel de imaginación es impresionante. ¿Por qué los datos aparecen sólo para algunos símbolos (que no se han abierto), y no para todos ellos en la revisión del mercado? ¿Cómo sabe la función RefreshRates() que algunos símbolos deben actualizarse y otros no?
Junko, deja de divagar.
no funciona. Muestra todos los beneficios disponibles en las operaciones de todo el historial.
Aquí está la función original y no he cambiado nada en ella, por supuesto
aquí está su llamada e impresión
Así que todo es correcto. Lees la función línea por línea y entiendes cómo funciona, si estás demasiado aburrido para escribirla tú mismo, y todo encaja...
Tienes un parámetro de la función:
es lahora deapertura de la última barra del día, es decir, se calcularán y sumarán todas las posiciones cerradas antes de la apertura de la barra del día actual. ¿Tiene sentido? Así que pon otro listón, el que se requiere o el que sea. Pero depende de ti ver.
Sí. Tampoco se dio cuenta de que tiene MarketInfo() en su Asesor Experto, no sólo RefreshRates().
Todas las demás funciones:
DoubleToStr(iOpen(sTool, 0, i), Digits), ",
DoubleToStr(iLow(sTool, 0, i), Digits), ",
DoubleToStr(iHigh(sTool, 0, i), Digits), " ",
DoubleToStr(iClose(sTool, 0, i), Digits), ",
DoubleToStr(iVolume(sTool, 0, i), 0), "\n");
Naturalmente, los datos se actualizarán.