Detecci�n de una nueva barra para un EA en mql4

 

Publi

Página 1 de 403 123 ÚltimoÚltimo
Resultados 1 al 10 de 29

Tema: Detecci�n de una nueva barra para un EA en mql4

  1. #1
    Hola hombres,

    He estado revisando este foro y Google y estoy tratando de descubrir el mejor m�todo para detectar el inicio de un nuevo pub.

    Hay muchas cosas diferentes que la gente ha empleado en su propio c�digo. Algunas parecen una obra sencilla y enrevesada.

    �Hay un mejor m�todo para hacerlo?

    Steev

  2. #2

    Cita Iniciado por ;
    citar La tarea de la funci�n es determinar una nueva barra con un cambio. �Sugieres una mejor opci�n?
    Vea la publicaci�n 10. Como mencion� anteriormente... no puede esperar que una nueva barra se forme precisamente en el momento adecuado del cierre de la barra anterior. Aunque la marca de tiempo en un pub es 00:00:00, no puede haber obtenido y marcar actualizaciones hasta las 00:05:30, lo que significa que el pub se form� exactamente a las 00:05:30 usando una marca de tiempo de 00 :00:00. Hay una gran diferencia entre comprobar si se ha formado una nueva barra y comprobar si el pub m�s reciente tiene el precio de cierre oficial... En caso de que necesite alertas sobre el cierre del pub m�s reciente en lugar de comprobar el creaci�n de una nueva barra, entonces usar�a algo como esto. C�digo insertado void OnTimer()/-- if(IsRecentClosed()) Alert(CLOSED); bool IsRecentClosed() static datetime last_closed = 0; should (last_closed == 0) datetime time#91;#93;; deber�a (CopyTime(_Symbol,PERIOD_CURRENT,0,1,timing ) lt; 1) devolver false; printf(tiempo copiado de%s a la matriz,TimeToString(time#91;0#93;-RR; last_closed = time#91;0#93; - 1; if(TimeCurrent() gt;= last_closed PeriodSeconds( PERIOD_CURRENT)) last_closed = PeriodSeconds(PERIOD_CURRENT); devuelve verdadero; devuelve falso;

  3. #3

  4. #4

    Cita Iniciado por ;
    cotizaci�n Perdone mis cr�ticas, pero este m�todo es fundamentalmente defectuoso debido a los ciclos de mantenimiento del br�ker cuando el mercado funciona a una hora programada por d�a (por ejemplo, el mercado cierra a las 22:00 y vuelve a abrir a las 22:05 UTC) El br�ker no ha actualizado el feed de ticks , por lo que una nueva barra no se formar� hasta la siguiente se�al despu�s del per�odo de tiempo para la nueva barra (por ejemplo, no hay un nuevo tic durante unos minutos despu�s del cierre del �ltimo per�odo). Y, por lo tanto, se�alar� falsamente una nueva barra cuando una persona no se ha formado.
    Quiero que mi prueba en interiores se ejecute cada treinta minutos a la hora/media hora. �Hay alguna manera de programar esto? Sigo recibiendo el retraso ya sea que use una alarma de correo electr�nico o una notificaci�n autom�tica.

  5. #5

    Cita Iniciado por ;
    cotizaci�n Perdone mis cr�ticas, pero ese m�todo es fundamentalmente defectuoso debido a los ciclos de mantenimiento del br�ker una vez que el mercado cae a una hora programada todos los d�as (por ejemplo, el mercado cierra a las 22:00 y vuelve a abrir a las 22:05 UTC) El br�ker no ha actualizado el tick alimentaci�n, por lo tanto, una nueva barra no se formar� hasta la pr�xima se�al despu�s del per�odo de tiempo para la nueva barra (por ejemplo, no hay un nuevo tic durante unos minutos despu�s del cierre del �ltimo per�odo). Y, por lo tanto, se�alar� una nueva barra cuando una persona no haya no est� formado
    La tarea de esta funci�n es determinar un nuevo pub con un turno. �Sugiere una mejor opci�n?

  6. #6
    Cita Iniciado por ;
    �Mantente en salud!
    Para MetaTrader 4 y MetaTrader 5 estable en todo el mundo/**************************************** ************************************************** ** ******///Writer de la nueva barra con funci�n de cambio Voldemar227 *///
    https://www.forexycfds.com/general-f...ick-chart.html*///************************************************** * ************************************************** **bool NewBar(const int aShiftSeconds=0) { static datetime time = 0; datetime new_bar = (datetime)SeriesInfoInteger(Symbol(),Period(),SERI ES_LASTBAR_DATE); si (per�odo == 0)...
    Perdone mis cr�ticas, pero esa estrategia es fundamentalmente defectuosa debido a los ciclos de mantenimiento del br�ker una vez que el mercado cae a una hora programada todos los d�as (por ejemplo, el mercado cierra a las 22:00 y vuelve a abrir a las 22:05 UTC) El br�ker no ha actualizado el feed de ticks, por lo tanto, una nueva barra no se formar� hasta el pr�ximo tic despu�s del per�odo de tiempo para la nueva barra (por ejemplo, no habr� un nuevo tic durante un par de minutos despu�s del cierre del �ltimo per�odo). no formado.

  7. #7
    �Sigue con el bienestar!
    Para MetaTrader 4 junto con MetaTrader 5 universal estable C�digo insertado/************************************* ************************************************** ** *********///Redactor de la nueva barra con funci�n shift *///https://www.forum.com/voldemar227 *///*********** ************************************************** ** ***********************************/bool NewBar(string aSymbol=, const ENUM_TIMEFRAMES aPeriod=PERIOD_CURRENT, const int aShiftSeconds=5) if(aSymbol==) aSymbol=Symbol(); per�odo de fecha y hora est�tico = 0; datetime new_bar = (datetime)SeriesInfoInteger(aSymbol,aPeriod,SERIES _LASTBAR_DATE); if(time==0) time=new_bar PeriodSeconds(aPeriod); falso retorno; if((TimeCurrent()-time)gt;=aShiftSeconds) time=new_bar PeriodSeconds(aPeriod); devolver verdadero; falso retorno;/************************************************** ** ************************************************** *///*///************************************************ ************************************************** ** */

  8. #8
    El c�digo que mostr� es simple, no hay turno en 5 minutos. .

  9. #9

    Cita Iniciado por ;
    Yo presento la forma ideal de descubrir un nuevo bar. Es muy importante tener en cuenta que con la llegada de una nueva barra, muchos asesores comienzan a operar, los servidores de los corredores est�n bajo una gran carga y tambi�n reciben un programa comercial de ataque DOS. El servidor del corredor falla y desencadena recotizaciones y fallas en el comercio. Recomiendo usar el cambio de hora y definir un nuevo pub no a las 00:00 sino a las 00:05 momentos bool NewBar() static datetime time=0; if(tiempo==0) tiempo=Tiempo[0]; falso retorno; if(per�odo! =Tiempo [0]) tiempo=Tiempo [0]; devolver verdadero; falso retorno;
    ... y en el que haces esto en tu c�digo (el cambio de hora de 5s)?

  10. #10
    Yo presento la mejor manera de descubrir un nuevo bar. Es importante tener en cuenta que con la llegada de una nueva barra, muchos asesores comienzan a intercambiar, los servidores de los corredores est�n bajo una gran carga y reciben ataques de DOS. El servidor del corredor se niega y provoca recotizaciones y fallas en el comercio. Insto a usar el cambio de hora y definir una nueva barra no en 00: 00 sino en 00: 05 segundos C�digo insertado bool NewBar() static datetime time=0; if(hora==0) hora=hora#91;0#93;; falso retorno; if(punto! =Tiempo#91;0#93;-RRB- tiempo=Tiempo#91;0#93;; devuelve verdadero; devuelve falso;

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