|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Wie programmiere ich eine einfache horizontale Linie im Chart
Ich möchte gerne eine einfache horizentale Linie z. B.
EUR/US Wert gleich 1,2930 im Chart sehen Ich bin Programmieranfänger. Danke für Dien Hilfe!!!! |
|
|||
Mann kann über die Toolbar Linien im Metatrader einzeichen, programmieren brauch man das nicht.
Rechtsklick oben auf die Toolbar und dann auf "anpassen" |
|
|||
Programmatisch geht es wie folgt:
PHP-Code:
Racki |
|
|||
Danke für die Tipps
Mit der 2 Lösung funktioniert das schon.
Es wird eine horizontale kreirt, aber nur eine, wenn ich eine weite ausgeben möchte. funktioniert das nicht. Was mache ich falsch, oder was muss ich beachten. Danke aber für die Tipps. |
|
|||
Du musst die Objekte unterschiedlich benennen.
PHP-Code:
s.l. Racki |
|
|||
Danke hat alles funktioniert
Hat soweit alles funktioniert!!!!!
Vielen Dank nochmal. |
|
|||
Frage zum Programmieren einer Dynamischen Horizontale Linie
Hallo,
ich hatte mal einen alten Artikel gefunden wo es verständlich erklärt ist wie man eine Horizonttale Linie Programmiert. Ich hatte vor mit dieser Horizontalen Linie im Chart zu Arbeiten. Bsp. Als Stoplinie um mir dann per Comment im Chart Pipwerte,Lotgröße etc. anzeigen zu lassen. Wenn ich nun aber die Horizontale Linie einen Wert zuweise lässt sich diese zwar verschieben, aber springt auch wieder zum alten Wert zurück. Und im Commenttext wird auch nichts angezeigt. Habt ihr da eine Lösung parat?? Vielen Dank euch im vorraus!!! |
|
|||
Zitat:
ciao ping |
|
|||
PHP-Code:
Ich bekomme ja die Werte angezeigt... aber ich hatte vor die Horizontale Linie im Chart per Mausklick zu verschieben um mir die Differenz per Comment Links oben im Chart anzeigen zu lassen. PHP-Code:
|
|
|||
@Tycoon,
sorry für die späte Antwort, hatte noch ein längeres Telefonat. Ich habe dir mal schnell eine mögliche Lösung hingekritzelt. Die Werte werden allerdings hier immer positiv dargestellt, sonst bräuchte man noch einen "long/short"-Button. Code:
#property indicator_chart_window #property strict extern int SSL=50; // SL Startabstand [Digits] extern int STP=100; // TP Startabstand [Digits] string Tx="2Linien "; double SL,TP; int init() { if(GlobalVariableCheck(Tx+"TFW")) { SL=GlobalVariableGet(Tx+"SL"); TP=GlobalVariableGet(Tx+"TP"); GlobalVariablesDeleteAll(Tx); } else { ObjectCreate(Tx+"LabelSL",OBJ_LABEL,ChartWindowFind(),0,0); ObjectSet(Tx+"LabelSL",OBJPROP_CORNER,0); ObjectSet(Tx+"LabelSL",OBJPROP_XDISTANCE,2); ObjectSet(Tx+"LabelSL",OBJPROP_YDISTANCE,12); ObjectSet(Tx+"LabelSL",OBJPROP_SELECTABLE,false); ObjectSet(Tx+"LabelSL",OBJPROP_HIDDEN,true); ObjectSetString(0,Tx+"LabelSL",OBJPROP_TOOLTIP,"\n"); ObjectCreate(Tx+"LabelTP",OBJ_LABEL,ChartWindowFind(),0,0); ObjectSet(Tx+"LabelTP",OBJPROP_CORNER,0); ObjectSet(Tx+"LabelTP",OBJPROP_XDISTANCE,2); ObjectSet(Tx+"LabelTP",OBJPROP_YDISTANCE,27); ObjectSet(Tx+"LabelTP",OBJPROP_SELECTABLE,false); ObjectSet(Tx+"LabelTP",OBJPROP_HIDDEN,true); ObjectSetString(0,Tx+"LabelTP",OBJPROP_TOOLTIP,"\n"); ObjectCreate(Tx+"LinieSL",OBJ_HLINE,0,0,Bid-SSL*MathPow(10,Digits*-1)); ObjectSet(Tx+"LinieSL",OBJPROP_STYLE,STYLE_SOLID); ObjectSet(Tx+"LinieSL",OBJPROP_COLOR,Red); ObjectSet(Tx+"LinieSL",OBJPROP_HIDDEN,true); ObjectSetString(0,Tx+"LinieSL",OBJPROP_TOOLTIP,"\n"); ObjectCreate(Tx+"LinieTP",OBJ_HLINE,0,0,Bid+STP*MathPow(10,Digits*-1)); ObjectSet(Tx+"LinieTP",OBJPROP_STYLE,STYLE_SOLID); ObjectSet(Tx+"LinieTP",OBJPROP_COLOR,Blue); ObjectSet(Tx+"LinieTP",OBJPROP_HIDDEN,true); ObjectSetString(0,Tx+"LinieTP",OBJPROP_TOOLTIP,"\n"); rechnen(); } return(0); } void OnChartEvent(const int Id,const long &x,const double &y,const string &S) { if(Id==CHARTEVENT_OBJECT_DRAG) if(S==Tx+"LinieSL"||S==Tx+"LinieTP") rechnen(); } int start() { rechnen(); return(0); } void OnDeinit(const int R) { if(R!=REASON_CHARTCHANGE) ObjectsDeleteAll(0,Tx); else { GlobalVariableSet(Tx+"TFW",1); GlobalVariableSet(Tx+"SL",SL); GlobalVariableSet(Tx+"TP",TP); } } void rechnen() { SL=ObjectGet(Tx+"LinieSL",OBJPROP_PRICE1); if(Bid>SL) SL=Bid-SL; else SL-=Bid; ObjectSetString(0,Tx+"LabelSL",OBJPROP_TEXT,"SL-Abstand: "+DoubleToStr(SL,Digits)); TP=ObjectGet(Tx+"LinieTP",OBJPROP_PRICE1); if(Bid>TP) TP=Bid-TP; else TP-=Bid; ObjectSetString(0,Tx+"LabelTP",OBJPROP_TEXT,"TP-Abstand: "+DoubleToStr(TP,Digits)); } PS.: wie geht das hier, dass man den Dateinamen des Anhangs sieht und nicht die komische Nummer (2731)? |
Lesezeichen |
Stichworte |
horizontale linie, horizontale linie chart, linie, mql4, programmierung, programmierung chart, programmierung metatrader |
|
|