Discusión sobre el artículo "Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos"

 

Artículo publicado Consejos de un programador profesional (parte II): Organizando el almacenamiento y el intercambio de parámetros entre el experto, los scripts y los programas externos:

Consejos de un programador profesional sobre métodos, técnicas y herramientas auxiliares para facilitar la programación. En esta ocasión, hablaremos de los parámetros que podemos restaurar tras reiniciar (cerrar) el terminal. Todos los ejemplos son en realidad trozos del código operativo del proyecto Cayman del propio autor.

El script SetTradeLevel nos permite establecer los parámetros del nivel comercial. En el gráfico se destaca un objeto (línea recta, línea de tendencia o rectángulo). El script SetTradeLevel encuentra el objeto (nivel comercial) destacado y establece sus parámetros.

Parámetros del script SetTradeLevel

A continuación, el script guarda los parámetros en el archivo Files Files\Cayman\Params\128968168864101576\exp_05_Lev607A160E_H4.txt y envía el comando y la ruta al archivo a través de la función SendCommand.

Autor: Malik Arykov

 

¿Por qué necesito servicios de terceros para enviar un mensaje a mi smartphone? ¿Son mejores? Hay mensajes Push en el terminal.

Si necesita transferir información de una vez (es decir, el script creó algo y el EA lo aceptó de inmediato) - ok. Si el EA necesita, por ejemplo, cargar y obtener información sobre el comercio (nivel de martin en el momento, grupos de órdenes, etc., que no está en las propias órdenes), entonces es mejor gestionar de alguna manera sin archivos y almacenamiento local tanto como sea posible. La mayoría de los usuarios olvidarán que hay un archivo en algún lugar y se llevarán una sorpresa al transferir el Asesor Experto a otro terminal.

También, además del comentario en las órdenes (posiciones) hay un magik, en el que también se puede encriptar información.

Yo también prestaría atención al rendimiento y al número de comprobaciones sobre la llegada de información.

 
Sofiia Butenko:

¿Por qué necesito servicios de terceros para enviar un mensaje a mi smartphone? ¿Son mejores? Hay mensajes Push en el terminal.

Si necesita transferir información de una vez (es decir, el script creó algo y EA lo aceptó inmediatamente) - ok. Si EA necesita, por ejemplo, cargar y obtener información sobre el comercio (nivel de martin en el momento, grupos de órdenes, etc., que no está en las propias órdenes), entonces es mejor gestionar de alguna manera sin archivos y almacenamiento local tanto como sea posible. La mayoría de los usuarios olvidarán que hay un archivo en alguna parte y se llevarán una sorpresa al transferir el Asesor Experto a otro terminal.

También, además del comentario en las órdenes (posiciones) hay un magik, en el que también se puede encriptar información.

Yo también prestaría atención al rendimiento y al número de comprobaciones sobre la llegada de información.

1) Un sonido para cada tipo de notificación.

2) El usuario no necesita saber nada de los archivos. Esta es la lógica de los programas. Si hay fichero - restablecer parámetros, si no hay fichero - utilizar valores por defecto.

3) Puedo ver los comentarios de la orden en el terminal y puedo saber inmediatamente lo que estaba mal en una operación perdedora. Ya que puedo ver la situación antes de abrir una orden de inmediato.

4) Lo siento, no entiendo sobre el rendimiento y el número de controles. ¿Puedes mostrarme con el dedo

 
Malik Arykov:

1) Un sonido diferente para cada tipo de notificación.

2) El usuario no necesita saber nada de los archivos. Esta es la lógica del software. Si hay un archivo - restaurar los parámetros, si no hay archivo - utilizar los valores por defecto.

3) Puedo ver los comentarios de la orden en el terminal en el historial y puedo saber inmediatamente lo que estaba mal en una operación perdedora. Como puedo ver inmediatamente la situación antes de abrir una orden

4) Lo siento, no entiendo sobre el rendimiento y el número de controles. ¿Puedes mostrarme con el dedo

1) De acuerdo, aunque nunca ha habido una petición de este tipo por parte de los usuarios. Hubo peticiones de SMS hace mucho tiempo y para eso se necesitaban servicios de terceros.

