MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 108

 

Bin ich der Einzige?

Die Historie nach Symbolen wird mit F2 geladen. Ich führe Tests an allen Zecken durch. Nur eine Woche. Vom 2013/12/02 bis 2013/12/10.

Das Prüfgerät beginnt, M1 zu laden, und das war's... Mach das Licht aus, wirf eine Granate. 8 Minuten Laden der Geschichte, dann weitere fünf Minuten, in denen das ganze System schwebt. Dann drückte ich drei Minuten lang auf "Abbrechen", als Mozilla mitteilte, dass das Skript nicht reagiere ... Der Test begann erst etwa 15 Minuten nach dem Drücken der Starttaste im Testgerät. Und das ist jedes Mal so, wenn ich alle Zecken anschalte. Das hat es noch nie gegeben.

 
MetaDriver:

Ich versuche, Ordnern überhaupt keine russischen Namen zu geben. Um solche Probleme zu vermeiden.

// Und kein Patriotismus bei Nacht. :)


Nur tagsüber? :)
 
tara:

Nur tagsüber? :)
Manchmal auch bei Sonnenuntergang
 
artmedia70:
Manchmal auch bei Sonnenuntergang


Liebe das Mutterland, deine Mutter!
 

Die Funktion setzt ein Textobjekt in das angegebene Diagrammfenster:

//+----------------------------------------------------------------------------+
void SetArrowText(int ww, string text, color cl, string font="Arial", string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TEXT, ww, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSetText(nm, text,sz, font, cl);
}
//+----------------------------------------------------------------------------+

Ich nenne es so:

         if(DrawGraphics) {                           // если рисуем графические объекты
            nm=Prefix+"_RPBar_"+TimeToStr(Time[i]);
            SetTLine(RedPointLineColor,0,nm,Time[i],Low[i],Time[i],WindowPriceMin(0),false,redPointLineStile,redPointLineWidth);
            wnd=WindowFind("i_StdDev("+sdperiod+")"); // номер окна индикатора
            if(wnd>0) {                               // если индикатор на графике, нарисуем метку
               nm=Prefix+"_RedPoint"+TimeToStr(Time[i]);
               SetArrowText(wnd, "RP", RedPointArrowColor, RedPointFont, nm, Time[i], dev(i), redPointArrowSize);
               }
            }

D.h., zuerst zeichnen wir die Trendlinie auf dem Preisdiagramm, dann, wenn es ein Indikatorfenster gibt, zeichnen wir ein Textobjekt darin. Die Trendlinie im Preisdiagramm wird korrekt angezeigt und befindet sich dort, wo sie sein sollte - zum Zeitpunkt des Ereignisses. Aber der Text im Indikatorfenster - oh mein Gott ... er bewegt sich hinter die Nullleiste. Und hier beginnt der interessanteste Teil. Sowohl der Text als auch die Textbeschriftung verhalten sich genau gleich - sie bleiben dort, wo sie platziert wurden. Sobald Sie das Textobjekt ausgewählt haben, und siehe da, es bleibt, wo es ist. Zur Veranschaulichung. Alle Textobjekte haben sich in der Nähe des Nullbalkens angehäuft (ich habe das Diagramm hin und her bewegt, und die Objekte bleiben dort, wo sie standen, weil sie nicht auf dem Nullbalken sind):


Aber jetzt klicke ich sie einfach mit der Maus an, und sie nehmen alle ihren Platz ein:


ZS. Das entfernt aus den Namen der Objekte den Pfad zu ihnen aus dem Datenverzeichnis - danke.

 
 
artmedia70:



Arbeiten für vra?))
 
Patrol:

Ja, das habe ich bereits verstanden. Ich wollte sicherstellen, dass ich die neue Struktur richtig verstanden habe, also habe ich in der neuen 555er Version auf MQL4\Samples\DLLSample\DLLSample.cpp verwiesen, aber es ist immer noch da:

Meines Erachtens sollte es so sein, wie ich es verstehe:

Bitte klären Sie das.

Ja, Sie haben richtig verstanden.

PS. Übrigens, Sie können das Problem mit wenig Aufwand lösen.

Bilden Sie ein Array von Strukturen im alten Format und übertragen Sie dieses Array an eine DLL, genau wie zuvor. Die auch nicht umgeschrieben werden müssen.

 
Zhunko:
Die Ersetzung der Barstruktur ist nicht nur ein Überfall, sondern ein Überfall!
Dieses Problem ist sehr einfach zu lösen. Sie bilden ein Array von Strukturen im alten Format und übergeben es wie bisher an die DLL
 
stringo:
Dieses Problem ist sehr einfach zu lösen. Sie bilden ein Array von Strukturen im alten Format und übergeben es wie bisher an die DLL

Das habe ich nur im Scherz gesagt. Die Arbeit der alten Funktion ändert sich nicht.

Vor etwa 4 Jahren habe ich begonnen, eine Reihe von Klassen für alle Anlässe mit Zitaten Geschichte zu schreiben. Ich mache das schon seit 3 Jahren, zusammen mit Tests. Zuerst wollte ich eine Vorlage für eine Balkenstruktur mit drei Parametern erstellen, aber dann habe ich gesehen, dass niemand eine solche Variante verwendet. Ich habe beschlossen, sie mit zwei Parametern zu erstellen. Jetzt muss ich allerdings noch ein paar weitere hinzufügen.

Grund der Beschwerde: