Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1012

 
Alexey Viktorov:

Observa en este post las palabras "Todos los terminales tienen carpetas compartidas".


Busca información sobre cómo hacerlo y ya está... Se llama enlace de carpetas.

Así que puedes hacer esto. Escriba una biblioteca y acceda a esta biblioteca desde diferentes terminales y podrán intercambiar datos o conectar un robot a 2m terminales. Leí un poco sobre la vinculación hasta que lo entendí. ¿Tal vez haya un tema en el que se pueda preguntar más al respecto?

 
Seric29:

Así que puedes hacer esto. Escriba una biblioteca y acceda a esta biblioteca desde diferentes terminales y podrán intercambiar datos o conectar un robot a 2 terminales. Leí un poco sobre la vinculación hasta que lo entendí. ¿Tal vez haya un tema en el que se pueda preguntar más al respecto?

No he visto el tema en el foro, pero después de mirar unas cuantas instrucciones, me parece más comprensible esta. Lo probé, funcionó, pero no veo la necesidad de usarlo todavía. Aunque creo que sería una buena idea combinar el historial de todos los terminales en una sola carpeta.

 
Alexey Viktorov:

No me he encontrado con este hilo en el foro, pero después de mirar unas cuantas instrucciones, me parece más comprensible este. Lo he probado y funciona, pero aún no veo la necesidad de hacerlo. Aunque creo que unir el historial de todos los terminales en una sola carpeta estaría bien.

Gracias por los consejos. He utilizado un enlace duro



Esto requiere que los terminales se instalen en el mismo volumen

, estúpidamente añadí una unidad y luego fusioné los archivos ex4 y mq4, como resultado todo funciona en ambos lados ahora puedes escribir bibliotecas compartidas y usarlas. No sé que tan confiable es pero tiré el robot en los conteos de la gráfica. Cuando compilo el código los archivos cambian por 2 lados, pero actualizan los cálculos por un lado, si dejo el robot para que trabaje en modo online necesito que el programa sea el mismo y que se complete y compile como va a funcionar de forma desconocida, quizás alguien tenga la oportunidad de comprobarlo, yo aún no puedo comprobarlo.

 
Seric29:

Gracias por los consejos. He utilizado un enlace duro



Esto requiere que los terminales se instalen en el mismo volumen

, añadí estúpidamente una unidad y luego fusioné los archivos ex4 y mq4, al final todo funciona en ambos lados ahora puedes escribir bibliotecas compartidas y usarlas. No sé que tan confiable es pero tiré el robot en los conteos de la gráfica. Cuando compilo los archivos de código cambian en 2 lados, pero actualizar los cálculos en un lado, si dejo el robot para trabajar en el modo en línea que necesito el programa para ser el mismo y completado y compilado como va a funcionar es desconocido, tal vez alguien tiene la oportunidad de comprobar, no puedo probar todavía.

Así que hay una carpeta mágica directamente en el compilador, o no es adecuado?


 
Seric29:

Gracias por los consejos. He utilizado un enlace duro

¿Por qué hacer enlaces a archivos específicos? ¿No sería mejor hacer enlaces simbólicos a carpetas y todos los archivos de esta carpeta estarán disponibles en los terminales donde se hagan estos enlaces?

Es una buena idea:

En la imagen 00.png, a la izquierda está la propia carpeta, y a la derecha un enlace desde un terminal.

En la imagen 11.png también, un enlace de otro terminal

Y en el contenido de la imagen 22.png, a la izquierda hay una carpeta propia, y a la derecha hay contenido de un enlace.

Archivos adjuntos:
00.png  102 kb
11.png  103 kb
22.png  118 kb
 
Vitaly Muzichenko:

Entonces, ¿hay una carpeta mágica justo en el compilador, o no es adecuada?


Pregunto si es posible hacer esto y si funcionará de forma fiable. La respuesta fue no. Me aconsejaron algún programa, por supuesto jugué con él pero no funcionó. Luego dio el consejo de la línea de comandos, me pasé 3 horas jugando y conseguí algo, pero no sé cómo no es fiable primero actualiza la fecha del archivo y el contenido, y luego comenzó a cambiar sólo el contenido y la fecha no ha cambiado, es un poco extraño. ¿Dónde puedo leer sobre su método? ¿Cómo de fiable es, podrán los robots comunicarse entre sí en línea?

 
Alexey Viktorov:

¿Por qué hacer enlaces a archivos específicos? ¿No sería mejor hacer enlaces simbólicos a carpetas y todos los archivos de esta carpeta estarán disponibles en los terminales donde se hagan estos enlaces?

