|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Machbar im MT4???
Hallo zusammen,
da man im MT4 ja keine Charts extern in Fenstern generieren kann (außer ich bin falsch informiert),würde ich gerne eine Lösung dafür finden. Als Beispiel , ich möchte eine Analyse machen nach Markttechnik einmal für Long und einmal für Short. Damit ich nicht mehrere Charts her nehmen muss, möchte ich quasi ein Abbild meiner beiden Analyse speichern und über einen Button die Analysen "durchschalten". Dazu müsste ich ja quasi ein Chartbild "Speichern" hat jem ne Idee wie man das am besten angehen könnte???? Ich weiß man kann auch 2 separate charts nehmen, aber bei mehreren Alternativen wirds eben zu viel, deswegen der Gedanke. Möchte jetzt keinen code oder ähnliches, nur paar Ideen wären klasse. LG Trader |
|
|||
per Script über die MQL4-Funktion
bool WindowScreenShot( string filename, // file name int size_x, // width int size_y, // height int start_bar=-1, // first visible bar int chart_scale=-1, // scale int chart_mode=-1 // mode ); traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Falls ich dich richtig verstanden habe, sehe ich 2 Möglichkeiten:
1. Ctrl+Print (Strg+Druck) kopiert das aktuelle Fenster in die Zwischenablage, dann im Paint mit Ctrl+V aus der Zwischenablage holen. 2. Mit dem 'Snipping Tool' vom Bildschirm kopieren. Grüße Otto |
|
|||
danke für eure Antworten, ich hab mich vllt nicht ganz klar ausgedrückt,
es geht nicht um eine Speicherfunktion wo der Chart einfach Kopiert und als Bild wiedergegeben wird. Als beispiel ich mach ne analyse händisch, beschrifte Zonen, mach mir markierungen /fibos /channels das volle Programm. Damit ich keine 4 Charts mit dem gleichen Pair habe , möchte ich in einem chart die Objekte/Labels/Fibo´s, an den von mir hinterlegten Positionen zwischenspeichern als "Alternative Long", dann mach ich das ganze für short und möchte wieder alle Objekte etc. speichern. Durch einen Buttondruck möchte ich dann durch die verschiedenen Alternativen durchschalten und die Objekte sollen sich genauso wieder an Ihrer "abgespeicherten" Position befinden. Ich hoffe das diese Erklärung verständlicher war Meine Idee hierzu wäre über ObjectsTotal mir alle Objekte zu holen und sie in Arrays zu speichern die Frage is nur wie ich das vernünftig anstelle Code:
if(sparam == "Alt1") { int O_Total= (ObjectsTotal());Print("Anzahl der Objeke: "+O_Total); for(int i=0;i<O_Total;i++) { string name = ObjectName(i); int ObjektTyp= ObjectType(i); Print("Name: "+name+ " Typ: "+ObjektTyp); if(ObjektTyp == OBJ_LABEL) { Print ("Objekt ist ein Label"); } } } Anzahl bekomm ich wie erwaret zurück nur bei den ObjectType steh ich grad aufn schlauch wegen den ID´s habs mit nummern versucht oder mit den Enums direkt aber überall bekomm ich nur -1 zurück . Sieht man im Anhang. Denk, wenn ich die Werte der Objekte also sprich Name und Typ ermitteln kann, ist es auch möglich, auf die Positionen/Werte der Objekte zuzugreifen. So müsste das ja klappen. Nur häng ich grad bei den ID´s der Objekte fest |
|
|||
hab den fehler grad selber im code gesehen -.-
Code:
int O_Total= (ObjectsTotal());Print("Anzahl der Objeke: "+O_Total); for(int i=0;i<O_Total;i++) { string name = ObjectName(i); int ObjektTyp= ObjectType(name); if(ObjektTyp != OBJ_LABEL) { Print("Name: "+name+ " Typ: "+ObjektTyp); Print ("Objekt ist Kein Label"); } } Geändert von Trader6666 (13.12.16 um 22:19 Uhr) |
|
|||
Wenn du jetzt die Datei \Include\ChartObjects\ChartObjectsTxtControls.mqh einbindest ist alles paletti.
Code:
#include "ChartObjects\ChartObjectsTxtControls.mqh" Code:
class CChartObjectLabel : public CChartObjectText { public: CChartObjectLabel(void); ~CChartObjectLabel(void); //--- methods of access to properties of the object int X_Distance(void) const; bool X_Distance(const int X) const; int Y_Distance(void) const; bool Y_Distance(const int Y) const; int X_Size(void) const; int Y_Size(void) const; ENUM_BASE_CORNER Corner(void) const; bool Corner(const ENUM_BASE_CORNER corner) const; //--- change of time/price coordinates is blocked bool Time(const datetime time) const { return(false); } bool Price(const double price) const { return(false); } //--- method of creating the object bool Create(long chart_id,const string name,const int window,const int X,const int Y); //--- method of identifying the object virtual int Type(void) const { return(OBJ_LABEL); } //--- methods for working with files virtual bool Save(const int file_handle); virtual bool Load(const int file_handle); }; Aber dort wird es ja auch eine Standardlibrary geben. |
Lesezeichen |
Stichworte |
chart, exter, extern chart, externe charts, mql4, programmierung, programmierung metatrader, programmierung mql4 |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|