METATRADER

Foro dedicado a todo lo relacionado con la versión 4 de la plataforma de Metaquotes.
apdb73
Mensajes: 3
Registrado: 05 Nov 2008 16:59
Ubicación: las palmas de gran canaria

como decirle que se ejecute el codigo solo al cierre de vela

Mensaje por apdb73 »

buenas noches a todo, ante todo me presentare, me llamo alexandro, y estoy recien ingresado en este superinteresante foro del metatrader, estoy probando pequeños codigo para aprender un poco de este apasionante lenguaje pero estoy trabado en dos cosas: por un lado no se programar el AE para que solo ejecute el codigo al cierre de cada vela y no en cada tick y por otro lado he programado un indicador MACD y efectivamente me aparece en pantalla cuando le doy a ejecutar pero no logro añadirle otro indicador que en este caso es el stochastico debajo del indicador MACD, utilizo la propiedad WINDOWS SEPARATE para separar el MACD pero con el stochastico no funciona, agradeceria enormemente que me ayudarais, y ya de esta manera pues empezar a colaborar con ustedes a diseñar estrategias y demas cosas. un saludo a todos. :roll:
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Mensaje por Spirit »

En gráfico de 1 minuto puedes poner esta condición dentro de un if

Time[0]%60 == 0 ------------- Para M1
Time[0]%300 == 0 ------------ Para M5
Time[0]%900 == 0 ------------ Para M15
Time[0]%1800 == 0 ------------ Para M30

y así sucesivamente


El problema es que si el tick no se produce hasta pasados 10, 20 ó 30 segundos desde el cierre de la anterior vela ese if durante ese tiempo no funciona.

La ventaja es que puedes trabajar con timeframes que no existen en MT.


Otra forma que se me ocurre es utilizando Time[0] y lo comparas con TimeLocal o TimeCurrent y luego le haces seguimiento. Pero el problema del retraso del Tick lo seguirías teniendo salvo que exista alguna manera de crear un Loop que haga de contador de milisegundos sin tener que esperar a que se ejecute la función start() al producirse un tick. Si existe yo la desconozco.
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Mensaje por Spirit »

Al plantearme la pregunta del anterior forero apdb73, me ha venido a la cabeza la cuestión de como trbaja MQL4, en modo sincrono o asincrono. Si tuviera la posibilidad de lanzar una función en modo asincrono el tema del reloj estaría solucionado.
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Mensaje por cls »

¿en metatrader se pueden instanciar clases de windows?
Si se pudiera, podríais crear un objeto Timer (es como el Loop contador que mencionas) y tendrías solucionado el tema.

S2
Avatar de Usuario
ledzep
Mensajes: 410
Registrado: 25 Sep 2006 03:19
Ubicación: Colombia

Re: como decirle que se ejecute el codigo solo al cierre de

Mensaje por ledzep »

apdb73 escribió:buenas noches a todo, ante todo me presentare, me llamo alexandro, y estoy recien ingresado en este superinteresante foro del metatrader, estoy probando pequeños codigo para aprender un poco de este apasionante lenguaje pero estoy trabado en dos cosas: por un lado no se programar el AE para que solo ejecute el codigo al cierre de cada vela y no en cada tick y por otro lado he programado un indicador MACD y efectivamente me aparece en pantalla cuando le doy a ejecutar pero no logro añadirle otro indicador que en este caso es el stochastico debajo del indicador MACD, utilizo la propiedad WINDOWS SEPARATE para separar el MACD pero con el stochastico no funciona, agradeceria enormemente que me ayudarais, y ya de esta manera pues empezar a colaborar con ustedes a diseñar estrategias y demas cosas. un saludo a todos. :roll:

if(Bars>lstBars)NewBar=true;
lstBars=Bars;
if(NewBar)
{
// codigo a ejecutar en cambio de barra

}

d_vin@
Mensajes: 1962
Registrado: 14 Nov 2004 16:28

Mensaje por d_vin@ »

ayer gracias a vuestras recomendaciones me quitaron la conexion q habian renovado al microondas con mi ordenata, lo comprobe al instante, muchas gracias, :-)
apdb73
Mensajes: 3
Registrado: 05 Nov 2008 16:59
Ubicación: las palmas de gran canaria

Mensaje por apdb73 »

ledzp, muchisimas gracias por este pequeño codigo que parecia complicado, pero ya veo que con un poquito de ingenio sale todo, bueno, y la otra parte de la pregunta, alguien sabria decirme como puedo programar dos indicadores seguidos uno debajo del otro. ahora mismo se programar uno pero el otro no se como ponerlo debajo, por ejm un schotastico debajo de una MACD. muchas gracias a todos. :P
Avatar de Usuario
ledzep
Mensajes: 410
Registrado: 25 Sep 2006 03:19
Ubicación: Colombia

