Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1417

 

Und hier habe ich ein Durcheinander von einer Art... Ich möchte einige Ebenen zu verstecken, und machen andere mit einem bestimmten Stil (wie sonst).

Also die Null-Ebene in der Debug-Stil ändert, aber sobald Sie die erste Ebene ausblenden, geht es zurück zu gelb. Nun, nicht auch in der Fehlersuche. Die Beschriftung mit dem Wert hat nur die richtige Farbe. Was für ein Schmerz mit diesem Fibonacci....

   int total_levels=(int)ObjectGetInteger(ChartID(),name,OBJPROP_LEVELS);
   for(int i=0;i<total_levels;i++)
     {
      if(i==0 || i==4 || i==5)
        {
         ObjectSetInteger(ChartID(),name,OBJPROP_LEVELCOLOR,i,FiboClr);
         ObjectSetInteger(ChartID(),name,OBJPROP_LEVELWIDTH,i,FiboWidth);
         ObjectSetInteger(ChartID(),name,OBJPROP_LEVELSTYLE,i,FiboStyle);
        }
      else
        {
         ObjectSetDouble(ChartID(),name,OBJPROP_LEVELVALUE,i,0);
         ObjectSetString(ChartID(),name,OBJPROP_LEVELTEXT,i,"");
        }
     }
 

Guten Tag zusammen.

bitte sagen Sie mir, wie ich das Problem lösen kann

Es gibt eine Klasse, die Positionen und Aufträge verarbeitet und sie mit der Datenbank abgleicht.

wir müssen STRUKTUREN (string, double, int, string .....) von dieser Klasse übergeben.

Wie kann das gemacht werden?

und wenn möglich einen Link zu einem Beispiel

 
Sergey Li #:

Guten Tag, liebe Kolleginnen und Kollegen.

bitte sagen Sie mir, wie ich das Problem lösen kann

Es gibt eine Klasse, die Positionen und Aufträge verarbeitet und sie mit der Datenbank abgleicht.

es ist notwendig, STRUCTURES (string, double, int, string .....) von dieser Klasse zu übergeben.

Wie kann das gemacht werden?

und wenn möglich einen Link zu einem Beispiel

Es gibt Beispiele in der Standardbibliothek.

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / Result
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / Result
  • www.mql5.com
Result(MqlTradeResult&) - CTrade - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Bevor wir einen Auftrag senden, müssen wir prüfen, wann die letzte Position auf einem Symbol geöffnet wurde. Was ist schneller, in der Historie oder in der globalen Variable des Terminals zu suchen?
 
lynxntech globalen Terminalvariable zu suchen?

Schneller als in der Variablen kann es nicht sein. Nur eine Korrektur: Sie können die globale Variable des Terminals verwenden, um sie beim Neustart des Terminals zu speichern, und die Historie in OnInit() durchsuchen. Aber wenn Sie zu OnTick() gehen, muss dieser Wert in der globalen Variablen der Ebene sein, aber nicht in der globalen Variablen des Terminals.

 
Alexey Viktorov #:

Schneller als in einer Variablen kann es nicht sein. Nur eine Korrektur: Sie können die globale Variable des Terminals verwenden, um sie beim Neustart des Terminals zu speichern und die Historie in OnInit() zu durchsuchen. Aber wenn Sie zu OnTick() gehen, muss dieser Wert in der globalen Variablen der Ebene sein, aber nicht in der globalen Variablen des Terminals.

Ist die globale Variable des Terminals so langsam, weil sie im gleichen Speicher wie ein normaler gespeichert werden sollte, ist es nicht eine riesige Menge an Informationen, die von der Festplatte angefordert wird, wenn nötig.

 
lynxntech #:

Ist eine globale Variable so langsam, weil sie im gleichen Speicher wie eine normale Variable gespeichert werden sollte, ist es nicht eine riesige Menge an Informationen, die von der Festplatte angefordert wird, wenn nötig.

Grob gesagt, ist eine globale Terminalvariable fast wie eine Datei. Wo wird sie sonst gespeichert, wenn der Computer ausgeschaltet wird? Und eine globale Variable, auf die man von jeder Stelle des Programms aus zugreifen kann, ist eine Variable im Speicher. Natürlich ist sie schneller.

Es stellt sich heraus, dass es besser ist, bei einem Neustart sowohl in die globale Variable der Ebene als auch in die globale Variable des Terminals zu schreiben, um sie nach dem Neustart des Terminals wiederherzustellen. Aber während das Terminal läuft, sollte die globale Level-Variable überprüft werden.

 
Alexey Viktorov #:

Grob gesagt, ist eine globale Terminalvariable fast wie eine Datei. Wo wird sie sonst gespeichert, wenn der Computer ausgeschaltet wird? Und eine globale Variable, die von jeder Stelle des Programms aus zugänglich ist, ist eine Variable im Speicher. Natürlich ist sie schneller.

Es stellt sich heraus, dass es besser ist, bei einem Neustart sowohl in die globale Variable der Ebene als auch in die globale Variable des Terminals zu schreiben, um sie nach dem Neustart des Terminals wiederherzustellen. Aber während das Terminal läuft, sollte die globale Level-Variable überprüft werden.

d.h. die Historie in OnDeinit prüfen und in die globale Terminalvariable schreiben?

Im Idealfall gibt es nur ein paar Bytes an Informationen in Textform, sind diese nicht in der Verfügbarkeit enthalten, wie die üblichen Variablen, d.h. im RAM?

In OnInit lesen wir sie, schreiben sie in den RAM, und wenn die Variable dann aktualisiert wird, wird sie überschrieben.

Hat das jemand gemessen oder können uns die Entwickler helfen, das herauszufinden?

 
lynxntech #:

D.h. die Historie in OnDeinit prüfen und in das globale Terminal schreiben?

Idealerweise gibt es nur ein paar Bytes an Informationen in Textform, sind diese nicht in der Verfügbarkeit als normale Variablen enthalten, d.h. im RAM?

In OnInit lesen wir sie, schreiben sie in den RAM, und wenn die Variable dann aktualisiert wird, wird sie überschrieben.

Hat das jemand gemessen oder können uns die Entwickler helfen, das herauszufinden?

Wer sagte, dass die Historie in OnDeinit() ausgelesen wird?

Ich sprach von der Notwendigkeit, die Variable in die Terminalvariable bei der nächsten Positionseröffnung zu duplizieren...

 
Alexey Viktorov #:

Wer hat etwas über die Auswahl der Historie in OnDeinit() gesagt?

Ich sprach von der Notwendigkeit, die Variable in die Terminalvariable bei der nächsten Positionseröffnung zu duplizieren...

es kann alles gemacht werden, die Frage war an diejenigen, die die wirkliche Arbeit gemessen haben, und besser an die Entwickler, die wissen, was sie in ihren Plänen haben.

Ich will nicht experimentieren, es gibt viele andere Aufgaben.

Grund der Beschwerde: