EA no funciona en absoluto

 

Publi

Página 1 de 402 12 ÚltimoÚltimo
Resultados 1 al 10 de 11

Tema: EA no funciona en absoluto

  1. #1
    Me tom� un tiempo para experimentar los tutoriales de MQ4 sobre codificaci�n y tambi�n para obtener m�s informaci�n.

    Ese es mi primer intento de codificar un EA desde cero, ya que el anterior ten�a un c�digo prestado.

    La idea es tener una orden de compra disponible cuando se detecta una Oferta sobre la 10MA y tener otra orden de venta id�ntica disponible en la primera Pregunta bajo la 10MA

    Desafortunadamente no funciona en ning�n aspecto.

    No estoy buscando a alguien que codifique algo para m� personalmente, sino que escenifique lo que estoy haciendo mal, ya que mi prop�sito es entender c�mo codificar.

    Gracias de antemano por la ayuda.



    C�digo insertado dual MA; oferta doble; compra de boletos int; venta de boletos int; int init()/--/-- retorno(0);/ -------------------------------------------------------- ------------------- /| funci�n de desinicializaci�n profesional |/pag ----------------------------------------------- ------------------- int deinit()/--/-- return(0);/pag ----------------------------------------------- ------------------- /| experto empezar a operar |/ -------------------------------------------------------- ------------------- int begin()/-- bid=Oferta; MA=iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,0); if (bid gt; MA ticketbuylt;0 )/la primera oferta anterior a MA activar� la orden de compra/si la orden de compra a�n no est� abierta ticketbuy=OrderSend(Symbol(),Ask,1,Ask,3,Ask-25*Punto ,Ask 25*Point,My order #2,16001,0,Green);//el comando de disparo deber�a (Ask lt; MA ticketselllt;0 )/primero Preguntar debajo de MA activar� el pedido de venta/si el pedido de mercado no es open ticketsell=OrderSend(Symbol(),Bid,1,Bid,3,Bid-25*Point,Bid 25*Point,My order #0,16000,0,Green);//activa el control if(ticketbuylt;0 ) Imprimir (OrderSend fall� con el n�mero de error, GetLastError ());/informe de errores (0); if(ticketselllt;0) Print(OrderSend fall� con el error #,GetLastError());//reporte de informe de errores(0);/-- retorno(0);/ -------------------------------------------------------- -------------------

  2. #2
    Cita Iniciado por ;
    S�, si ocurre TP o SL, puede ocurrir una nueva orden de compra. Sin embargo, no hay dos compras o dos ventas exactamente al mismo tiempo.
    OK, resuelto despu�s con el c�digo terminado

  3. #3

    Cita Iniciado por ;
    Hola cu�druplex, �qu� sucede si el precio de una compra, por ejemplo, alcanza el SL o el TP? �Abre otra compra en caso de que la oferta a�n est� por encima de MA o espera un mercado? Su EA est� siendo codificado por m�, inf�rmeme.
    S�, cuando ocurre TP o SL, podr�a ocurrir una nueva orden de compra. Pero no hay 2 compras o 2 ventas al mismo tiempo.

  4. #4
    Resuelto: C�digo insertado extern int SL = 100; externo interno TP = 100; externo int MA_Period = 10; int init()/--/-- retorno(0);/ -------------------------------------------------------- ------------------- /| funci�n de desinicializaci�n experta |/ -------------------------------------------------------- ------------------- int deinit()/--/-- return(0);/ -------------------------------------------------------- ------------------- /| Experto Comenzar funci�n |/ -------------------------------------------------------- ------------------- int Inicio ()/-- MA dual; compra de boletos int est�tica, venta de boletos; static bool comprar=falso, Mercado =falso; MA=iMA(NULL,0,MA_Period,0,MODE_SMA,PRICE_CLOSE,0); if(OrderSelect(ticketbuy,SELECT_BY_TICKET)==true) if(OrderCloseTime()!=0) buy=false; if(OrderSelect(ticketsell,SELECT_BY_TICKET)==true) if(OrderCloseTime()! =0) market =false; if (Bidgt; MA buy==false) ticketbuy=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-SL*Point,Ask TP*Point,My order 2,16001,0,Green);//control de disparo comprar=verdadero; if (Ask lt; MA market ==false) ticketsell=OrderSend(Symbol(),OP_SELL,1,Bid,3,Bid SL*Point,Bid-TP*Point,My order 0,16000,0,Green);/desencadenar comando market =true; if(ticketbuylt;0) Print(OrderSend fall� con el error #,GetLastError());//errores report return(0); if(ticketselllt;0) Print(OrderSend fall� con el error #,GetLastError());//reporte de informe de errores(0);/-- retorno(0); Cambia el SL y el TP por los pips que necesites.

  5. #5
    A menos que use OrdersTotal, no comprender� cu�ndo se ha cerrado la transacci�n actual al presionar SL o TP. Por lo tanto, en el caso de que corrija la inicializaci�n del n�mero de orden 1, su EA no abrir� la operaci�n y no se abrir� m�s hasta que la reinicie. La sofisticaci�n que ves en los ejemplos est� ah� por una raz�n para manejar todas estas circunstancias.

  6. #6

    Cita Iniciado por ;
    Use OrdersTotal para ver si hay algunos pedidos disponibles, es mucho m�s f�cil. Adem�s, si es un reci�n llegado, h�gase un favor y utilice algunos de esos EA de casos proporcionados con MetaTrader como punto de partida. Cubren muchos de los conceptos b�sicos que necesitan todos los EA.
    Eso es lo que hice en mi primer hilo. As� que decid� probar algo simple. Sin embargo, sus ejemplos de EA que se completan se cumplen para m�. Lo que estoy tratando de lograr ser� que el EA compare el MA usando la Oferta. En el momento en que la Oferta supere el MA y no haya ninguna compra abierta, el control pasar� a OrderSend(). Cuando la Oferta sea gt; el valor MA y ticketbuy lt; que 0 (-1 basado en los tutoriales) Me parece que cuando (Bid gt; MA ticketbuy lt; 0) lo describe correctamente, �no?

  7. #7
    Utilice OrdersTotal para ver si hay algunas �rdenes abiertas, es mucho m�s f�cil. Adem�s, si es un principiante, h�gase un favor y utilice algunos de los EA de casos proporcionados con MetaTrader como punto de partida. Cubren muchos de los conceptos b�sicos que necesitan los EA.

  8. #8

    Cita Iniciado por ;
    No inicializ� las variables ticketbuy y ticketsell, pero asume que inicialmente son lt; 0. Sospecho que los valores predeterminados para todos estos son 0, por lo que nunca realizar� la primera transacci�n.
    Steve o alguien m�s que decida responder. De acuerdo con estos tutoriales, MQ4 devuelve -1 para un no comercio, por lo que una venta de boletos o una compra de boletos usando un valor lt; 0 estar�a bien. En realidad, est� ah� para confirmar que se dispara porque no quiero numerosos pedidos de lo mismo, solo 1 pedido en un momento dado.

  9. #9
    No inicializ� las variables ticketbuy y ticketsell, pero asume que inicialmente son lt; 0. Sospecho que los valores iniciales predeterminados para todos estos son 0, por lo que nunca se realizar� la operaci�n inicial.

  10. #10
    Gracias por la sugerencia Steve, d�jame ver qu� puedo hacer al respecto.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
Cookies
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información y política de cookies aquí.