Buenos dias!
Necesito ayuda para un Indicador.
¿Como podria crear un rectangulo relleno y copiarlo y moverlo a otra posicion?
He sido capaz de dibujarlo pero no veo como copiarlo y mover la copia a otra posicion.
Muchas gracias por adelantado.
Lo seleccionas (que se vean los cuatro puntos exteriores y el del medio) y con la tecla CTRL presionado, lo "mueves" con el mouse y deberia copiarse
Espero haberlo explicado Bien
Saludos!!!
Lo seleccionas (que se vean los cuatro puntos exteriores y el del medio) y con la tecla CTRL presionado, lo "mueves" con el mouse y deberia copiarse
Espero haberlo explicado Bien
Saludos!!!
Muchas gracias! Pero me refiero en MQL4 codigo de programación, en MT4 no tengo ningun problema. Es esto lo que quiero obtener con un indicador y/o EA
hasta ahora tengo este codigo:
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //---Definimos el final del Periodo de apertura. string EndOfOpenPeriod = "10:00:"; //---Calculamos el tiempo actual string CurrenTime = TimeToString(TimeLocal(),TIME_SECONDS); //datetime StringToTime (CurrenTime = time1); //---Si definimos el tiempo del periodo y no existe, respondemos -1 int EndOfOpenPeriodFound = StringFind(CurrenTime,EndOfOpenPeriod,0); //---Buscamos el precio maximo de las ultimas 24 velas o 2 horas(M5). int HighestCandle = iHighest(_Symbol,_Period,MODE_HIGH,24,0); double Point1 = HighestCandle; //Punto 1 o punto superior rectángulo inicial. ///---Buscamos el minimo precio de las ultimas 24 velas o 2 horas(M5). int LowestCandle = iLowest(_Symbol,_Period,MODE_LOW,24,0); double Point2 = LowestCandle; //Punto 2 o punto inferior rectángulo inicial. //---Buscamos el valor deseado que se encuentra en el tiempo actual if(EndOfOpenPeriodFound != -1) { //Borramos los rectángulos existentes del dia anterior. ObjectDelete("Rectangle"); ObjectDelete("RectangleBUY"); ObjectDelete("RectangleSELL"); //---Creamos el rectángulo inicial. ObjectCreate("Rectangle",OBJ_RECTANGLE, 0, Time[0],High[HighestCandle],Time[24],Low[LowestCandle]); ObjectSetInteger(0,"Rectangle",OBJPROP_COLOR,clrGold); double Altura = ObjectGetDouble(0,"Rectangle",OBJPROP_PRICE1)-ObjectGetDouble(0,"Rectangle",OBJPROP_PRICE2); //price2=price1-300*SymbolInfoDouble(Symbol(),SYMBOL_POINT); double Point3= Point1+Altura; //--Buscamos punto superior rectángulo BUY. double Point4= Point1; //--Buscamos punto inferior rectángulo BUY que es igual al Punto1. double Point5= Point2; //--Buscamos punto superior rectángulo SELL que es igual al Punto2. double Point6= Point1-Altura; //--Buscamos punto inferior rectángulo SELL. datetime Time1 = TimeCurrent(); datetime Time2 = Time[0-24]; datetime Time3 = TimeCurrent(); datetime Time4 = Time[0-24]; double Price1= Point3; double Price2= Point4; double Price3= Point5; double Price4= Point6; Comment ("\n\nAltura = ",Altura,"\nPunto 1 = ", Point1,"\nPunto 2 = ",Point2, "\nPunto 3 = ", Point3,"\nPunto 4 = ", Point4,"\nPunto 5 = ", Point5, "\nPunto 6 = ", Point6); ObjectCreate("RectangleBUY",OBJ_RECTANGLE, 0,Time[0],Point3,Time[0-24],Point4); //CreateRectangle("RectangleBUY",Time1,Price1,Time2,Price2,clrGreenYellow); //CreateRectangle("RectangleSELL",Time3,Price3,Time4,Price4,clrHotPink); } } //+------------------------------------------------------------------+ void CreateRectangle(string name="", datetime time1=0, double price1=0, datetime time2=0, double price2=0, color clr=0, bool relleno=True) { //--- set rectangle color ObjectSetInteger(0,name,OBJPROP_COLOR,clr); //--- set the style of rectangle lines ObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_SOLID); //--- set width of the rectangle lines ObjectSetInteger(0,name,OBJPROP_WIDTH,1); //--- habilitar (verdadero) o deshabilitar (falso) el modo de relleno del rectángulo ObjectSetInteger(0,name,OBJPROP_FILL,relleno); //--- mostrar en primer plano (falso) o en segundo plano (verdadero) ObjectSetInteger(0,name,OBJPROP_BACK,false); return(true); }pero solo consigo dibujar el amarillo.
Muchas gracias! Pero me refiero en MQL4 codigo de programación, en MT4 no tengo ningun problema. Es esto lo que quiero obtener con un indicador y/o EA
hasta ahora tengo este codigo:
pero solo consigo dibujar el amarillo.
- docs.mql4.com
Revisa este ejemplo, creo que te va a ayudar : https://docs.mql4.com/constants/objectconstants/enum_object/obj_rectangle
Hola Alejandro!
Muchas gracias por la respuesta pero aparte de que ya lo conocia, no me ayuda nada, mi problema no es que se dibuje un rectangulo automaticamente, lo que necesito es poder realizar un rectangulo igual que si lo hiciese con la funcion rectangulo del MT4 pero desde un indicador creado por mi, donde habran varios botones, cada boton dara opcion ha dibujar un rectangulo de un color especifico y situandolo donde con el raton(igual a la funcion rectangulo)clique su inicio y arrastrando el raton hasta el final del otro vertice del rectangulo y me lo dibuje, es decir, en vez de dibujar un rectangulo con la funcion rectangulo del MT4 en el Chart, yo lo dibujare apretando un boton de un panel propio y con el color de relleno del mismo que del boton, este panel podra tener 4 o 6 botones de varios colores y dependiendo del boton pòdre dibujar el rectangulo de ese color sin tener que estar cambiando sus propiedades despues, esta es mi idea y mi problema, yo el panel lo tengo como indico arriba casi terminado pero no consigo encontrar las funciones del raton para crear el 1er punto o vertice del rectangulo y arrastrar este hasta su vertice contrario, creo que debe ser un CHART_EVENT, MOUSE_CLICK, MOUSE_MOVE pero no se exactamente como utilizar esas funciones o las necesarias para conseguirlo.
Un saludo
- Por lo general, las personas que no pueden codificar no reciben ayuda gratuita en este foro, aunque podría suceder si tiene suerte. Sea paciente.
- Si muestra sus intentos y describe su problema con claridad, lo más probable es que reciba una respuesta de la comunidad.
- Si no quiere aprender a codificar, eso no es un problema. Puede mirar la sección CodeBase si ya existe algo gratuito, o en el Market para productos de pago (también a veces gratis).
- Por último, también tiene la opción de contratar un programador en la sección Freelance.
Buena suerte.

