Lo siento, pero ya no estoy haciendo ningún trabajo de codificación, a menos que el interior/EA me sea útil personalmente. Y de todos modos, si no tiene el código fuente (archivo .mq4), ningún programador puede modificar el EA.Iniciado por ;
Publi |
Lo siento, pero ya no estoy haciendo ningún trabajo de codificación, a menos que el interior/EA me sea útil personalmente. Y de todos modos, si no tiene el código fuente (archivo .mq4), ningún programador puede modificar el EA.Iniciado por ;
1 Adjunto(s)
Hanover, ¿puedes ayudarme con algo de codificación? Por favor, la imagen de abajo es un EA de lo que modifico (busco, descargo y modifico el EA) El EA crea un botón en la pantalla y me permite hacer clic y hacer pedidos o cerrar posiciones. Mis métodos comerciales son de cobertura, por lo que es posible que en algún momento necesite abrir una orden múltiple. los lotes de compra y venta están codificados en el EA, y esto me da problemas. El problema al que me enfrento es que, por separado, puedo ingresar comprar como 0,1 lotes x 5 veces, pero cuando quiero cubrirlo, tendré que hacer clic en el botón Vender 5 veces. y debido a que estoy operando en un marco de tiempo de 1M, el precio puede moverse rápido si trato de abrir 5 pedidos en poco tiempo, y también tengo problemas para cerrar los 5 pedidos (lleva demasiado tiempo cerrarlo, el premio se mueve muy rápido) .) Hace 5 años, alguien compartió conmigo un EA (es un EA compilado, no tengo el código detrás de él) cuando se ejecuta el EA, el EA muestra los lotes en el gráfico (ejemplo en la captura de pantalla, a continuación) simplemente Al igual que la captura de pantalla, el usuario puede seleccionar los lotes haciendo clic y arrastrándolos una vez, luego se seleccionarán los lotes (será como en un cuadro), luego el usuario hace clic en un botón y se abrirá la muestra de lotes en el cuadro. Entonces, hay dos cosas que no sé. La primera es cómo codificar los lotes que se muestran en el gráfico y cuál es el código para la selección (hacer clic y arrastrar). La segunda es cómo leer el número de caja seleccionado, que son los lotes. Hannover, por favor ayúdame. Gracias.Iniciado por ;
Lo siento, he entendido mal; Pensé que estaba buscando específicamente seleccionar/deseleccionar objetos usando MQL4. Como dice cja, puede codificar una verificación para ver si un objeto se ha movido (aunque esto requiere un clic para seleccionar el objeto, y luego debe arrastrarlo):Iniciado por ;
Aquí hay un fragmento de código de un EA que escribí, que hace exactamente eso: Inserted Code extern double RefreshInterval_seconds = 0; cadena externa CornerForCounter = TR; : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : string objname = VOmonitor; int objtamaño = 8; cadena objfuente = Arial; color objcolor = Naranja; int objxpos = 5; int objypos = 15;/ -------------------------------------------------------- ------------------ int init() {/ ------------------------------------- -------------------------------------------- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : if (ObjectFind(objname) lt; 0) { ObjectCreate(objname,OBJ_LABEL,0, 0,0); ObjectSet(objname,OBJPROP_XDISTANCE,objxpos); ObjectSet(objname,OBJPROP_YDISTANCE,objypos); maíz = 0; if (StringFind(StringUpper(CornerForCounter),B) gt;= 0) corn = 2; if (StringFind(StringUpper(CornerForCounter),R) gt;= 0) corn = 1; ObjectSet(objname,OBJPROP_CORNER,corn); ObjectSetText(objname,VOM,objsize,objfont,objcolor ); } proceso principal(); if (RefreshInterval_seconds gt; 0) { while (!IsStopped()) { main_process(); Dormir (RefreshInterval_seconds*1000); int xpos = ObjectGet(objname,OBJPROP_XDISTANCE); int ypos = ObjectGet(objname,OBJPROP_YDISTANCE); if (xpos != objxpos || ypos != objypos) break; } } RefreshInterval_segundos = 0; retorno(0); }/ ---------------------------------------------- -------------------- int inicio() {/ --------------------- --------------------------------------------- si (RefreshInterval_segundos lt ;= 0) { proceso_principal(); } retorno(0); }/ ---------------------------------------------- -------------------- int proceso_principal() {/ --------------------- ------------------------------------------------------------ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Si la configuración de RefreshInterval_seconds gt; 0, el EA realizará un bucle, realizando main_process() repetida e indefinidamente (al codificar el bucle en la sección init()), hasta que el objeto se mueva, lo que termina el bucle, lo que le da al usuario la oportunidad de cambiar los parámetros del EA. La configuración también provoca un retraso del número especificado de segundos, entre cada iteración del bucle. Si la configuración RefreshInterval_seconds = 0, entonces el EA simplemente realiza main_process() una vez por marca (es decir, el código en la sección start()). Espero que te dé algunas ideas con las que trabajar. DavidIniciado por ;
gracias amigos por sus ideas. hasta ahora estoy en una situación de punto muerto, sigo buscando una solución que use 1 clic como interruptor usando el mouse. He visto que IBfx lo tiene en su última plataforma (para abrir/cerrar una operación), pero el código no está expuesto. espero que entren mas ideas
Un objeto se puede usar como un interruptor de ENCENDIDO/APAGADO si usa la tecla Eliminar del teclado, puede configurar la plataforma MT4 para seleccionar un objeto con un clic o un doble clic en la pestaña en la parte superior de la plataforma herramientas/opciones/objetos y marque/desmarque Seleccionar objeto con un solo clic del mouse. Luego, todo lo que necesita hacer es hacer clic/doble clic en el objeto y eliminarlo con la tecla Eliminar en el teclado y esto le dará un cambio. Aunque no lo he probado personalmente, también creo que un objeto también se puede seleccionar y mover en un gráfico para crear un interruptor. Este tipo de código es para trabajar con objetos directamente del gráfico y es posible que no se aplique a su situación; sin embargo, es de esperar que pueda darle una mirada a su problema desde una perspectiva diferente.Iniciado por ;
De ninguna manera. La única forma de seleccionar un objeto es manualmente haciendo clic en él en el gráfico. Si no lo cree, pregunte en el foro de mql.Iniciado por ;
Tiene razón, 'seleccionado' no es una de las propiedades de objeto disponibles y, por lo tanto, no hay un comando MQL4 que verifique o cambie el estado seleccionado de un objeto. Podría lograrse usando una DLL codificada apropiadamente, pero el código necesitaría abordar de alguna manera el estado del objeto, que es interno a MT4......... todo lo cual queda fuera del alcance de mi conocimiento.Iniciado por ;
Aviso legal: Ni forosforex.com ni ninguna persona involucrada en forosforex.com aceptarán ninguna responsabilidad por cualquier pérdida o daño en el trading como resultado de la confianza en la información contenida en este sitio web, incluidos datos, cotizaciones, gráficos y señales de compra/venta. Por favor, infórmese plenamente de los riesgos y costes asociados a las operaciones en los mercados financieros, una de las formas de inversión que más riesgos entrañan.
forosforex.com le quiere recordar que los datos contenidos en este sitio web no son necesariamente en tiempo real ni exactos. forosforex.com no asume responsabilidad alguna por las pérdidas en que usted podría incurrir como resultado de la utilización de estos datos. Este acuerdo se rige por su versión en inglés, que prevalecerá siempre que haya alguna discrepancia entre la versión en inglés y la versión en español.
Los CFD son un producto difícil de entender, varios organismos reguladores consideran que no es adecuado para inversores minoristas debido a su complejidad y riesgo.
Advertencia de riesgo: Los CFDs son un producto difícil de entender, y puede no ser adecuado para inversores minoristas debido a su complejidad y riesgo. Existe la posibilidad de sufrir una pérdida igual o superior a la inversión. Por lo tanto, no debe invertir o arriesgar dinero que no pueda permitirse perder. Debe asegurarse de que comprende todos los riesgos. Antes de abrir una cuenta en un broker por favor sea consciente e infórmese de los riesgos asociados con el trading. El contenido de este sitio web no debe interpretarse como asesoramiento personal. ForosForex recomienda que busque el consejo de un asesor financiero independiente.