PDA

Ver la versión completa : C�mo cerrar el c�digo despu�s de x barras



ina
15:35,
Hola,
Creo que esto es algo bastante sencillo, pero he buscado por todos lados y no encuentro respuesta.

Estoy tratando de probar algunos asesores expertos y todo lo que quiero es el c�digo para cerrar una orden (ya sea una compra o una venta) despu�s de 8 barras.

�Cu�l es el c�digo para ello?

Gracias

blokbelantenn
01:02,
No s� nada sobre MT3, lo siento. B�sicamente, observa el momento de apertura de la orden, en el momento de la publicaci�n actual, encuentra la diferencia, dividida por el marco de tiempo del gr�fico actual * 60 (convertido en minutos), y tiene la cantidad de barras que han pasado.

blokbelantenn
02:24,
Lo primero que intentar�a es utilizar la funci�n OrderOpenTime(), junto con Period() y Time[0], y luego calcular la cantidad de barras desde que se inici� la orden. En caso de que gt;= 8, entonces OrderClose.
https://www.forexycfds.com/attachments/1529178529.png

ina
03:45,
Lo primero que intentar�a es usar la funci�n OrderOpenTime(), junto con Period() y Time[0], luego simplemente calcular la cantidad de barras porque se inici� la orden. En caso de que gt;= 8, entonces OrderClose.
https://www.forexycfds.com/attachments/1529178529.pngLo siento, soy un completo novato, as� que realmente no entiendo completamente c�mo implementar tu propio consejo. Estoy tratando de hacer esto en metatrader 3 y parece que no puedo ubicar algunos de los prop�sitos en metaeditor. Incluso si pudiera encontrarlos, no sabr�a exactamente d�nde colocarlos para que funcione. Adem�s, cuando intente solicitar una evaluaci�n, terminar� analiz�ndola desde 2003 hasta el d�a de hoy: O, eso es demasiado atr�s. �Quiero probar las pruebas en una escala de tiempo mucho m�s peque�a? gracias, steve

ina
05:07,
eso ayud� mucho, gracias. Creo que he solucionado el problema. �C�mo se ve este c�digo? var: TradeBars(8);/Devuelve la cantidad de pubs que ha estado residiendo el comercio/Aviso: ���ESTO ASUME QUE HAY SOLO 1 COMERCIO ABIERTO!!! If( (TotalTrades! =0 ) and (LastTradeTime! =0 ) ) luego tradeBars = Round((CurTime-LastTradeTime)/(Period*60)); return(comercioBares); 8 (en negrita) es la parte que cambi�, por lo que deber�a funcionar ahora.