Gracias por el artículo. Gracias especialmente por el enlace a la biblioteca de cambio de estados del Asesor Experto. Trabajar a través de plantillas es una solución muy original de hecho.
Pero para ser sincero, cuando vi el título pensé que sería algo sobre cliente servidor o sockets....
Si tienes varias cuentas, te cansarás de poner órdenes pendientes por todas partes.
En algún sitio del foro había una librería para interactuar vía telegram. Ahí hay más posibilidades, y todas las órdenes se pueden configurar pulsando botones preparados previamente en el bot.
Gracias por el artículo. Gracias especialmente por el enlace a la biblioteca de cambio de estados del Asesor Experto. Trabajar a través de plantillas es una solución muy original de hecho.
Pero sinceramente, al ver el título pensé que sería algo sobre cliente servidor o sockets....
Si tienes varias cuentas, te cansarás de poner órdenes pendientes por todas partes.
En algún sitio del foro había una librería para interactuar vía telegram. Hay más posibilidades allí, y todos los comandos se pueden establecer pulsando botones pre-preparados en el bot.
Por lo que yo sé, hay planes para preparar un artículo sobre la gestión a través de telegrama e incluso un autor ha sido nombrado. Quizás el nuevo artículo te sea más útil.
#define private public #include <fxsaber\Expert.mqh> // https://www.mql5.com/es/code/19003 #undef private #define STRING_END "\r\n" #define EXPERT_BEGIN ("<expert>" + STRING_END) #define EXPERT_END ("</expert>" + STRING_END) #define EXPERT_NAME "name="
Por lo tanto, para activar / desactivar el Asesor Experto, sólo tenemos que volver a escribir el archivo de plantilla, cambiando la bandera expertmode al valor que necesitamos y la eliminación de objetos ocultos.
No sabía de esta bandera, así como no pensar en las sutilezas de trabajar con objetos, ¡Gracias!
Este código
string temp=EXPERT::TemplateToString(i_chart,true); if(temp==NULL) { i_chart=ChartNext(i_chart); continue; } //--- temp=EXPERT::StringBetween(temp,EXPERT_BEGIN,EXPERT_END); if(temp==NULL) { i_chart=ChartNext(i_chart); continue; }
no sólo atrapará EAs, sino también scripts. Por eso probablemente sea mejor así
if(!EXPERT::Is(i_chart)) { i_chart=ChartNext(i_chart); continue; } string temp=EXPERT::TemplateToString(i_chart,true);
En este caso, las plantillas se guardarán sólo donde sean necesarias.
ZY No hice intencionadamente FileDelete para que siempre pudieras ver la última plantilla generada.
Se puede utilizar una técnica de este tipo para no cambiar el material fuente original
Interesante técnica, nunca se me había ocurrido de esta manera. Gracias.
Este código
no sólo atrapará EAs, sino también scripts. Por eso probablemente sea mejor así
En este caso, las plantillas se guardarán sólo donde sean necesarias.
En el código, TemplateToString fue intencionalmente llamado con la bandera true. Tal vez lo haya olvidado, pero en el cuerpo de la función con la bandera true, la presencia del Asesor Experto en el gráfico se comprueba llamando al método Is.
static string TemplateToString( const long Chart_ID = 0, const bool CheckExpert = false ) { short Data[]; return(((!CheckExpert || EXPERT::Is(Chart_ID)) && ::ChartSaveTemplate((ulong)Chart_ID, PATH + FILENAME) && (::FileLoad(FILENAME, Data) > 0)) ? ::ShortArrayToString(Data) : NULL); }
Por eso ambos códigos deberían funcionar igual.
En general, gracias por la biblioteca y sus comentarios.
Saludos,
Dmitry.
En el código, TemplateToString fue llamado intencionalmente con la bandera true. Tal vez lo haya olvidado, pero la presencia de un Asesor Experto en el gráfico se comprueba llamando al método Is en el cuerpo de la función con la bandera true.
Efectivamente, lo olvidé.
En general, gracias por la biblioteca y sus comentarios.
Me alegro de que lo hayas entendido y añadido sustancialmente. Efectivamente, no estaría de más corregirla teniendo en cuenta los matices que mencionas.
Ocurre que el VPS (o su PC en casa) con el Asesor Experto está fuera de línea durante algún tiempo por razones técnicas. No se sabe cuándo volverá a estar en línea, pero usted necesita, por ejemplo, no operar, porque sabe que puede haber más interrupciones. En este caso, el control remoto propuesto permite mucho más que su variante.
También hay VPS de MetaQuotes. Allí es sólo así.
Esto no sucederá por una razón, no hay Internet - no hay comercio, y probablemente no se han dado cuenta de que el control de la cuenta es visible desde su teléfono o tableta. Si el Internet está fuera, que acaba de cerrar todas las operaciones con las manos, y luego esperar a que aparezca el Internet o estar en casa para nuevas acciones en el PC.
Terminal en su ordenador sin internet, usted está lejos. Usted tiene acceso a su cuenta, pero no a la terminal con el Asesor de Expertos. ¿Cómo hacer que el Asesor Experto no opere, cuando estará conectado al servidor de operaciones (Internet funcionará)?
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Métodos de control remoto de EAs:
La principal ventaja de los robots comerciales es su funcionamiento ininterrumpido las 24 horas del día en un servidor VPS remoto. Pero a veces es necesario intervenir en su funcionamiento manualmente, y ahora no disponemos de acceso directo al servidor. ¿Podemos gestionar de forma remota el funcionamiento del asesor? En este artículo se presenta una de las variantes de control de robots a través de comandos externos.
En los tiempos de las tecnologías de la información, el uso de distintos robots y expertos electrónicos para comerciar en los mercados financieros se ha convertido en un hecho bastante común. Normalmente, se consideran como principales ventajas de los expertos electrónicos la impecable ejecución del algoritmo y su funcionamiento ininterrumpido las 24 horas del día. Para usarlo las 24 horas, se alquilan las capacidades de los hostings virtuales, lo que permite utilizar asesores de forma independiente durante todo el día.
Pero, desafortunadamente, no todos los asesores funcionan igual de bien en cualquier situación del mercado. En semejantes casos, se debe controlar manualmente el funcionamiento de los asesores: bien activándolos, bien desactivándolos. Esto se puede hacer fácilmente cuando el usuario está cerca del terminal. Pero, ¿qué ocurre si no se dispone de acceso rápido al terminal con el asesor en funcionamiento? En este caso, estaría bien poder controlar de forma remota el funcionamiento del asesor. Vamos a analizar uno de los posibles métodos de control remoto mediante asesores expertos en el terminal.
Autor: Dmitriy Gizlyk