Mensaje por ledzep »

apdb73 escribió:ledzp, muchisimas gracias por este pequeño codigo que parecia complicado, pero ya veo que con un poquito de ingenio sale todo, bueno, y la otra parte de la pregunta, alguien sabria decirme como puedo programar dos indicadores seguidos uno debajo del otro. ahora mismo se programar uno pero el otro no se como ponerlo debajo, por ejm un schotastico debajo de una MACD. muchas gracias a todos. :P
Si te entiendo bien, lo que planteas no es posible. Las salidas de un indicador deben estar o en el gráfico del precio o una ventana separada, pero solo puedes tener una. Lo que si puedes es gráficar hasta 8 señales diferentes pero siempre en la misma ventana. Si necesitas dos ventanas necesariamente tendras que escribir dos indicadores.

Saludos.
Avatar de Usuario
Ciclo
Mensajes: 686
Registrado: 14 Jul 2008 21:36

Mensaje por Ciclo »

Hola,

A ver si alguien me puede decir lo que es el Balance y lo que es Equity y por tanto cual es la diferencia entre las dos.

:D

Gracias por adelantado
Hay muchas cosas mas importantes que el dinero ¡pero cuestan tanto!. Groucho Marx.
d_vin@
Mensajes: 1962
Registrado: 14 Nov 2004 16:28

Mensaje por d_vin@ »

un placer, estaba desenado verte espiritu
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Mensaje por X-Trader »

Ciclo escribió:Hola,

A ver si alguien me puede decir lo que es el Balance y lo que es Equity y por tanto cual es la diferencia entre las dos.

:D

Gracias por adelantado
Sencillo: Balance es el saldo en cuenta considerando las posiciones cerradas y Equitiy es el valor en tiempo real de nuestra cuenta.

Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Avatar de Usuario
Fer137
Mensajes: 1371
Registrado: 12 Nov 2007 18:43

Mensaje por Fer137 »

Spirit escribió:sin tener que esperar a que se ejecute la función start() al producirse un tick. Si existe yo la desconozco.

Metiendo el programa en init().
Así funciona sin paradas, de hecho no para ni aunque se desactiven los sistemas automaticos. Es entonces cuando se le viene a uno a la mente todas esas peliculas de computadoras fuera de control... :D
Avatar de Usuario
Ciclo
Mensajes: 686
Registrado: 14 Jul 2008 21:36

Mensaje por Ciclo »

X-Trader escribió:
Ciclo escribió:Hola,

A ver si alguien me puede decir lo que es el Balance y lo que es Equity y por tanto cual es la diferencia entre las dos.

:D

Gracias por adelantado
Sencillo: Balance es el saldo en cuenta considerando las posiciones cerradas y Equitiy es el valor en tiempo real de nuestra cuenta.

Saludos,
X-Trader
Gracias X-trader, me viene muy bien saberlo por que es para calcular el tamaño de la posición en función del dinero disponible. Claro para un solo experto y una sola posicion cada vez, da igual usar uno que otro, pero para varios expertos, con lo que me has dicho, ya se que habría que usar el equity. De hecho lo mejor es usar siempre el equity.

Saludos.
Avatar de Usuario
Ciclo
Mensajes: 686
Registrado: 14 Jul 2008 21:36

Mensaje por Ciclo »

Hola:

Está tarde envio mi último bloque 1c terminado.

estados, tu trabajo me ocupo yo de revisarlo. Cuando lo haya terminado de revisar lo lanzaré añadiendo al nombre del archivo la palabra rev.1. Si posteriormente alguien mas lo lee y hace alguna modificación o mejora adicional, deberá lanzarlo con la palabra rev.2 etc.

Saludos
Hay muchas cosas mas importantes que el dinero ¡pero cuestan tanto!. Groucho Marx.
Avatar de Usuario
Ciclo
Mensajes: 686
Registrado: 14 Jul 2008 21:36

Mensaje por Ciclo »

Ciclo escribió:Hola:

Está tarde envio mi último bloque 1c terminado.

estados, tu trabajo me ocupo yo de revisarlo. Cuando lo haya terminado de revisar lo lanzaré añadiendo al nombre del archivo la palabra rev.1. Si posteriormente alguien mas lo lee y hace alguna modificación o mejora adicional, deberá lanzarlo con la palabra rev.2 etc.

Saludos
"Quita larchivo"
Adjuntos
Libro 2 de MQL4- 1c.doc
(880 KiB) Descargado 230 veces
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Metatrader 4”