Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 43

 
fxsaber:
In solchen Fällen funktioniert es auch ohne die zusätzlichen Klammern.
Die Klammern sind für mich selbst. Auf diese Weise kann ich besser sehen.
 
Wenn es mühsam ist, die richtige Funktion unter der gewünschten Eigenschaft auszuwählen
double TerminalInfo( const ENUM_TERMINAL_INFO_DOUBLE Property )
{
  return(TerminalInfoDouble(Property));
}

long TerminalInfo( const ENUM_TERMINAL_INFO_INTEGER Property )
{
  return(TerminalInfoInteger(Property));
}

string TerminalInfo( const ENUM_TERMINAL_INFO_STRING Property )
{
  return(TerminalInfoString(Property));
}

void OnStart()
{
  Print(TerminalInfo(TERMINAL_COMMUNITY_BALANCE));
  Print(TerminalInfo(TERMINAL_LANGUAGE));
  Print(TerminalInfo(TERMINAL_BUILD));
}
 

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Bibliotheken: TypeToBytes

fxsaber, 2017.06.13 16:01

string GetDirectory( const string FileName )
{
  int Pos = StringFind(FileName, "\\");
  int LastPos = Pos;
  
  while (Pos >= 0)
  {
    LastPos = Pos;
    
    Pos = StringFind(FileName, "\\", Pos + 1);
  }

  return((LastPos >= 0) ? StringSubstr(FileName, 0, LastPos + 1) : "");
}

// Возвращает список всех файлов по фильтру
int GetFileNames( string &FileNames[], int Pos = 0, string Filter = "*", const int Common_Flag = 0 )
{
  string FileName;
  const long handle = FileFindFirst(Filter, FileName, Common_Flag);

  if (handle != INVALID_HANDLE)
  {    
    const string Directory = GetDirectory(Filter);    
    Filter = StringSubstr(Filter, StringLen(Directory));
    
    do
    {
      const string TmpFileName = Directory + FileName;
      
      ArrayResize(FileNames, Pos + 1);      
      FileNames[Pos] = TmpFileName;      
      Pos++;
        
      if (!FileIsExist(TmpFileName, Common_Flag))
        Pos = GetFileNames(FileNames, Pos, TmpFileName + Filter, Common_Flag);
    }
    while (FileFindNext(handle, FileName));  
    
    FileFindClose(handle);
  }
  
  return(Pos);
}
 
Bitte sagen Sie mir, was ist der Zweck der Funktion HistoryDealSelect, wenn in der HistoryDealGetInteger, HistoryDealGetDouble,
HistoryDealGetString-Funktionen, wenn die Ticketnummer erneut angegeben werden soll?
 
. ... Rick D. ... .:
Können Sie mir sagen, was der Zweck der Funktion HistoryDealSelect ist, wenn in den Funktionen HistoryDealGetInteger, HistoryDealGetDouble,
HistoryDealGetString-Funktionen, wenn es erforderlich ist, die Ticketnummer erneut anzugeben?

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Eigenheiten der mql5-Sprache, Feinheiten und Tricks

fxsaber, 2017.06.07 22:20

Es gibt zwei aktuelle Verlaufstabellen, deren Daten über die Verlaufsfunktionen verfügbar sind - die Tabelle "Aufträge" und die Tabelle "Abschlüsse".

Ihr Inhalt kann nur über die HistorySelect-Funktionen beeinflusst werden. Und das geschieht folgendermaßen

  • HistorySelect und HistorySelectByPosition - betreffen beide Tabellen gleichzeitig.
  • Der HistoryDealSelect wirkt sich NUR auf die Tabelle Deals aus (hat keine Auswirkungen auf die aktuelle Tabelle Orders-history).
  • HistoryOrderSelect wirkt sich NUR auf die Tabelle Orders aus (nicht auf die aktuelle Tabelle Deals-history).

Die Deal-Tabelle wird zu einem einzigen Element.
 
Gibt es eine Begrenzung für die Anzahl der grafischen Objekte, die in einem Diagramm platziert werden können? ) Es handelt sich nicht um ein Pixeldiagramm, sondern um grafische Elemente - Trendlinien, Rechtecke usw.
 
Konstantin:
Gibt es eine Begrenzung für die Anzahl der grafischen Objekte, die in einem Diagramm platziert werden können? Ich meine damit keine Pixelgrafiken, sondern grafische Elemente - Trendlinien, Rechtecke usw.
über 2000 ausprobiert - es hat funktioniert
 
Vitaly Muzichenko:
mehr als 2000 ausprobiert - es hat funktioniert

und inwiefern wäre es ressourcensparend, wenn man bei jedem Häkchen Änderungen vornehmen müsste:

1. 2000 grafische Objekte zu verwenden

2. die Klasse Canvas verwenden und auf jedem Häkchen eine Zeichnung erstellen, die dieselben 2000 Zeichnungen von grafischen Objekten enthält

 
Konstantin:

und inwiefern wäre es ressourcensparend, wenn man bei jedem Häkchen Änderungen vornehmen müsste:

1. 2000 grafische Objekte zu verwenden

2. Verwenden Sie die Klasse Canvas und erstellen Sie eine Zeichnung mit den gleichen 2000 Zeichnungen von grafischen Objekten auf jeder Markierung

Canvas wird um ein Vielfaches produktiver sein, ich habe es ausprobiert.
 
Vitaly Muzichenko:
Canvas wird um ein Vielfaches produktiver sein, ich habe es ausprobiert.

Ich muss eine Reihe von horizontalen Linien in einem Diagramm zeichnen. Können Sie mir ein Codebeispiel schicken?

Oops )) Es stellt sich heraus, die Website-Hilfe ist mehr erweitert, fand ich, was ich suche - CLineChart Klasse ))