Fragen zu MQL4. - Seite 5

 
SKif:

Eine Informationsverarbeitung auf der Grundlage von BarsPerWindow( ) ist das einzige, was ich mir für einen solchen Zweck vorstellen kann. Aber es ist ein bisschen umständlich.
Dies ist wirklich die einzige Möglichkeit. aber nicht so umständlich - nur 2 Aufrufe: Höchster und Niedrigster. Der erste Balken wird wie folgt berechnet: FirstVisibleBar()-BarsPerWindow()
 
stringo,
danke für die Bestätigung. Das ist in etwa das, was ich vorhatte zu tun.

Dazu eine weitere Frage:
Gibt es eine Möglichkeit, OBJ_LABEL-Koordinaten in Pixel in Preis- und Zeitkoordinaten umzuwandeln? Ich interessiere mich vor allem für den Preis. Können Sie mir bitte eine Idee geben. (Oder habe ich mir die interne Lösung angesehen?
 
Gibt es eine Möglichkeit, die Größe des Fensters in Pixeln zu ermitteln?
 
SKif:
Gibt es eine Möglichkeit, die Fenstergröße in Pixeln zu ermitteln?
Theoretisch ja. Verwenden Sie die Funktion WindowHandle(Symbol(),Period(), nehmen Sie das Handle des aktuellen Fensters und geben Sie dieses Handle an Ihre DLL weiter, die dann die Größe des Fensters herausfinden kann, zum Beispiel mit der Funktion GetClientRect
 
stringo,
OK, vielen Dank.
 
Ist es richtig anzunehmen, dass, wenn der Trend nach links verschoben wird, so dass die Zeit ohne Trend auf der rechten Seite angezeigt wird:
der künftige Zeitwert sich auf den Wert der auf dem Bildschirm sichtbaren Zeit in Form eines bestimmten Prozentsatzes bezieht und dieser Prozentsatz bei einer Größenänderung des Fensters beibehalten wird?
Oder gibt es ein anderes Muster?
 
SKif:
Ist es richtig anzunehmen, dass, wenn der Trend nach links verschoben wird, so dass die Zeit ohne Trend auf der rechten Seite angezeigt wird:
der künftige Zeitwert sich auf den Wert der auf dem Bildschirm sichtbaren Zeit in Form eines bestimmten Prozentsatzes bezieht und dieser Prozentsatz bei einer Größenänderung des Fensters beibehalten wird?
Oder gibt es ein anderes Muster?
etwa so.
Um das Muster zu sehen, wählen Sie den Fadenkreuzcursor aus und bewegen Sie ihn auf dem Diagramm und am rechten Rand des Diagramms. Die berechnete Zeit, die dem Fadenkreuz entspricht, wird am unteren Rand des Diagramms angezeigt.
 
stringo,
Danke, das ist verständlich.
Ich war an dem Muster in Form einer Formel interessiert (genau dann, wenn Sie die Größe des Fensters in der gleichen TF ändern).
Entweder X1=A*X2 oder X1=A*X2+B.
Nun, kommen Sie, ich nehme A*X als erste Annäherung.
 
Alle Objekte im Konfigurationspanel haben eine Spalte "Beschreibung".
Ist diese Option programmatisch verfügbar?
Dateien:
pic_2_.gif  26 kb
 
Dies ist aus der Hilfe:
bool ObjectSet( string name, int index, double value)


Ändert den Wert einer Objekteigenschaft. Die Funktion gibt bei Erfolg TRUE zurück, andernfalls FALSE. Um die Fehlerinformationen zu erhalten, rufen Sie GetLastError() auf.

Parameter

name - Der Name des Objekts.
index - Der Index der Eigenschaft. Kann einer der Eigenschaftsindizes des Objekts sein.
value - Neuer Wert für die Eigenschaft.

Beispiel

// Koordinaten zuerst verschieben, um die Flächenzeit fortzusetzen
ObjectSet("MyTrend", OBJPROP_TIME1, Time[0]);
// Setzen des zweiten Fibo-Levels
ObjectSet("MyFibo", OBJPROP_FIRSTLEVEL+1, 1.234);
// passt die Anzeige des Objekts an. Das Objekt wird nur auf den 15-Minuten- und 1-Stunden-Charts angezeigt.
ObjectSet("MyObject", OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15 | OBJ_PERIOD_H1);
Und hier ist ein Beitrag von Stirlitz:

//+------------------------------------------------------------------+ //| поставим стрелку | //+------------------------------------------------------------------+ void SetArrow(datetime _time,double _price,string _Description ,int _arrowType, color _arrowColor) { ObjectCreate(_Description,OBJ_ARROW,0,_time,_price); ObjectSet(_Description,OBJPROP_ARROWCODE,_arrowType); ObjectSet(_Description,OBJPROP_COLOR,_arrowColor); }

_Beschreibung ist die Beschreibung (soweit ich mich erinnere)