- 2017.06.22
- www.mql5.com
Hola Alejandro!
Muchas gracias por la respuesta pero aparte de que ya lo conocia, no me ayuda nada, mi problema no es que se dibuje un rectangulo automaticamente, lo que necesito es poder realizar un rectangulo igual que si lo hiciese con la funcion rectangulo del MT4 pero desde un indicador creado por mi, donde habran varios botones, cada boton dara opcion ha dibujar un rectangulo de un color especifico y situandolo donde con el raton(igual a la funcion rectangulo)clique su inicio y arrastrando el raton hasta el final del otro vertice del rectangulo y me lo dibuje, es decir, en vez de dibujar un rectangulo con la funcion rectangulo del MT4 en el Chart, yo lo dibujare apretando un boton de un panel propio y con el color de relleno del mismo que del boton, este panel podra tener 4 o 6 botones de varios colores y dependiendo del boton pòdre dibujar el rectangulo de ese color sin tener que estar cambiando sus propiedades despues, esta es mi idea y mi problema, yo el panel lo tengo como indico arriba casi terminado pero no consigo encontrar las funciones del raton para crear el 1er punto o vertice del rectangulo y arrastrar este hasta su vertice contrario, creo que debe ser un CHART_EVENT, MOUSE_CLICK, MOUSE_MOVE pero no se exactamente como utilizar esas funciones o las necesarias para conseguirlo.
Un saludo
Pudiste solucionarlo? tengo un problema similar.

- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Buenos dias!
Necesito ayuda para un Indicador.
¿Como podria crear un rectangulo relleno y copiarlo y moverlo a otra posicion?
He sido capaz de dibujarlo pero no veo como copiarlo y mover la copia a otra posicion.
Muchas gracias por adelantado.