Frage zum Tippen - Seite 8

 
Ilya Malev:

Ist es nicht dasselbe wiePrint(ColorToString(Color&(uint(-1)&65535)|(230<<16)); ?

Nach dem Ergebnis ja, nach der Aktion nein.

Ich fürchte, ich werde mir das Hirn zermartern, um Ihre Codes zu studieren.

Das heißt, ich meine, dass alles an Ihren Methoden herrlich ist (kein Scherz), außer der Fülle von Großbuchstaben mit Unterstrichen und Kontextauflösungsoperationen:)

Ich denke, dass, wenn sie (die Operation einer Kontextauflösung) überlastet wird, Sie und Ihre Bibliotheken ins Astraleum gehen werden :lol:

Es ist schwer, keine Bibliothek zu schreiben, sondern eine brauchbare zu entwickeln.

 
fxsaber:

Im Ergebnis ja, in der Wirkung nein. // nun, ja, durch AktionPrint(ColorToString(Color=(Color&(uint(-1)&65535)|(230<<16)))); :)

Es ist schwer, keine Bibliothek zu schreiben, sondern eine brauchbare zu entwickeln. // Beides ist schwierig, wenn man nicht so viel Erfahrung mit den Eigenheiten von Terminals hat wie Sie :)

 
Ilya Malev:

Nein, das ist überhaupt nicht der verwendete Algorithmus. Die Bibliothek kümmert sich nicht um den Typ der Variablen.

 
fxsaber:

Nein, das ist überhaupt nicht der verwendete Algorithmus. Die Bibliothek kümmert sich nicht um den Typ der Variablen.

Es geht nicht um den Typ der Variablen, sondern um ihren Namen=, d.h. die Zuweisung. Die Aktion und das Ergebnis sind identisch - die Variable wird geändert.

Ich bin allerdings nicht weit in die Bibliothek vorgedrungen, also verzeihen Sie mir bitte, wenn etwas falsch ist.
 
Ilya Malev:

Es geht nicht um den Typ der Variablen, sondern um ihren Namen=, d.h. um die Zuweisung. Die Aktion und das Ergebnis sind identisch - die Variable wird geändert.

Allerdings bin ich nicht weit in die Bibliothek vorgedrungen, also verzeihen Sie mir bitte, wenn etwas nicht stimmt.

Sie können z.B. MqlTick-variable durch eine Integer-Variable ersetzen.

 
fxsaber:

Sie können z.B. eine MqlTick-Variable durch eine Integer-Variable ersetzen.

Ich verstehe, dass alles universell ist. Wir haben das Problem des Kopierens von Strukturen im nächsten Thread gemeinsam gelöst :) Im Moment habe ich dieses Problem nicht. Und ich beschäftige mich auch mit der Konstruktion von Daten verschiedener Typen aus Bytes und der Änderung von Bitfeldern, obwohl die Anzahl der optionalen, ohne besonderen praktischen Nutzen :)

 
Ilya Malev:

Ich verstehe, dass Sie alles gemeinsam haben. Wir haben das Problem des gemeinsamen Kopierens von Strukturen kürzlich in einem benachbarten Thread gelöst :) Ich habe dieses Problem im Moment nicht. Und ich habe viel mit dem Bau von Daten verschiedener Typen von Bytes und Änderung von Bit-Feldern, obwohl die Zahl der optionalen, ohne besondere praktische Anwendung :)

Es ist also möglich, A(Object)[Index] = 5 zu erstellen.

 
fxsaber:

Ich wollte nur sagen, dass es möglich ist, A(Object)[Index] = 5 zu erstellen.

Natürlich kann man mit allem als einem Typ arbeiten - Mengen von Bytes oder Bits oder Ints usw., aber das ist eine andere Ebene, es geht nicht darum, einfachen, intuitiven, leicht zu verstehenden und veränderbaren Code zu machen.

 

Ich mag es auch, wenn es keinen Unterschied zwischen int, double und datetime gibt. Hier, vielleicht wird jemand die Idee mögen (in Bezug auf die Zuweisung Geschwindigkeit nicht wirklich anders als die ursprünglichen Typen):

#property strict

class price{ public:
  int    operator| (double p){return(int)(p*100000);}
  double operator| (int p){return(double)p/100000.0;}};

class time{ public:
  int operator| (datetime p){return(int)uint(p);}
  datetime operator| (int p){return(datetime)uint(p);}};

price f;
time t;

void OnStart()
 {
  int  bid = f|Bid, ask = f|Ask, time1 = t|TimeCurrent(), time2 = t|TimeLocal();
  
  Print("Bid = ", f|bid, " Ask = ", f|ask, " Current time = ", t|time1, " Local time = ", t|time2);
 }  


Funktioniert garantiert für Forex (Preise nicht größer als 21474 Integer) und Termine bis 2107.
 
Ilya Malev:

Ich mag es auch, wenn es keinen Unterschied zwischen int, double und datetime gibt.

Das heißt, wenn Sie zufällig Fliegen mit Koteletts verwechseln, um es so schwierig wie möglich zu machen, das Problem zu erkennen?