Fragen von einem "Dummy" - Seite 104

 
220Volt:
Danke, es sieht so aus, als wäre es an der Zeit, Urgroßvaters Buch zu verbrennen ))))

Aus der Geschichte: Urgroßvaters Buch hat ausdrücklich long=int für die Kompatibilität alter Software hinterlassen.

Irgendwann haben wir uns auch entschieden - die "nutzlose" long als int zu belassen und die unmenschliche int64 (oder long int) einzuführen oder es "richtig" zu machen, indem wir pure long verwenden. Daher haben wir beschlossen, dass die korrekte Vorgehensweise darin besteht, long als 64-Bit-Ganzzahl zu verwenden.

Long ist in anderen Systemen nicht immer 32 Bit. Selbst ein und derselbe Compiler für verschiedene Architekturen verwendet unterschiedliche Größen. Das ist es, was Intel C++ hat:

The size of a "long" integer varies between architectures and operating systems.

The Intel Compiler is compatible and inter-operable with Microsoft* Visual C++ on Windows* and
with gcc* on Linux* and Mac OS X*. Consequently, the sizes of fundamental types are the same as
for these compilers. The size of  a long integer in particular depends on the operating system
and the targeted architecture as follows:

   OS         arch           size
----------------------------------
Windows       IA-32        4 bytes
Windows       Intel 64     4 bytes
Windows       IA-64        4 bytes
Linux         IA-32        4 bytes
Linux         Intel 64     8 bytes
Linux         IA-64        8 bytes
Mac OS X      IA-32        4 bytes

Mac OS X        Intel 64       8 bytes


In MQL5 verwenden wir die x64-Bit-kompatible Architektur, die dasselbe Verhalten sowohl in 32 als auch in 64 Bit erfordert. long ist auch aus diesem Grund 64 Bit.


Ein wenig mehr Geschichte, wenn Sie sich erinnern: in den Tagen von MSDOS war int 16-bit und gleich short in 16-bit Compilern. Als die Programmierer auf die 32-Bit-Plattform umstiegen, wurde int auf 32 Bit erweitert und wurde mit short gleichgesetzt. Es scheint, dass es keine besonderen Beschwerden gab. Als wir zu 64 Bit übergingen, musste long von int abgetrennt werden. Und das ist logisch.

 

MqlRates rates[];

Ich muss den maximalen Wert von rates[].high aus den letzten drei Balken finden

Ich weiß nicht, wie ichArrayMaximum auf die Struktur anwenden kann?

 
dentraf:

MqlRates rates[];

Ich muss den maximalen Wert von rates[].high aus den letzten drei Balken finden

Ich weiß nicht, wie ichArrayMaximum auf die Struktur anwenden kann?

Soweit ich weiß, funktioniert diese Funktion nur mit numerischen Arrays, schreiben Sie also Ihre eigene Funktion, um die Struktur zu verändern.
 
dentraf:

MqlRates rates[];

Ich muss den maximalen Wert von rates[].high aus den letzten drei Balken finden

Ich weiß nicht, wie ichArrayMaximum auf die Struktur anwenden kann?

double MaxHigh(const MqlRates& rates,int &index)
  {
   double max=0.0;
   index=-1;
//--- check
   if(ArraySize(rates)<3) return(EMPTY_VALUE);
//--- loop
   for(int i=0;i<3;i++)
      if(max<rates[i].high)
        {
         max=rates[i].high;
         index=i;
        }
//--- result
   return(max);
  }
Das geht so. ArrayMaximum gilt nicht für die Struktur.
 
uncleVic:
Etwa so. ArrayMaximum gilt nicht für die Struktur.
Ich danke Ihnen!
 

Was bedeutet das?

CExpertBase::SetOtherSeries: Das Ändern von Zeitreihen ist verboten

 
CExpertBase::SetOtherSeries: Das Ändern von Zeitreihen ist verboten
was könnte das bedeuten?
 

Sagen Sie es mir bitte.

Gegeben:

  • Zwei Prozesse (#1 und #2);
  • parallel laufen;
  • Speicherplatz des UE;
  • Zu einem bestimmten Zeitpunkt (in einem Zyklus) versuchen die Prozesse Folgendes zu tun:

1. 1 Schreiben in die UE und Nr. 2 Lesen;

2 Schreiben Sie #1 und #2 in die UE;

Frage: Welche Situation ist konfliktträchtig? Ich interessiere mich mehr für den Fall Nr. 1. Können wir ihn als normal betrachten oder sollte der Zugang eingeschränkt werden? Ich vermute, dass der 1. Fall nicht gut ist, wie wird der Konflikt aussehen, unklarer Wert, oder erwarten Sie etwas mehr ernst?

 
openlive:
CExpertBase::SetOtherSeries: Ändern von Zeitreihen ist untersagt
Was bedeutet das?
Ein wenig mehr Details... Wie lautet die nächste Zeile (vorzugsweise mehrere) im Protokoll?
 

220Volt:

Frage: Welche Situation ist eine Konfliktsituation? Ich interessiere mich mehr für Fall 1: Kann dies als normal angesehen werden, oder sollte der Zugang eingeschränkt werden? Ich vermute, dass Fall 1 nicht gut ist, wie würde der Konflikt aussehen, ein unklarer Wert, oder sollte ich etwas ernsteres erwarten?

Beide Situationen stehen im Widerspruch zueinander, und der Wert ist unklar.