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

 

Ist es möglich, eine Tabelle in MT4 mit einer Struktur wie in Excel zu erstellen (+ und - klappt die Daten ein und aus)? Wenn ja, wo kann ich darüber lesen?


 

Hallo zusammen, ich lerne gerade die Codes. Es gibt einen Fehler, und ich weiß nicht, wie ich ihn beheben kann.


int CountTrades(int type, int magic)

{

int count=0;

for(int i=OrdersTotal()-1;i>=0;i-)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && (OrderType()==type||type==-1) &&

(BestellMagicNumber()==magic||magic==-1))

zählen++;

}

}

zurückgeben (count);


Ich habe hervorgehoben, was darin fehlt.


Die Fehler sind wie folgt:

"-" Operand erwartet

")" - unerwartetes Token

"i" - nicht deklarierter Bezeichner


Es ist, als würde es ihm nicht gefallen, dass ich im ersten Fehler ein Minus nach dem i gesetzt habe. Vielleicht sollte ich es irgendwie mit Bindestrich schreiben?

Ich habe alles Buchstabe für Buchstabe mit dem Tutorial gemacht - aber der Code lässt sich nicht kompilieren.

Ich brauche Ihre Hilfe.

 
Falx:

Hallo zusammen, ich lerne gerade die Codes. Es gibt einen Fehler, ich weiß nicht, wie man ihn beheben kann.

Zwei Minuspunkte und keine Klammer zum Schließen der Funktion.
 
Aleksey Vyazmikin:
Zwei Minuszeichen und keine Klammern zum Schließen der Funktion.

Herzlichen Dank! Alles repariert! Es klappt!

 

Ich musste die beiden Zeitpunkte nach Stunden vergleichen, was ich auf diese Weise tat:

string TimeCompare = StringSubstr(TimeToString(MyLastNewsTime[i],TIME_DATE|TIME_MINUTES),0,13);
string TimeCompare1 = StringSubstr(TimeToString(MyLastNewsTime1[i],TIME_DATE|TIME_MINUTES),0,13);
if(TimeCompare != TimeCompare1)
...

Es hat funktioniert, aber vielleicht ist das nicht der richtige Weg? Was haben die Programmierer zu sagen?

 
Nauris Zukas:

Ich musste die beiden Zeitpunkte nach Stunden vergleichen, was ich auf diese Weise tat:

Es hat funktioniert, aber vielleicht ist das nicht der richtige Weg? Was haben die Programmierer zu sagen?


if(TimeHour(MyLastNewsTime[i])!=TimeHour(MyLastNewsTime1[i]))
 {
 }
 
Nikolay Ivanov:

Vielleicht habe ich es nicht richtig erklärt, aber Sie müssen zwei Daten auf die Stunde genau finden (Minuten und Sekunden sind nicht wichtig). Sie haben nur einen Vergleich nach Stunden.

 
Nauris Zukas:

Vielleicht habe ich es nicht richtig erklärt, aber Sie müssen zwei Daten auf die Stunde genau finden (Minuten und Sekunden sind nicht wichtig).


Sie müssen Daten finden oder die Uhrzeit von 2 Daten vergleichen?

 
Nikolay Ivanov:

Daten finden oder die Uhrzeit von 2 Daten vergleichen?

Sie müssen die Daten auf die Stunde genau finden (Minuten und Sekunden sind nicht wichtig).

 
Nikolay Ivanov:

Sie müssen die Daten finden, oder die Uhrzeit von 2 Daten vergleichen?

Würde CopyTime besser funktionieren?

Hier entlang.

int  CopyTime(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период PERIOD_H1
   datetime         start_time,      // с какой даты
   int              count,           // сколько копируем 1
   datetime         time_array[]     // массив для копирования времени открытия
   );

Die Zeit in eine Zeichenkette zu übersetzen und sie zu vergleichen ist keine gute Option.

CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Функция получает в массив time_array исторические данные времени открытия баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...