GraciasIniciado por ;
Publi |
![]() |
|
GraciasIniciado por ;
Gracias por corregirme, no me enfoqu� en la parte est�tica (posiblemente tambi�n porque prefiero usar otros m�todos, obteniendo el mismo resultado, pero bueno...Iniciado por ;
) Lo m�s importante es el resultado, y Mr_Jk tiene una soluci�n bien escrita para el problema dado
lastbar fue anunciado como unIniciado por ;
http://docs.mql4.com/basis/variables/static. Esto generalmente significa que mantiene su valor entre llamadas a funciones.
Hola Mr_Jk, corr�jame si me equivoco, pero reconoce que la variable lastbar en su funci�n (y como consecuencia, su evaluaci�n siempre debe ser verdadera). Sin embargo, como debe poder cambiar/almacenar este valor, �no ser�a mejor tener la declaraci�n en su c�digo principal o tal vez en su funci�n de inicio? Que todos tengan un buen d�a,Iniciado por ;
La mejor manera de hacerlo es con tiempo, como ha aludido Mr_jk. Desafortunadamente, otros m�todos, como las barras o el volumen, se han mostrado poco confiables (ticks faltantes, historial de carga, etc.).
Hola Usa esta funci�n en tu c�digo: bool NewBar() static datetime lastbar; curva de fecha y hora = hora [0]; if(�ltimabarra! =curbar) lastbar=curbar; volver (verdadero); m�s retorno (falso);
Hola, encontrar� dos (al menos) m�todos para lograr esto: utiliza el valor anterior devuelto por las cu�as, m�todo para el cual necesitar� almacenar el valor de las cu�as y actualizar este valor despu�s de cada c�lculo. Defina un cierto volumen debajo de eso. Piensa que el pub es nuevo (sin embargo, incluso en este m�todo, debe almacenar el valor de las barras, ya que evitar� que su EA ejecute m�ltiples c�lculos en exactamente la misma barra) Espero que ayude un poco . Gran d�a para todos,
Gracias Akh, �es 1 forma mejor que la otra? �Hay alg�n ejemplo de c�digo que me pueda indicar para que pueda ver c�mo se hace? Steve
En caso de que las condiciones para realizar la transacci�n sean lo suficientemente simples, puede usar este c�digo (lo encontr� en un foro del que no recuerdo el nombre): Inserted Code datetime LastActionTime;/Declara esto en la misma secci�n en la que declaras las entradas void OnTick() { if(LastActionTime! =Time#91;0#93;-RRB-/Al principio, el valor de esa variable se establece en nada, entonces el la condici�n es verdadera./Por lo tanto, ejecutar�a su c�digo, le sugiero que especifique un prop�sito que contenga todo el c�digo para el comercio para que sea menos dif�cil de estructurar. LastActionTime = Time#91;0#93;;/Entonces , coloca el significado de la variable en el tiempo de apertura de la vela actual, luego, una vez que examina la condici�n if, ser� la misma y el c�digo no se ejecutar�/Cuando surge una nueva barra, el valor almacenado en el el factor corresponder�a a este tiempo abierto para la barra 1, y el estado ser�a preciso y el c�digo se ejecutar� y establecer� la bandera para evitar que se ejecute nuevamente.