Ayuda para una entrada por vela

 

Publi

Resultados 1 al 7 de 7

Tema: Ayuda para una entrada por vela

  1. #1
    Hola,
    Estoy intentando crear EA a trav�s de constructores complementarios que est�n en la web.
    Tengo un problema, a veces en una sola vela encontrar�s m�s entradas. No puedo hacer que funcione, aunque busqu� el c�digo, encontr� material que era diferente. Aqu� est� el c�digo de un EA sobre el cruce de dos medias m�viles, puede indie las funciones que son apropiadas y d�nde colocarlas, de modo que podr�a haber solo una entrada en una vela.
    gracias de antemano

    externo int MagicNumber=10001;
    Lotes dobles externos = 0,1;
    StopLoss doble externo=5;
    TakeProfit doble externo = 10;
    externo int TrailingStop=0;
    Deslizamiento externo interno = 3;
    externo int ma_fast_period=13;
    externo interno ma_slow_period=89;
    desplazamiento interno externo = 0;
    // -------------------------------------------------------- -------------------
    //funci�n de inicio experto
    // -------------------------------------------------------- -------------------
    inicio int()

    int TotalOrdersCount()

    resultado int=0;
    for(int I=0;ilt;TotalPedidos();I )

    OrderSelect(I,SELECT_BY_POS,MODE_TRADES);
    if (OrderMagicNumber()==MagicNumber) result ;

    rendimiento (resultado);

  2. #2

    Cita Iniciado por ;
    Lo uso en mi EA, es directo y f�cil 1- anunciar la variable global: datetime Bartime luego, despu�s de las condiciones de venta o compra, agregue ( ------ Bartime! = Timing [0]) lo �ltimo despu�s de OrderSend: OrderSend ( S�mbolo(), ---------------------------------------------- -----------); Bartime=Tiempo [0]; As� que el EA crear� solo una ganga en la vela
    Muchas gracias, funciona muy bien.

  3. #3
    1 Anexo(s) Hola Dani, para empezar, creo que no est�s realizando un Asesor Experto. Su c�digo usa la funci�n int start() {}, as� que supongo que est� ejecutando un script. Hay un script que solo se ejecuta una vez y no se puede intercambiar. Un Asesor experto tiene tres prop�sitos: int OnInit() {} void OnDeinit(const int Reason) {} void OnTick() {} La funci�n OnTick es donde ocurre la mayor�a de las cosas del EA. Para buscar una nueva barra y simplemente poseer el EA, ejecute operaciones en el primer tick de esta nueva barra, uso esta funci�n: bool newBar() static bool firstCall = true;static datetime lastbar;datetime curbar = Timing [0];if( lastbar! =curbar)lastbar=curbar;if(firstCall == true) firstCall = false;return(false);else return (true); elsereturn(falso); Ahora desde la funci�n OnTick() llamo a la funci�n newBar(): void OnTick() if(newBar == true)/Comprobamos si tenemos una nueva barra y si es precisa comprobamos si tenemos una se�al de compra o venta debido a nuestros propios principios if(TotalOpenOrders() lt; 1)/Compruebe si ya hay una orden iniciada por este EA con esta cantidad m�gica en particular/Si NO HAY NEGOCIACI�N YA ABIERTA y tenemos una se�al comercial v�lida, abra el comercio DE LO CONTRARIO, no haga nada//Terminar TotalOpenOrders/Terminar newBar/Terminar OnTick La funci�n TotalOpenOrders() tiene este aspecto:/Comprar operaciones completas abiertas por este EA int TotalOpenOrders() int total_orders = 0; for(int order = 0; order lt; OrdersTotal(); order ) if(OrderSelect(order,SELECT_BY_POS,MODE_TRADES)==f alse) break; if(OrderMagicNumber() == Magic OrderSymbol() == _Symbol) total_orders ; retorno(total_pedidos); TotalOpenOrders() comprueba si este EA ya ha iniciado un pedido. Incluso puede controlar cu�ntas �rdenes puede abrir el EA. (Es decir, si (TotalOpenOrders() lt; 2) habilitar�a 2 pedidos simult�neos. Tenga en cuenta que la funci�n newBar() y la funci�n TotalOpenOrders() se anuncian al final del EA fuera de OnInit(), OnDeinit() y Funci�n OnTick(). Espero que esto ayude un poco. P.D.: su Extern int MagicNumber es extern int Magic en mi propio c�digo. Importado porque de lo contrario TotalOpenOrders() no funcionar� Adjunto hay una plantilla de EA simple que se usa.
    https://www.forexycfds.com/attachmen...5184191412.mq4

  4. #4
    Utilizo esto en mi EA, es simple y f�cil 1- declarar la variable global: datetime Bartime luego, despu�s de que el mercado o las condiciones de compra agreguen ( ------ Bartime! = Timing [0]) lo �ltimo despu�s de OrderSend: OrderSend ( S�mbolo(), ---------------------------------------------- -----------); Bartime=Tiempo [0]; Entonces, EA crear� solo un trato en la vela

  5. #5
    prueba esto: extern int MagicNumber=10001; Lotes dobles externos = 0,1; StopLoss doble externo=5; TakeProfit doble externo = 10; externo int TrailingStop=0; Deslizamiento externo interno = 3; externo int ma_fast_period=13; externo interno ma_slow_period=89; desplazamiento interno externo = 0;/ -------------------------------------------------------- ------------------ /funci�n de inicio experto/ ---------------------- -------------------------------------------- int inicio() int TotalOrdersCount() int resultado=0; for(int i=0;ilt;OrdersTotal();i ) OrderSelect(i,SELECT_BY_POS ,MODE_TRADES); if (OrderMagicNumber()==MagicNumber) result ; retorno (resultado); int getOrdersThisBar(int magic) int cnt; pedidos int = 0; int total = PedidosTotal(); for (cnt = 0; cnt lt;= total; cnt ) if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) if (OrderMagicNumber() == magic) if(iBarShift(OrderSymbol(),0,OrderOpenTime(),true) == 0) pedidos = pedidos 1; devoluci�n (pedidos);

  6. #6
    Gracias por la respuesta. Copi� y pegu� tu edici�n, pero no funciona. Luego descubr� esto en la web y parece funcionar: int BarsCount = 0; int start() if (Bars gt; BarsCount)/su c�digo se ejecutar� solo una vez por barra va BarsCount = Bars; retorno(0); �Qu� piensas de hacerlo?

  7. #7

    Cita Iniciado por ;
    Hola Dani, para empezar, creo que no est�s ejecutando un Asesor Experto. Su c�digo usa la funci�n int start() {}, as� que supongo que est� ejecutando un script. Un script solo se ejecuta una vez y no se puede comerciar....
    No soy programador, lo hice usando una compilaci�n en l�nea de EA. Realmente aprecio tu trabajo al responderme, y te prometo que lo examinar�s. Muchas gracias.

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í.