Discusión sobre el artículo "Cómo crear tu propio Trailing Stop" - página 6

 
Ninguno de los códigos publicados no abre operaciones, dando errores 2021.02.08 23:43:23.200 my_first_ea_sartrailing (ES,M1) Alert: Request to set Buy order failed - error code:4756 Al mismo tiempo la solicitud de precios parece ser real 2021.02.08 23:43:23.200 my_first_ea_sartrailing (ES,M1) Alerta: action= 1price= 3900.88sl= 3900.58tp= 3901.88volume= 0.1magic= 12345type= 0type_filling= 0deviation= 1000


 
Gracias, gran artículo muy detallado.
 

Parece que esta es una discusión muerta pero pondré mis comentarios.


Hay un par de errores encontrados durante la compilación que necesitan ser resueltos.

En la petición ZeroMemory en la línea 116 el compilador dice

ZeroMemory' - toke inesperado, ¿probablemente el tipo es misión?

mrequest' - declaración sin tipo

Esto parece que el mrequest no fue declarado correctamente con un tipo......No estoy seguro de cómo solucionar esto.


Además,


valor de retorno de "OrderSend" debe ser comprobado. en line215 y 262


Parece que devuelve un valor que no debería.


Agradecería cualquier ayuda para solucionar estos dos problemas.

Chris

 

¿Realmente quieres entender lo que está escrito en los comentarios?

clase CTrailingStop{

protegido:
string m_symbol; // simbología
ENUM_TIMEFRAMES m_timeframe; // marco temporal
bool m_eachtick; // trabajo en cada tick
bool m_indicator; // mostrar el indicador en el gráfico
bool m_button; // mostrar botón on/off
int m_button_x; // koridinate x del botón
int m_button_y; // coordenada y del botón
color m_bgcolor; // color del botón
color m_txtcolor; // color de la leyenda del botón
int m_shift; // bool m_shift; // bool desplazamiento
bool m_onoff; // encender/apagar
int m_handle; // chíldel indicador
datetime m_lasttime; // hora de la última ejecución del trailing stop
MqlTradeRequest m_request; // estructura de la solicitud de operación
MqlTradeResult m_result; // estructura del resultado de una solicitud de operación
int m_digits; // número de dígitos después del punto decimal del precio
double m_point; // valor del punto
string m_objname; // nombre del botón
string m_typename; // nombre del tipo de stop de rastro
string m_caption; // título del botón
 
Una lectura muy gratificante, ¡gracias!
 
Hola amigos, he cambiado OrderSend para el objeto Trade, mucho más fácil. Además el evento se ejecuta cada segundo, no es necesaria una frecuencia tan rápida. Lo cambié a cada 60 segundos y mejora drásticamente el rendimiento.
 
Rustam Ayupov #:

¿Realmente quiere entender lo que dicen los comentarios?

protected:
string m_symbol;             // símbolo
ENUM_TIMEFRAMES m_timeframe; // marco temporal
bool m_eachtick;             // se ejecuta en cada tick
bool m_indicator;            // mostrar el indicador en el gráfico
bool m_button;               // mostrar botón de encendido/apagado
int m_button_x;              // coordenada x del botón
int m_button_y;              // la coordenada del botón
color m_bgcolor;             // color del botón
color m_txtcolor;            // color de la leyenda del botón
int m_shift;                 // desplazamiento de la barra
bool m_onoff;                // encendido/apagado
int m_handle;                // tirador indicador
datetime m_lasttime;         // hora de la última ejecución del trailing stop
MqlTradeRequest m_request;   // estructura de la solicitud comercial
MqlTradeResult m_result;     // estructura del resultado de la solicitud de negociación
int m_digits;                // el número de decimales del precio
double m_point;              // valor del artículo
string m_objname;            // nombre del botón
string m_typename;           // nombre del tipo de trailing stop
string m_caption;            // inscripción en el botón

Saludos, Vladimir.