Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1616

 

Hola! Puede que sea una pregunta fuera de tema, pero ¿podríais aconsejarme en un foro? Soy nuevo en esto.

La situación es la siguiente. He escrito mi EA y lo he puesto a la venta, pero tres meses después he descubierto que mi EA se está vendiendo ilegalmente en otros sitios web (ya he encontrado tres sitios).

Debería ser más preciso, no sólo mi EA está a la venta, sino que puedo encontrar casi cualquier EA en la web de Mql5.

¿Tal vez haya información sobre si los programadores de Mql5 están resolviendo este problema?

Gracias.

 
Nerd Trader #:

Sí, eso no es bueno. ¿Está bien?

¿No es equivalente a Sleep(100)? Al fin y al cabo, el programa se colgará en un bucle hasta que se ejecute la pausa.

Equivalente.

Y ahí es donde llegamos a la POO, donde cada botón es una instancia de la clase botón, cada uno con su propio manejador de pulsación de botón y el seguimiento de la duración del retraso en su propio temporizador.

O el seguimiento de los estados de cada botón en el temporizador general del programa - si no es OOP

 
Mikhail Voropaev los programadores de Mql5 están resolviendo este problema?

Gracias.

Por favor, envíenme la URL de cada uno de esos sitios en mi mensaje personal.

 
Artyom Trishkin #:

Equivalente.

Y ahí es donde llegamos a la POO, donde cada botón es una instancia de una clase de botón, cada uno con su propio manejador de botón y el seguimiento de la duración del retraso en su propio temporizador.

O el seguimiento del estado de cada uno de los botones en el temporizador del programa, si no es OOP.

Entiendo lo de OOP, pero no estoy seguro de lo del temporizador automático. ¿Qué quieres decir? ¿Diferente inicio de los temporizadores y contabilización de los retrasos? Pero sólo hay un tiempo que cuenta. ¿O qué más se desconoce?

 
Valeriy Yastremskiy #:

El OOP está claro, pero el temporizador personalizado no lo está. ¿Qué quieres decir? ¿Diferente inicio de los temporizadores y contabilización de los retrasos? Pero sólo hay un tiempo que cuenta. ¿O qué más se desconoce?

Mi obtusidad...

Ciertamente no es un "temporizador propio", sino su propio manejador que se ejecuta en el temporizador.

 
Artyom Trishkin #:

Por favor, envíenme por correo electrónico la URL de cada uno de esos sitios.

Puedo darte algo más tarde. Los guardo todos. Sin embargo, algunos de ellos ya están apagados.
Hay muchos que copian el mercado . Con descuento.
 
Valeriy Yastremskiy #:

El OOP está claro, pero el temporizador personalizado no. ¿Qué quieres decir? ¿Diferente inicio de los temporizadores y contabilización de los retrasos? Pero sólo hay un tiempo que cuenta. ¿O qué más se desconoce?

Una vez escribí un artículo sobre este tema.

 
Sergey Gridnev #:
Una vez escribí un artículo sobre este tema.

Gracias, buena localización de aplicaciones)

 
MakarFX #:
pero si "ms" se hace global
Parece que OnTimer maneja los eventos en paralelo con el hilo principal y eso es lo que necesitas para la animación de los botones, pero no mejora de esta manera.
GetMicrosecondCount()-ms dará de todos modos una diferencia superior a 100000 y sin pulsar el botón. Es posible fijar los límites añadiendo más
&& GetMicrosecondCount()-ms<120000, la condición se cumple 1 vez, pero también independientemente sin pulsar.

P.D. "ms = 0" tampoco tiene sentido a cero.


 
Nerd Trader #:
Parece que OnTimer maneja los eventos en paralelo con el hilo principal y esto es lo que necesita para la animación de los botones, pero no mejora de esta manera.
GetMicrosecondCount()-ms dará de todos modos una diferencia superior a 100000 y sin pulsar el botón. Es posible fijar el marco añadiendo más
&& GetMicrosecondCount()-ms<120000, la condición se cumple 1 vez, pero también independientemente sin pulsar.

P.D. "ms = 0" tampoco tiene sentido a cero.


o si

//+------------------------------------------------------------------+
void OnTimer()
  {
   if(ms!=0&&GetMicrosecondCount()-ms>100000)
     {
      ObjectSetInteger(0,"button1",OBJPROP_STATE,false);
      ms=0;
     }
  }
//+------------------------------------------------------------------+