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

 
Ich habe die Linien gesetzt, um zu sehen, wo der EA funktionieren wird, die Linien durch eine Bedingung für die Platzierung und Änderung von Aufträgen ersetzt und der EA hat funktioniert. Um ehrlich zu sein, bin ich froh, dass es funktioniert hat. Dies ist mein erster unabhängiger EA. Ich habe verstanden, warum der Prüfer nur eine Zeile eingestellt hat ))
 
Alexey Viktorov:

Überprüfen Sie die MA-Kreuzung nicht auf 1 und 2 Balken, sondern auf 3 und 4. Und wenn es einen Crossover gibt, prüfen Sie die AO-Werte auf 1 und 2 Balken.

Ich danke Ihnen. Ich werde es weiter versuchen.
 

Ich habe eine andere Kopfschmerzen - erklären, wie die Taste KEY_TILDE für die Auswahl der rechteckigen Label-Objekt zu schreiben, so dass es ausgewählt werden kann und an eine andere Stelle auf dem Diagramm verschoben, ich kann es nicht herausfinden. Ich habe einen Screenshot mit einem Beispiel auf dem Fork Neo Indikator angehängt. Die Maus habe ich verstanden, aber ich kann nichts über die Tastenbelegung finden.

int OnInit()
  {
RectLabelCreate(0,"RectLabel",0,10,200,149,143,C'55,55,55',BORDER_SUNKEN,CORNER_LEFT_LOWER,C'55,55,55',STYLE_SOLID,1,false,false,true,0);

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam) // параметр события типа string
  {

    if(id==CHARTEVENT_KEYDOWN)
     {
      switch(int(lparam))
        {
         case KEY_TILDE:
            Print("Нажата KEY_TILDE");
            break;
        }
        ChartRedraw(); 
     }

  }
Dateien:
01.jpg  8 kb
02.jpg  3 kb
 
DYM:

Ich habe eine andere Kopfschmerzen - erklären, wie die Taste KEY_TILDE für die Auswahl der rechteckigen Label-Objekt zu schreiben, so dass es ausgewählt werden kann und an eine andere Stelle auf dem Diagramm verschoben, ich kann es nicht herausfinden. Ich habe einen Screenshot mit einem Beispiel auf dem Fork Neo Indikator angehängt. Die Maus habe ich verstanden, aber ich kann nichts über die Tastenbelegung finden.

    if(id==CHARTEVENT_KEYDOWN)
     {
      switch(int(lparam))
        {
         case KEY_TILDE:
         ObjectSetInteger(0,"RectLabel",OBJPROP_SELECTABLE,true); 
         Print("Нажата KEY_TILDE");
         break;
        }
        ChartRedraw(); 
     }
 
MakarFX:
Vielen Dank für den Hinweis. Mir war klar, dass ich Auflösung und Auswahl verwenden musste, aber ich konnte nicht herausfinden, wie ich das anstellen sollte. Nochmals vielen Dank.
 
Liebe Kolleginnen und Kollegen, ich befinde mich in einer seltsamen Situation. Im Testgerät funktioniert es gut, es ist so eingestellt, dass eine zufällige Bestellung sofort geöffnet wird, wenn sie dem Diagramm hinzugefügt wird. Dies ist optimal für GBPUSD. In der Demo werden jedoch keine Aufträge eröffnet. Ich habe eine breite Streuung, keine Fehler, aber wieder, Aufträge wurden nicht für einen Tag geöffnet, aber ich habe gut innerhalb des gleichen Tages mit heruntergeladenen Ticks im Tester gehandelt. Alle Einstellungen von MetaTrader sind normal, die Gesichter lächeln und die Verbindung mit dem Server des Brokers ist ebenfalls normal. Ich muss nachsehen, was mit dem Code falsch ist. Obwohl dieser Code keine Induktionen benötigt und die Parameter durch seine Bedingungen für das Überspringen von Eröffnungsaufträgen gültig sind. Ich bin verwirrt.
Dateien:
BlackJack.mq4  47 kb
 
Порт-моне тв:
Liebe Kolleginnen und Kollegen, ich habe meinen Expert Advisor fertiggestellt. Sie funktioniert gut im Strategy Tester, wurde aber so konfiguriert, dass sie sofort eine zufällige Order öffnet, wenn sie dem Chart hinzugefügt wird. Dies ist optimal für GBPUSD. In der Demo werden jedoch keine Aufträge eröffnet. Ich habe eine breite Streuung, keine Fehler, aber wieder, Aufträge wurden nicht für 24 Stunden geöffnet, aber ich habe gut gehandelt innerhalb des gleichen Tages mit heruntergeladenen Ticks im Tester. Alle meine MetaTrader-Einstellungen sind normal, mein Gesicht lächelt und die Verbindung mit dem Server des Brokers ist auch normal. Ich muss nachsehen, was mit dem Code falsch ist. Obwohl dieser Code keine Induktionen benötigt und die Parameter durch seine Bedingungen für das Überspringen von Eröffnungsaufträgen gültig sind. Ich bin verwirrt.

Es gibt eine Reihe von Engpässen. Der Code ist schlecht geschrieben - extrem schlampige Datenverarbeitung. Überarbeitung erforderlich

 
Nikita Chernyshov:

Es gibt eine Reihe von Engpässen. Der Code ist schlecht geschrieben - extrem schlampige Datenverarbeitung. Sie muss überarbeitet werden.

Ihre abstrakte Bewertung gibt keinen Aufschluss über die Ursache.

 
Порт-моне тв:

was für verdammte Engpässe ... was für ein @@#$ Refactor

der Code wurde "für mein geliebtes Ich, für Bier und solange ich mich daran erinnere" geschrieben :-)

Ehrlich gesagt - ich habe es heruntergeladen, schräg angeschaut, ich verstehe es nicht...

----

Jeder Code wird dokumentiert/kommentiert, für den Fall einer plötzlichen persönlichen beruflichen Amnesie. In diesem Moment haben Sie alles vergessen, außer der Programmiersprache.

Niemand wird einen unbekannten Algorithmus analysieren, der auf unbekannte Weise implementiert wurde. Zumindest umsonst. Für Geld werden sie es einfach umschreiben.

Sie sind einer von ihnen. Nach einer zwei- bis dreimonatigen Pause werden Sie sich nicht mehr daran erinnern, warum es so viele Variablen in OnTick gibt und was Sie aus ihnen ablesen wollten

 
Maxim Kuznetsov:

was für verdammte Engpässe ... was für ein @@#$ Refactor

der Code wurde "für mein geliebtes Ich, für Bier und solange ich mich daran erinnere" geschrieben :-)

Ehrlich gesagt - ich habe es heruntergeladen, schräg angeschaut, ich verstehe es nicht...

----

Jeder Code wird dokumentiert/kommentiert, für den Fall einer plötzlichen persönlichen beruflichen Amnesie. In diesem Moment haben Sie alles vergessen, außer der Programmiersprache.

Niemand wird einen unbekannten Algorithmus analysieren, der auf unbekannte Weise implementiert wurde. Zumindest umsonst. Für Geld werden sie es einfach umschreiben.

Sie sind einer von ihnen. Wenn Sie eine zwei- bis dreimonatige Pause einlegen, werden Sie sich nicht mehr daran erinnern, warum es so viele Variablen in OnTick gab und was sie bedeuten sollten

Da ist viel unnötiges Zeug drin, um z.B. verschiedene Funktionen zu testen. Es sollte nicht stören und hat auch bei anderen EAs nicht gestört, die einfach funktionieren. Ich vermute, ich habe eine Klammer an der falschen Stelle gesetzt oder so.
Grund der Beschwerde: