|
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 |
|
|||
In der Tat, dank der neuen Möglichkeiten des MT4+, wäre es darüber möglich.
Ich bin noch zu sehr von der alten MT4-Variante ausgegangen und geprägt. traderdoc |
|
|||
Zitat:
Code:
string name="BLA_BLA"; ObjectCreate(0,name,OBJ_LABEL,0,0,0); ObjectSetInteger(0,name,OBJPROP_XDISTANCE,10); ObjectSetInteger(0,name,OBJPROP_YDISTANCE,30); ObjectSetString(0,name,OBJPROP_TEXT,"BLA_BLA"+ ":SWAPLONG:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPLONG),5)+ ":SWAPSHORT:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPSHORT),5)); ObjectSetString(0,name,OBJPROP_FONT,"Arial"); ObjectSetInteger(0,name,OBJPROP_FONTSIZE,28); ObjectSetInteger(0,name,OBJPROP_COLOR,clrLime); |
|
|||
Super, danke für die Info Pako!
Lt Hilfe kann man mit ObjectCreate und ObjectDelete auf Objekte in anderen Chartfenstern zugreifen. Statt ObjectGet kann man ObjectGetDouble verwenden und statt ObjectSet ObjectSetDouble. Bei all diesen Befehlen kann man die ChartID spezifizieren. Hab ein bissl herum probiert, dürfte knifflig sein, die Logik dahinter leuchtet mir noch nicht ganz ein, aber das ist nur eine Frage der Zeit. |
|
|||
So ... Tests zu ChartID() beendet ... geht leider doch nicht!
Mit dem Scriptchen PHP-Code:
Das Ergebnis ist, dass die ChartID (und ChartFirst und ChartNext usw) immer nur innerhalb eines Profiles weitergeschaltet werden können. D.h. die ChartIDs in einem Profil sind immer gleich und zwar so 1.Chart :130434380257626821 2.Chart: 130363500780287174 3.Chart: 130434380257626822 4.Chart: 130434380257626823 Was ich wollte, ist auf Charts anderer Profile (mit demselben Account) zugreifen. Zur Verständlichung Profile richtet man unter Files/Profiles ein. |
|
|||
Zitat:
Code:
string name="TextSwap"; ObjectCreate(0,name,OBJ_LABEL,0,0,0); ObjectSetInteger(0,name,OBJPROP_XDISTANCE,10); ObjectSetInteger(0,name,OBJPROP_YDISTANCE,30); ObjectSetString(0,name,OBJPROP_TEXT,"TextSwap"+ ":SWAPLONG:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPLONG),5)+ ":SWAPSHORT:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPSHORT),5)); ObjectSetString(0,name,OBJPROP_FONT,"Arial"); ObjectSetInteger(0,name,OBJPROP_FONTSIZE,28); ObjectSetInteger(0,name,OBJPROP_COLOR,clrLime); reinschreiben Code:
+ ":SWAPLONG:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPLONG),5)+ ":SWAPSHORT:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPSHORT),5)[/SIZE] |
|
|||
Zitat:
PHP-Code:
|
|
|||
Aber nach dem bereits Geschriebenen müßte doch jedes!! Chart des Accounts, egal in welchem Profile es sich befindet, eine separate ID haben.
traderdoc |
|
|||
@traderdoc
Eben nicht ... das is ja das blöde. Ich habe im Profil DAX30 zwei Charts. Der erste in diesem Profil angelegte Chart hat ChartID 130434380257626821 Der zweite in diesem Profil angelegte Chart hat ChartID 130363500780287174 In einem weiteren Profil GBPUSD hab ich ebenfalls zwei Charts und wiederum Der erste in diesem Profil angelegte Chart hat ChartID 130434380257626821 Der zweite in diesem Profil angelegte Chart hat ChartID 130363500780287174 usw Alle Object() Befehle die ich fand, haben nur ChartID, aber nicht "ProfilID" als Parameter ... @Pako Kann dir nicht ganz folgen. Aber hab als letzten Test noch folgendes ausprobiert: 2 Profile: Adidas und EURUSD In beiden Profilen ist ein Chart und da drauf je ein TextLabel namens "lbl_swaptest" angelegt mit Textinhalt "balablabblabla". Dann hab ich folgendes Script: PHP-Code:
|
|
|||
Zitat:
mehr brauchen Sie nicht. Code:
//ohne Änderung string name="TextSwap"; ObjectCreate(0,name,OBJ_LABEL,0,0,0); ObjectSetInteger(0,name,OBJPROP_XDISTANCE,10); ObjectSetInteger(0,name,OBJPROP_YDISTANCE,30); ObjectSetString(0,name,OBJPROP_TEXT,"TextSwap"+ ":SWAPLONG:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPLONG),5)+ ":SWAPSHORT:"+DoubleToString(MarketInfo(Symbol(),MODE_SWAPSHORT),5)); ObjectSetString(0,name,OBJPROP_FONT,"Arial"); ObjectSetInteger(0,name,OBJPROP_FONTSIZE,28); ObjectSetInteger(0,name,OBJPROP_COLOR,clrLime); Geändert von pako (16.06.14 um 21:15 Uhr) |
|
|||
Ich verstehe schon die Situation.
@Pako, wenn die IDs in beiden Profilen bzgl. der Charts identisch sind, wie soll er denn dann den sich unterschiedlich ändernden Inhalt der Textlabels auslesen? Man könnte nun noch das Symbol() und Period() des Charts zur Unterscheidung mit heranziehen!? Aber der Fall, dass sich in beiden Profilen dasselbe Handelsinstrument im selben TimeFrame befindet, würde dann nicht mehr lösbar sein. traderdoc |
Lesezeichen |
Stichworte |
chart, mql4, programmierung, programmierung metatrader, textbox chart, textboxen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|