Cerrar orden por tiempo de expiración y dibujar indicador

¿Tiene dudas sobre el trading con divisas? No se preocupe, FXWizard tiene todas las respuestas.

Cerrar orden por tiempo de expiración y dibujar indicador

Notapor chpforex » 28 Dic 2014, 09:55

Hola FXWizard. Acudo a tí porque abrí dos hilos en Zona Metatrader pero no he obtenido ninguna respuesta. Quizá tú puedas ayudarme.
Se podría hacer un EA que cierre las órdenes por tiempo de expiración como si fuera una opción binaria? Más concretamente lo que yo quisiera es que cierre la orden en el cierre de la vela actual independientemente del TF que esté utilizando. Por ejemplo si estoy en TF de 5 minutos y meto una orden transcurrido 1 minuto del inicio de la vela, que la orden se cierre transcurridos 4 minutos que es el tiempo que falta para el cierre de la vela. O si no, que pueda decirle el tiempo de expiración al meter la orden independientemente del TF en el que esté. Espero haberme explicado.

La otra consulta es referente a un indicador y es la siguiente:
Tengo un indicador que me gustaría modificar para que se pinte en la linea del precio actual en vez de en los extremos de la vela. Me refiero a que cuando se de la señal, se pinte el indicador justo donde está el precio en ese momento aunque sea en medio de la vela y no en los extremos. Por ejemplo pintando una raya horizontal del ancho de la vela.
El código que utiliza para designar la posición es el siguiente:

val2[shift]=Low[shift]-20*Point;

He intentado hacerlo con Bid pero entonces lo que ocurre es que el indicador repinta sobre la línea de precio y no se queda en su lugar correspondiente.
¿Se podría hacer una operación de resta entre el máximo o mínimo y el Bid y utilizar el resultado para multiplicar por Point? De este modo tendríamos la posición del precio relativa al máximo o mínimo.
Imagino que tengo que sustituir el (-20*Point) por otra cosa relacionada con el precio de ese momento, pero no sé cómo hacerlo.
Os agradecería vuestra ayuda y si no se puede hacer, os agradezco la información.

Mil gracias y un cordial saludo.
chpforex
 
Mensajes: 33
Registrado: 03 Mar 2010, 18:11
Karma: 0

Re: Cerrar orden por tiempo de expiración y dibujar indicado

Notapor FXWizard » 05 Ene 2015, 13:09

Hoal chpforex, intento echarte una mano ;):

- Sobre tiempo de expiración, puedes encontrar un buen punto de partida en este hilo de MQL4: http://forum.mql4.com/36808 Creo que con la info que tienes ahí puedes programar lo que necesitas.

- Sobre el indicador necesito algo más de info: ¿puedes subir un gráfico explicando en detalle el problema y mostrando cómo te gustaría que quedara? Creo que más o menos lo entiendo pero necesito verlo gráficamente para confirmarlo.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: Cerrar orden por tiempo de expiración y dibujar indicado

Notapor livorio » 06 Ene 2015, 13:54

Hola FXWizard y muchas gracias por tu respuesta.

Sobre la cuestión del Expert para cierre de órdenes por tiempo de expiración, voy a mirar el hilo detenidamente pero no sé programación y me temo que va a ser tarea complicada para mí. De todos modos voy a intentarlo y a ver si alguien más se anima con este tema.

Respecto al indicador, te adjunto una imagen explicando lo que pretendo. A ver si se entiende bien.

Imagen

Como se puede ver en la imagen, el indicador detecta una señal y pinta un punto en el máximo o mínimo de la vela. Lo malo es que yo no sé en qué punto concreto de la formación de la vela ha ocurrido la señal. Por eso lo que pretendo es que justo en el momento en que se de una señal, se pinte el indicador justo en la línea de precio y no repinte. Es lo mismo que hace un expert advisor cuando mete una orden, la ejecuta en un precio concreto y no se mueve. Espero haberme explicado bien.

Muchas gracias de nuevo y un cordial saludo.
livorio
 
Mensajes: 5
Registrado: 22 Dic 2014, 18:58
Karma: 0

Re: Cerrar orden por tiempo de expiración y dibujar indicado

Notapor FXWizard » 08 Ene 2015, 11:25

Hola livorio, para dibujar un punto y que no repinte, revisa la condición que utilizas para evitar que se calcule en cada tick y sea solo una vez por barra. En todo caso, para dibujar el punto te recomiendo que uses este código (es para puntos rojos pero es fácil cambiar el color en la penúltima línea):

Código: Seleccionar todo
    void DrawDot()   { 
         string objName = "Nombre_Que_Quieras" + Time[1];
         ObjectCreate(objName, OBJ_TEXT, 0, Time[1], High[1]+10*Point);
         ObjectSetText(objName, CharToStr(159), 14, "Wingdings", Red);
      }


Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 8493
Registrado: 12 Feb 2008, 15:17
Karma: 35

Re: Cerrar orden por tiempo de expiración y dibujar indicado

Notapor chpforex » 09 Ene 2015, 10:19

Hola FXWizard y gracias por tu ayuda. He probado pero mis escasos conocimientos de programación no llegan para esto. Voy a subir un indicador sencillo a ver si alguien le puede echar un vistazo.

Un saludo.
Adjuntos
CrossingAlert.mq4
(3.91 KiB) 314 veces
chpforex
 
Mensajes: 33
Registrado: 03 Mar 2010, 18:11
Karma: 0


Volver a Pregunte a FXWizard

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado