Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1616

 

Hallo! Das ist vielleicht eine Frage, die nicht zum Thema gehört, aber können Sie mich in einem Forum beraten? Das ist neu für mich.

Die Situation stellt sich wie folgt dar. Ich habe meinen EA geschrieben und zum Verkauf angeboten, aber drei Monate später habe ich herausgefunden, dass mein EA illegal auf anderen Websites verkauft wird (ich habe bereits drei Websites gefunden).

Ich sollte genauer sein, nicht nur mein EA steht zum Verkauf, sondern ich kann fast jeden EA auf der Mql5 Website finden.

Vielleicht gibt es Informationen darüber, ob die Mql5-Programmierer dieses Problem lösen?

Ich danke Ihnen.

 
Nerd Trader #:

Ja, das ist nicht gut. Ist das in Ordnung?

Dies ist nicht gleichbedeutend mit Sleep(100)? Schließlich bleibt das Programm in einer Schleife hängen, bis die Pause ausgeführt wird.

Äquivalent.

Und hier kommen wir zu OOP, wo jede Schaltfläche eine Instanz einer Schaltflächenklasse ist, jede mit ihrem eigenen Knopfdruck-Handler und der Verfolgung der Dauer der Verzögerung in ihrem eigenen Timer.

Oder die Verfolgung der Zustände der einzelnen Schaltflächen im Gesamtzeitgeber des Programms - wenn nicht OOP

 
Mikhail Voropaev die Mql5-Programmierer dieses Problem lösen?

Ich danke Ihnen.

Bitte senden Sie mir die URL jeder dieser Websites in meiner persönlichen Nachricht.

 
Artyom Trishkin #:

Äquivalent.

Und hier kommen wir zu OOP, wo jede Schaltfläche eine Instanz einer Schaltflächenklasse ist, jede mit ihrem eigenen Schaltflächen-Handler und der Verfolgung der Dauer der Verzögerung in ihrem eigenen Timer.

Oder die Verfolgung des Zustands der einzelnen Schaltflächen im Timer des Programms, wenn es sich nicht um OOP handelt.

Ich verstehe die OOP, aber ich bin mir nicht sicher, was den Selbstauslöser betrifft. Wie meinen Sie das? Unterschiedlicher Start der Zeitschaltuhren und Berücksichtigung von Verzögerungen? Aber es gibt nur eine Zeit, die zählt. Oder was ist sonst noch unbekannt?

 
Valeriy Yastremskiy #:

Das OOP ist klar, aber der benutzerdefinierte Zeitgeber ist es nicht. Wie meinen Sie das? Unterschiedlicher Start von Zeitschaltuhren und Berücksichtigung von Verzögerungen? Aber es gibt nur eine Zeit, die zählt. Oder was ist sonst noch unbekannt?

Meine Stumpfsinnigkeit ...

Sicherlich nicht "eigener Timer", aber ein eigener Handler, der im Timer läuft.

 
Artyom Trishkin #:

Bitte mailen Sie mir die URL jeder dieser Websites.

Ich kann dir später welche geben. Ich speichere sie alle. Einige von ihnen sind jedoch bereits ausgeschaltet.
Es gibt viele von ihnen, die den Markt kopieren. Mit Preisnachlass.
 
Valeriy Yastremskiy #:

Das OOP ist klar, aber der benutzerdefinierte Zeitgeber ist es nicht. Wie meinen Sie das? Unterschiedlicher Start von Zeitschaltuhren und Berücksichtigung von Verzögerungen? Aber es gibt nur eine Zeit, die zählt. Oder was ist sonst noch unbekannt?

Ich habe einmal einen Artikel zu diesem Thema geschrieben.

 
Sergey Gridnev #:
Ich habe einmal einen Artikel zu diesem Thema geschrieben.

Vielen Dank, gute Lokalisierung der Anwendungen)

 
MakarFX #:
und wenn "ms" global gemacht wird
Sieht aus wie OnTimer behandelt Ereignisse parallel mit Haupt-Thread und das ist, was Sie für Schaltfläche Animation benötigen, aber es wird nicht besser auf diese Weise.
GetMicrosecondCount()-ms wird auf jeden Fall eine Differenz von mehr als 100000 ergeben, ohne dass die Taste gedrückt werden muss. Es ist möglich, die Grenzen durch Hinzufügen weiterer
&& GetMicrosecondCount()-ms<120000, ist die Bedingung 1 Mal erfüllt, aber auch unabhängig ohne Drücken.

P.S. "ms = 0" macht auch für Null keinen Sinn.


 
Nerd Trader #:
Es scheint, dass OnTimer Ereignisse parallel zum Hauptthread verarbeitet und das ist, was Sie für die Tastenanimation benötigen, aber es wird auf diese Weise nicht besser.
GetMicrosecondCount()-ms wird auf jeden Fall eine Differenz von mehr als 100000 ergeben, ohne dass die Taste gedrückt werden muss. Es ist möglich, den Rahmen durch Hinzufügen weiterer
&& GetMicrosecondCount()-ms<120000, ist die Bedingung 1 Mal erfüllt, aber auch unabhängig ohne Drücken.

P.S. "ms = 0" macht auch für Null keinen Sinn.


oder wenn

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