2) Obligatorio si el archivo es necesario para cargar el EA y debe ser transferido junto con el EA. No has entendido lo que quería decir.

3) ¿Y qué había de malo en la operación perdedora? A veces se necesitan cientos de órdenes reales o de la historia para restaurar la imagen completa de la negociación. Seleccionar cada una estira el recurso, y en MT4 puede no haber historial (si no es seleccionado por el usuario), por lo que todas las operaciones de búsqueda deben reducirse al mínimo. No hablo de casos sencillos.

4) ¿Cómo se sabe que el segundo programa ha creado un objeto gráfico? ¿Enumerando constantemente todos los objetos y comprobando el nombre de cada marca? Y entonces el usuario ejecutará un par de docenas, o incluso un centenar de versiones y dirá "Haz algo que estoy colgado". Realmente hubo casos así...

-------

Toda mi opinión se basa en mi experiencia en el trabajo independiente - cómo hacer que el usuario no rompió nada y luego no se quejó.

 
Sofiia Butenko:

4) ¿Cómo sabes que el segundo programa ha creado un objeto gráfico? ¿Recorriendo constantemente todos los objetos y comprobando el nombre de cada marca? Y entonces el usuario ejecutará un par de docenas, o incluso un centenar de versiones y dirá "Haz algo que estoy colgado". Realmente hubo casos así...

-------

Toda mi opinión se basa en mi experiencia en el trabajo independiente - cómo hacer que el usuario no rompió nada y luego no se quejó.

4) El nombre del objeto gráfico con parámetros es uno y constante. Ejecuté el script. Configuré los parámetros y los guardé en el objeto gráfico. Cada tick el Asesor Experto comprueba si hay un solo objeto. Si hay un objeto, lee los parámetros e inmediatamente lo borra. El script y el Asesor Experto están en un gráfico. Los Expertos en otros gráficos no saben nada al respecto.

 
Sofiia Butenko:

2) Obligatorio si el archivo es necesario para cargar el EA y debe ser transferido junto con el EA. No me ha entendido.

Al iniciar un Asesor Experto o script, obtengo "No hay archivo PATH/AppSettings.txt. Por favor, lea las instrucciones de instalación".

 
Lo complicado sobre lo sencillo... o lo que es más patetismo para llamar a un artículo sobre nada.
 
Sofiia Butenko:

¿Por qué necesito servicios de terceros para enviar un mensaje a mi smartphone? ¿Son mejores? Hay mensajes Push en el terminal.

De la ayuda: "La función SendNotification() tiene límites de uso estrictos: no más de 2 llamadas por segundo y no más de 10 llamadas por minuto. La frecuencia de uso se controla dinámicamente, y la función puede bloquearse si se infringe".

Son restricciones serias, por ejemplo, si el Asesor Experto realiza operaciones de trading en la apertura de la vela.

Yo uso el envío de mensajes en Telegram.

 

Я пользуюсь отправкой сообщений в Телеграм.

Yo también hacía algo así, ahora no me interesa enviar nada ni a ningún sitio, el servicio incorporado en el terminal es bastante y casi nunca lo miro,

y en general creo que no se puede ralentizar un robot de trading enviando mensajes..... que por un motivo u otro pueden suspender al propio robot de trading,

pero sobre Telegram y la solución propuesta aquí tengo que decir que este artículo ofrece una solución un orden de magnitud más sencilla ..... gracias al autor

 
Boris Egorov:

y en general, creo que no se debe ralentizar un robot de trading enviando mensajes ..... que por un motivo u otro pueden suspender al propio robot de trading,

WebRequest tiene un parámetro de tiempo de espera. Por interés se puede comprobar la velocidad de WebRequest para el servicio WirePusher insertando Print(TimeCurrent()) antes y después de enviar la petición. Por regla general, es insignificante. Bueno, si todavía obtiene un código de error por tiempo de espera, puede hacer una cola de procesamiento de solicitudes. El mensaje no salió en el siguiente tick, así que saldrá en el siguiente tick. Lo principal es eliminarlos de la cola después del envío con éxito ;-)

 
Aleksey Mavrin:
Difícil sobre lo simple... o lo que es más patético llamar a un artículo sobre nada.

+