Discusión sobre el artículo "Guía paso a paso para escribir un Expert Advisor en MQL5 para principiantes" - página 20

 
Ms fox pro, ma esos eran los días
 

Así que ahora he reconstruido el EA.

Por supuesto que no esrentable, pero al menos es legible (para mí).

Buena suerte con la continuación de la misma.

Archivos adjuntos:
 
Otto Pauser:

Por lo tanto, ahora he reconstruido el EA.

Por supuesto que no es rentable, pero al menos es legible (para mí).

Buena suerte con la continuación de la misma.

MUCHAS GRACIAS.

Despídete de mis vacaciones sin cuaderno por ahora

 
vmajor:

Hola, soy nuevo, muy buena guía, ¡gracias!


Sin embargo, tengo un problema. He compilado el ejemplo proporcionado, corrió a través del depurador, los puntos de interrupción trabajado, reanudó la depuración y me sale 4756 errores en las órdenes de compra y venta, así:



¿Qué puede estar pasando y qué debo mirar para corregir este comportamiento?


V.


Es un error del EA. Echa un vistazo a la página 2 donde está la solución.

Mejor enfoque: utilizar la clase https://www.mql5.com/es/docs/standardlibrary/tradeclasses/ctrade.

Documentation on MQL5: Standard Library / Trade Classes / CTrade
Documentation on MQL5: Standard Library / Trade Classes / CTrade
  • www.mql5.com
Standard Library / Trade Classes / CTrade - Reference on algorithmic/automated trading language for MetaTrader 5
 

El EA esta abriendo muchas posiciones tanto de compra como de venta.

La mejor forma de corregirlo es Esta

if(Condición_de_compra_1 && Condición_de_compra_2)

{

if(Condición_de_compra_3 && Condición_de_compra_4)

{

// ¿alguna posición de compra abierta?

if(Compra_abierta || Venta_abierta)

{

Alert("¡¡¡Ya tenemos una Posición abierta!!!");

return; // No abrir una nueva posición de compra

}

---------------Lo mismo es aplicable a la posición de venta-----------------------


El código original bajo abre múltiples posiciones:

if(Condición_Compra_1 && Condición_Compra_2)

{

if(Condición_de_compra_3 && Condición_de_compra_4)

{

// ¿alguna posición de compra abierta?

if(Compra_abierta ) //Error, debería ser: if(Compra_abierta || Venta_abierta)

Alert("¡¡¡Ya tenemos una posición abierta!!!");

return; // No abrir una nueva posición de compra

}

 
chucks4sure:

Por favor, edita tu mensaje y utiliza el botón de código (Alt + S) cuando publiques código.

 
¿Podría alguien ayudarme con la optimización del EA?
¿Qué valores de inicio, fin y paso debo utilizar?
¿Puedo utilizar la optimización genética?
 
Ya que más gente viene aquí, buen artículo, buen trabajo))))) Pregunta, ¿es correcto en el artículo para calcular el precio de apertura de la orden, stoploss y tomar ganancias para comprar desde el precio de venta, para vender desde el precio de oferta? Parece que es correcto para el precio de apertura de la orden de compra - ask, pero stoploss y takeprofit se calculan a partir del precio bid? Después de todo, la orden de compra se cierra al precio de oferta. Pido disculpas por mi ruso en términos.
 
VikMorroHun:


Es un error en el EA. Echa un vistazo a la página 2 donde está la solución.

Mejor enfoque: utilizar la clase https://www.mql5.com/es/docs/standardlibrary/tradeclasses/ctrade.



Tengo 4756 error, vi la solución en la página 2, y he comprobado el código orginal, había ZeroMemory(mrequest); en la línea 218 sí mismo. pero todavía tengo el error 4756.

 
wefgoncalves:
¿Alguien podría ayudarme con la optimización del EA?
¿Qué valores de inicio, fin y paso utilizo?
¿Puedo utilizar la optimización genética?

Hola amigo, yo también soy principiante pero hay un canal de YouTube que me ha ayudado mucho con la optimización, ¡el canal Vilela!

He encontrado muchas cosas útiles allí con excelentes enseñanzas. ¿Puedo chatear contigo para que intercambiemos experiencias?
¡¡¡buenos estudios!!!