|
|
|
|
-
Iniciado 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
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
;
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 las herramientas/opciones/objetos de la plataforma y marcar/desmarcar Seleccionar objeto con un solo clic del ratón. ......... 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.
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. David
Permisos de publicación
- No puedes crear nuevos temas
- No puedes responder temas
- No puedes subir archivos adjuntos
- No puedes editar tus mensajes
-
Reglas del foro
Uso de cookies
Utilizamos cookies propias y de terceros para elaborar información estadística y mostrarle publicidad personalizada a través del análisis de su navegación. Si continúa navegando acepta su uso.
Más información y política de cookies.
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.