fxDreema

    • Register
    • Login
    • Search
    • Back to the main page
    • Categories
    • Recent
    • Tags
    • Popular
    • Search

    button problems (solucionado)

    General Discussions
    4
    18
    2535
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cesardefez last edited by cesardefez

      Hi. I have problems with some buttons.
      the buttons that I have drawn do not always react when pressed.
      sometimes they work and other times it doesn't.
      I have lowered the "period for the" on timer "event to 0.1 second.
      the selection of the object "button", and the verification of the state of the button I have it placed in the tab "in the graphic".
      Does anyone know why the buttons work only sometimes?
      thanks

      roar VHV-Profit-Masters 2 Replies Last reply Reply Quote 0
      • roar
        roar @cesardefez last edited by

        @cesardefez I dont know why they are so unresponsive, but you can tie the button state to some variable, and check on every tick (or every second) if button state is the same as the variable says.

        Need small help? Tag me in your post
        Need big help? https://www.fiverr.com/big_algo/automate-your-winning-strategy-in-mql4-or-mql5

        C 1 Reply Last reply Reply Quote 0
        • C
          cesardefez @roar last edited by

          @roar The problem continues.
          I have made the modification in a single button to test.


          0_1611571906760_374e9806-598b-4449-b34a-1ae8540b6c3f-image.png
          I draw the buttons in the "on timer" tab
          I detect the pressing of buttons in the "on chart" tab. This is where I have modified according to your suggestion, and I assign a variable with value 1 if it is pressed and 0 if it is not pressed. execute block 9503 that is in the "on tick" tab.


          0_1611571857855_6bdebf02-0ad4-4481-ba32-25e76cf4e695-image.png

          0_1611572040143_38ef4d73-b738-4e94-853e-3593fb6ec62b-image.png
          the feeling I have is as if the code was very heavy and slow.
          in fact, I have noticed that when compiling in mt5 it takes much longer than it takes to compile mt4.
          Any support?
          thanks

          roar 1 Reply Last reply Reply Quote 0
          • roar
            roar @cesardefez last edited by

            @cesardefez add these blocks to the system. It forces the buttons to agree with the variables.
            https://fxdreema.com/shared/Bto5C2CYb

            Need small help? Tag me in your post
            Need big help? https://www.fiverr.com/big_algo/automate-your-winning-strategy-in-mql4-or-mql5

            C 1 Reply Last reply Reply Quote 1
            • C
              cesardefez @roar last edited by

              @roar Thank you very much, I'll try it.

              XYON126 1 Reply Last reply Reply Quote 0
              • XYON126
                XYON126 last edited by XYON126

                Hello @roar ! In this example that I attach in the photo, how and where would you apply what you say?

                0_1611662949141_26-1-2021 12.1.52 4.jpg

                roar C 2 Replies Last reply Reply Quote 0
                • XYON126
                  XYON126 @cesardefez last edited by

                  @cesardefez Hi Cesar! The problem you are commenting on for me is known since I have made many panels with many buttons, I will tell you:
                  It is very important that the buttons are in the "on Timer" tab since, on the contrary, it will only be executed in each tick if it is in "on Tick", the variable as you say should not be greater than one second but in the upper tabs In "Options"> Project Options (photo) there is a section at the beginning 3rd window "on Timer" must have the same value as the variant or constant or it is delayed) I know from experience) @roar or @miro1360 can inform you better. Another problem that slows down and I don't know why, is the size of the EA or the number of Blocks, I particularly have detected that when it exceeds 155 and I don't know why everything slows down and sometimes it doesn't run, it could be software limitations, also depends a lot on the Metatrader MT4 or MT5, the latter is worse than the MT4 and gives more problems and finally the Brocker, I have several MT4 from several Blocker and I have detected that from one to another the same EA works in MT4 very different, since it can have or obtain information on the spread and if its range is lower than that of the Brocker or it does not execute anything or it takes until the minimum pips are applied.

                  Pass the LINK of your complete button, because a photo says little, I can also help you.

                  0_1611663234182_db41fee6-a19a-41e9-9215-a7afc6cadc5f-imagen.png

                  1 Reply Last reply Reply Quote 0
                  • roar
                    roar @XYON126 last edited by

                    @xyon126 put my block #4 (custom code) after close trades block, and I dont think you need that draw button block there at all

                    Need small help? Tag me in your post
                    Need big help? https://www.fiverr.com/big_algo/automate-your-winning-strategy-in-mql4-or-mql5

                    1 Reply Last reply Reply Quote 0
                    • C
                      cesardefez @XYON126 last edited by

                      @xyon126Hi Xyon.
                      many thanks. I give you the link of the project.
                      https://fxdreema.com/shared/EZ0q3O6rd

                      1 Reply Last reply Reply Quote 0
                      • C
                        cesardefez last edited by

                        Another failure of the button panel is that the positions loop, to update the data of open operations (number of open operations, lots, profit) is not updated when closing the operations. To achieve this, I have to update variables every time I close an operation. But at first the position loop box, it should.
                        It is not like this?

                        XYON126 1 Reply Last reply Reply Quote 0
                        • XYON126
                          XYON126 @cesardefez last edited by

                          @cesardefez Hola @cesardefez , veo que ablas español mejor porque asi nos entenderemos mejor. Lo primero que he visto (lo he cargado en un MT5) es que el "Margen max. " te sale desplazado, ¿Es correcto? por el tema de los botones si me detallas que funcion tiene cada uno podre analizarlo a fondo aunque se parece mucho a un Panel mio (ver foto), Lo que mas dudas me provoca son el boton "Close Line, Open line, Invernar y Reset"; comentas que el bucle no se actualiza, ¿A que te refieres, que no se pone a cero?, aqui tienes la foto de mi panel:

                          0_1611684664111_659cd9e4-c483-4a62-8e0b-30bc82497550-imagen.png

                          La información que da es:
                          Botones grises: te dan el valor de las ganancias totales de todos los pares, cambia de color rojo si esta en perdidas, en verde si esta en ganancias y gris si es a "cero" o no hay operaciones.
                          Botones naranjas : Pues eso lo que indica, la cantidad de operaciones totales abiertas.
                          Boton amarillo "Dibujar linea SL : Con este boton loque realizo antes de hacer nada lo presiono y me dibuja una linea horizontal en el precio actual, esta linea una vez dibujada te permite desplazarla al lugar donde quieres el Stop Loss.
                          Botones verdes y rojos: Con la linea horizontal situada donde queremos el SL al presionar cualquier boton te calcula segun el boton los Lotes necesarios para que el riesgo sea del 1% Capital, 0.5Capital, 5€ o 3€ segun el boton que presione.
                          Boton azul claro "Show/No Show": este boton es para esconder o visualizar los botones que hay debajo.
                          Botones amarillos del PAR: si presionas el boton amarillo te cambia el DRAFT o VENTANA actual al par presionado manteniendo la temporalidad y activando los botones para ese PAR.
                          Botones blancos: Las dos columnas de botones blancos al lado de los amarillos del PAR a la izquierda informan en rojo operaciones abiertas tipo SELL en ese PAR, en verde las BUY y la columna de botones blancos alargados a la derecha de los amarillos del PAR te informa del beneficio o perdida de ese par de sus operaciones abiertas en el PAR.
                          Los otros hacen lo que indican en el PAR activo el de la ventana actual.

                          Naturalmente esta en MT4 pues como te comentaba en MT5 aparte de que mi Brocker de cta real no lo acepta para tener un DARWING tambien me daba problemas de retraso, aunque en MT4 a veces se encalla.

                          Punto importante, si la distancia de la linea amarilla que te genera el Panel, su distancia es inferior al minimo del Stop Loss que te permite el Brocker en el PAR activo al abrir la operacion o no la abre, o la abre sin SL y TP con un lotaje igual al minimo estipulado por defecto 0.02 lotes. Esto ultimo es un problema global pues todos los paneles de todos los programadores que conozco tienen el mismo problema.

                          Espero esto te ayude, ya me diras.

                          1 Reply Last reply Reply Quote 1
                          • C
                            cesardefez last edited by

                            hola xion.
                            Si, es correcto. el desplazamiento lo he provocado adrede, para destacarlo, me parece importante el margen max que mi estrategia me esta exigiendo.
                            botón todo,..... cierra todo, ordenes pendientes y abiertas, sell y buy.
                            ganadas..........Cierra las operaciones con ganancias.
                            perdidas..........cierra las operaciones con perdidas.
                            invernar.......... me pone la variable stop=1, la usare para que el EA, no pueda colocar mas ordenes, pero si
                            gestionar las perdidas.
                            reset.............. coloca la variable stop=0, permite que el ea pueda volver a colocar ordenes.
                            pendiente.......cierra las ordenes pendientes.
                            Sell y buy....... coloca ordenes al mercado sell, o, buy.
                            Close line..... me dibuja una linea, con el nombre "stop_line", lo utilizare para crear una linea de tendencia que
                            cierre las ordenes si el precio la toca.
                            Open line...... crea una linea de tendencia con nombre "open_line" . Se utiliza para que el ea, abra una operación si
                            el precio la toca.

                            Si , efectivamente no se pone a cero al cerrar operaciones, se me queda con lo que tenia, aunque al volver a colocar ordenes, si actualiza bien.
                            por ultimo hay un cuadro de edición par cambiar el lotaje sin tener que abrir las propiedades del experto.

                            me gusta tu panel, sobre todo la gestión de riesgo. Un gran trabajo. enhorabuena.

                            si compartes, me gustaría aprender , sobre todo la lógica de programación, siempre se tiene vicios al realizar los ea, sin ver mejores formas y mas sencillas de hacerlo. Y ver soluciones que ni siquiera he llegado a plantearme.
                            Muchas gracias.

                            C 1 Reply Last reply Reply Quote 0
                            • C
                              cesardefez @cesardefez last edited by

                              por cierto, como consigues que un botón , sea pulsador como puede ser el buy o sell, o un selector (interruptor), que se quede pulsado (seleccionado) como supongo que será 1% , 5%.

                              XYON126 1 Reply Last reply Reply Quote 0
                              • XYON126
                                XYON126 @cesardefez last edited by XYON126

                                @cesardefez Hola @cesardefez ! Te respondo por partes:
                                Sobre mi panel, no tengo ningun problema pero como te comentaba esta en MT4 y no he probado pasarlo a MT5 y no se si es 100% compatible ya que hay muchas variables y bloques de codigo, si quieres pasarlo a Mt5 o pasarte a MT4, sin problemas.
                                Sobre los botones 1% y 0.5%, no a lo de interruptor o pulsador, creo que o me he explicado mal o lo has entendido mal, explico funcionamiento del EA o Panel:

                                1º Funcionamiento del EA o procedimiento:
                                a) Antes de abrir una operacion he de saber donde quiero tener mi SL para ello utilizo y presiono el boton amarillo de "Dibujar linea SL", al presionarlo automaticamente me dibuja una linea Horizontal seleccionable de color amarillo.
                                b) Una vez me ha aparecido la linea Horizontal amarilla con el raton la selecciono y muevo hasta el lugar que quiero se situe mi SL.
                                c) Una vez he situado y posicionado mi SL (linea amarilla horizontal) es cuando presiono el boton correspondiente a la operacion que deseo realizar, aqui es cuando entran los 6 botones de operaciones los 3 de SELL y los 3 de BUY donde a la izquierda me permiten que se abra la operacion con un riesgo del 1% o 0.5% del Balance(Esto si lo quieres con la Equidad no hay problema) a tener funcionamiento e importancia, ¿como funcionan? Tienen una formula que calcula la distancia que hay en este momento entre la linea amarilla horizontal y el precio actual, una vez obtenida la distancia calcula cuantos lotes son necesario para que se cumpla segun el boton seleccionado el 1%, 0.5% 3€ o 5€ y si la distancia en pips es igual o superior al minimo que te permite el Brocker te abre la operacion, todas las operaciones estan con un Ratio de 5:1, naturalmente todo es modificable en el EA pero no configurable ya que son constantes y asi libero de memoria el EA.

                                Los otros botones por ejemplo los del Breackeven color Lila, uno te pone el SL si la operacion tiene ganancias superior a dos Pips te pone el SL a 1 pip ganador para contrarestar comisiones y Spread y el otro el de Breackeven 5 pips, pues eso idem al anterior pero en vez de 1 pips te lo pone a 5 pips, el de "close All" te cierra todas las operaciones abiertas en el PAR activo que como ya espècifique se cambia en la ventana (no abre nuevas ventanas, siempre es la misma) presionando el boton amarillo del PAR.

                                Algo que te quiero aclarar, posiblemente tu lo hayas conseguido a mi me dio problemas y los elimine, inicialmente tenia muchos mas botones (operaciones ganadoras, perdedoras, pendientes, etc.) mas o menos como lo tienes tu y el problema del reseteo como nadie me informo como hacerlo al final la solucion que encontre es en Init tener los botones iniciales, otros en el on Timer y al final de cada operacion el boton para desactivar y creo (tendria que mirar el EA) lo coloque al final del Close All, en tu caso deberias de ponerlo al final de todos los botones ya que siempre se actualiza cada Tick y si no hay operaciones se pone a cero, yo lo intente con variables pero me dio tantos problemas que pase y busque esta solucion.

                                Bueno espero haberte ayudado, ya me diras el que. 😉

                                NOTA: Por cierto, existe un bloque para limitar las aperturas de operaciones, es decir, lo que haces con el boton INVERNAR te lo hace ese bloque sin necesidad de crear un boton, si es lo que quieres, otra cosa sera que cuando tengas una cantidad de operaciones abiertas un dia sean 10 y otro dia sean 20, etc. presiones tu boton invernar y te bloque la apertura de mas operaciones a partir de ese momento.

                                1 Reply Last reply Reply Quote 0
                                • C
                                  cesardefez last edited by

                                  hola xyon.
                                  has podido ver si mi botonera esa bien diseñada, o hay algun error para mejorar?
                                  gracias

                                  XYON126 1 Reply Last reply Reply Quote 0
                                  • XYON126
                                    XYON126 @cesardefez last edited by XYON126

                                    @cesardefez Hola @cesardefez! La he podido pasar a MT4 y me la he mirado, y lo primero que me ha sorprendido me ha provocado estas consultas, ¿La has probado al 100%? ¿Que botones y errores te ha dado?, despues de estas dudas te puedo decir que me ha sorprendido encontrar varios bloques en "on Tick" sueltos sobre todo dos encadenados que son "Modify variables" estos bloques deberian de estar conectados a otros bloques o no te daran ningun dato y aqui surge otra duda, si no eliminas la informcion que sale en la esquina inferior izquierda del Spread, etc. ¿Para que lo quieres en tu botonera, no es poner por poner la misma informacion 2 veces y cargar el EA inutilmente? otro tema, ¿Porque pones las ordenes de ejecucion de los botones en el "on Chart" en especial los de apertura de operaciones, normalmente se suelen poner en "on Tick" y si quieres que la respuesta sea mas rapida en "on Timer", referente al de abrir y cerrar lineas, intentas abrir o crear "Tredlines" yo en este punto no te puedo ayudar, ya que lo intente y nadie me soluciono el problema, no he sido capaz de conseguir dibujar una Tredline ¿Te ha funcionado ati? ¿Como y cuando? pero eso si aqui si te puedo confirmar que ese boton debe estar donde esta en "on Chart", por cierto no se si a ti te pasa lo mismo pero supongo que es por estar en "on Chart" los botones de SELL y BUY te duplican las operaciones. El boton "open line" lo duplicas, el "Stop line" deberia de ser una linea horizontal, esta opcion de Stop Loss no existe en ninguna plataforma ya sea MT4-5 u otra, siempre es horizontal igual al Take Profit. El boton "close line" no tiene bloques de ejecucion solo se abre o dibuja el boton pero esta vacio.

                                    0_1611835987805_405fcb20-6164-499f-9869-bd4eaa9a2435-imagen.png

                                    Y sobre estos bloques al haberlos renombrado sin dejar el nombre propio desconozco que tipo de bloque es pero me da la sensacion que los tienes invertidos.

                                    yo suelo renombrar los bloques asi:
                                    0_1611836160346_d0c6aaf8-753b-4abe-a057-349b2d4d454b-imagen.png

                                    Mantengo la identificacion del bloque y lo que realiza debajo, asi siempre se que tipo de bloque es.
                                    Seguire investigando y ya te informare.

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      cesardefez @XYON126 last edited by

                                      @xyon126
                                      Hi. I write this note in English and Spanish, It is the least I can do as respect and thanks to roar and xion. Thank you. (and forgive English because I use google translator).
                                      the loose blocks, is that I make modifications to test, and I do not delete them completely, in case I have to use again.
                                      but that does not worry me, I take it into account.
                                      It is true that I have encountered problems of duplicating operations. but I want that I have already solved it, both the problem that sometimes the buttons did not go.
                                      the solution that I have given is the following.
                                      1st, I draw the buttons in the "ON INIT" tab, Surprised? I also. With this, what I get is to set the button as pressed, it remains fixed in the pressed position. so I avoid the problem of sometimes not reading the button state.
                                      The selection of the button, detect if the button is pressed, I put it in the "ON CHART" tab.
                                      Here I have the problem that when the button remains pressed, it repeats orders without stopping. To avoid this, after placing the order I put a "execute block" block. And I send it to the draw button block that is in "ON INIT", so to redraw it leaves me the button in the not pressed state.
                                      I have noticed a great improvement in the execution of the keypad.
                                      Although it cost a lot to get here, I am happy, I think it is an elegant solution.

                                      Hola. Escribo esta notaen ingles y castellano, Es lo minimo que puedo hacer como respeto y agradecimiento a roar y xion. Gracias. ( y perdonar el ingles pues uso traductor de google).
                                      los bloques sueltos, es que hago modificaciones para probar, y no los borro del todo, por si he de volver a utilizar.
                                      pero eso no me preocupa, lo tengo en cuenta.
                                      Es verdad que he encontrado problemas de que me duplica operaciones. pero qureo que ya lo tengo solucionado, tanto el problema de que a veces no iba los botones.
                                      la solución que e he dado es la siguiente.
                                      1º ,dibujo los botones en la pestaña " ON INIT", Sorprendido? yo también. Con esto lo que consigo es fijar el botón como pulsado, se queda fijo en la posición pulsado. por lo que evito el problema de que a veces no lo lea el estado del botón.
                                      La selección del botón, detectar si el botón esta pulsado, lo pongo en la pestaña "ON CHART" .
                                      Aquí me surge el problema que al quedarse el botón presionado, repite ordenes sin parar. Para evitar esto, después de colocar la orden le pongo un bloque "ejecutar bloque". Y lo mando al bloque dibujar botón que esta en "ON INIT" , por lo que a redibujar me deja el botón en estado no presionado.
                                      He notado una gran mejora en la ejecución de la botonera.
                                      aunque costo mucho llegar aquí, estoy contento, creo que es una solución elegante.

                                      1 Reply Last reply Reply Quote 0
                                      • VHV-Profit-Masters
                                        VHV-Profit-Masters @cesardefez last edited by

                                        @cesardefez ha veces dejan de funcionar cuando el grafico o la linea del movimiento del mercado tocan los botones, en estos casos debes mover el zoom o ancho y alto del grafico para intentar volver a presionar el boton

                                        1 Reply Last reply Reply Quote 0
                                        • 1 / 1
                                        • First post
                                          Last post

                                        Online Users

                                        A
                                        T
                                        M
                                        E
                                        C
                                        B

                                        20
                                        Online

                                        146.7k
                                        Users

                                        22.4k
                                        Topics

                                        122.6k
                                        Posts

                                        Powered by NodeBB Forums | Contributors