Es notable así:

En la captura de pantalla 00.png a la izquierda está la propia carpeta y a la derecha un enlace desde un terminal

La imagen 11.png también tiene un enlace desde otro terminal

Y en la imagen 22.png hay un contenido, a la izquierda una carpeta propia, y a la derecha un enlace al contenido.

Lo he visto, la sincronización a través de TotalComander, pero según tengo entendido sólo transfiere archivos (por ejemplo, imágenes), y si estamos hablando de que hay un archivo de texto y se cambia, ¿cambiará si añado algo al archivo? ¿Hasta qué punto es fiable la comunicación de TotalComander y pueden los robots comunicarse entre sí en línea o es sólo para escribir código?

 
Seric29:

He visto esto, la sincronización a través de TotalComander, pero según tengo entendido sólo transfiere archivos (como imágenes), pero si estamos hablando de un archivo de texto y cambia, ¿cambiará si añado algo al archivo? ¿Cómo de fiable es la comunicación a través de TotalComander, podrán los robots comunicarse entre sí en línea o sólo será útil para escribir código?

TotalComander sólo sirve para mostrar el contenido de dos carpetas. Me resulta más familiar que el Explorador de Windows. También hice todos los enlaces simbólicos en la línea de comandos. Sólo que he utilizado /D en lugar de /H y no un archivo, sino una carpeta. Y este enlace desde diferentes lugares tiene acceso al mismo archivo.

Aunque, me preguntaba si el archivo estará disponible cuando sea utilizado por un terminal... Mejor contacta con Segei Tarbolin en persona. Según tengo entendido, lo usa y probablemente lo sabe exactamente.

 
Alexey Viktorov:

TotalComander es sólo para mostrar el contenido de dos carpetas. También me resulta más familiar que el Explorador de Windows. Y he hecho todos los enlaces simbólicos de la misma manera desde la línea de comandos. Sólo que he utilizado /D en lugar de /H y no un archivo, sino una carpeta. Y este enlace desde diferentes lugares tienen acceso al mismo archivo.

Aunque, acabo de pensar, pero si el archivo estará disponible cuando es utilizado por un terminal ... Mejor escribir en el personal Segei Tarbolin. Según tengo entendido, lo usa y probablemente lo sabe exactamente.

He jugado con el Total Commander, en general, como yo lo entiendo, entonces sólo hay sincronización en el momento de pulsar el botón está sucediendo y a través de la tecla de la consola H, el contenido del archivo está cambiando en tiempo real, pero al hacer clic en compilar en los cálculos originales que el robot ha hecho por referencia no se cambian, tengo que pulsar el botón de compilación y el enlace, pero si el robot es el mismo y no tocar el código funciona, no sé si va a trabajar en línea, aún no es posible probar puede derribar programa de configuración sin terminar. Pero como los archivos cambian la propiedad creo que debería funcionar. En general, aquí o a través de la consola o el chico sugirió algo más arriba, pero no he encontrado la información normal. Escribiré al hombre que me aconsejó.

 

Hola a todos, podríais decirme cómo reescribir correctamente la función de MQL4 a MQL5 :

//+------------------------------------------------------------------+
//Número de órdenes de venta cerradas en la última barra
int Anz_g_Sell_Order()
{
int cuenta = 0;
for(int i=Total de Pedidos()-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == true
&& OrderSymbol() == Symbol() && OrderType() == OP_SELL
&& OrderMagicNumber() == Magic_Nr
&& OrderCloseTime() > iTime(NULL,PERIOD_M15,0))
{
cuenta++;
}
}
return(count);
}
//+---------------------------------------------------------------------+

Lo he vuelto a escribir, pero por alguna razón no funciona, ¿dónde está el error? :

//+------------------------------------------------------------------+
//Número de órdenes de venta cerradas en la última barra
int Anzahl_g_Orden_de_venta()
{
int cuenta = 0;
if(HistorySelect(0,INT_MAX))
{
for(int i=HistoryDealsTotal()-1;i>=0;i--)
{
ulong ticket = HistoryDealGetTicket(i);
if(HistoryDealGetString(ticket,DEAL_SYMBOL) == _Symbol
&& HistoryDealGetInteger(ticket,DEAL_TYPE) == DEAL_TYPE_SELL
&& HistoryDealGetInteger(ticket,DEAL_ENTRY ) == DEAL_ENTRY_OUT
&& DEAL_ENTRY_OUT > iTime(NULL,PERIOD_M15,0))
{
cuenta++;
}
}
}
return(count);
}
//+---------------------------------------------------------------------+