Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43283
Benutzer: 7.223
Aktive Benutzer: 75
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 5 Tagen
- Sundaytrad...
vor 6 Tagen
- TS_6
vor einer Woche
- Mane
vor 3 Wochen
- AlbertZiz
vor 3 Wochen
- michak

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 467
Gesamt: 467
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 12.06.22
Neues Mitglied
 
Registriert seit: Nov 2013
Ort: Wolfsburg
Beiträge: 2
Casch befindet sich auf einem aufstrebenden Ast
Standard Senkrechte Linie oder Pfeil bei Positionseröffnung zeichnen

Hallo,

ich möchte gerne meinen EA mit dem Abschicken eines OrderSend Befehls eine Senkrechte Linie in den Chart zeichnen lassen. Gerne aber auch einen Pfeil in Richtung der Position (also long oder short) einzeichnen lassen. Gerne aber auch beides.

Irgendwie bekomme ich das nicht hin und wäre für Hilfe dankebar!

Danke und Tschüß
Casch
  #2 (permalink)  
Alt 23.06.22
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 87
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Schematisch könnte es so aussehen:
if(OrderSend(...)>0) ObjectCreate(...);
  #3 (permalink)  
Alt 26.06.22
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Casch Beitrag anzeigen
ich möchte gerne meinen EA mit dem Abschicken eines OrderSend Befehls eine Senkrechte Linie in den Chart zeichnen lassen. Gerne aber auch einen Pfeil in Richtung der Position (also long oder short) einzeichnen lassen. Gerne aber auch beides.
Der MT kann von sich aus schon kleine Pfeile setzen (sieht aus wie WingDings Nummer 240, nur halt kleine Größe von ca. Arial/7). Dazu definierst Du einfach die Farbe, z.B grün für buy und rot für sell und setzt das in die OrderSend() Funktion mit ein, etwa so:
Code:
// ===== Benutzereingabe, damit man es ändern kann
extern color ARROWGREENCOLOR = clrLime;    // green arrow
extern color ARROWREDCOLOR   = clrMagenta; // red arrow
// ===== Prefix für all unsere Objekte festlegen
string PFX = "MyEA_";                      //ForVerticalLine

// ===== Order aufgeben
int op_tkt = 0;    // opening position ticket number
op_tkt=OrderSend(Symbol(),OP_BUY,LotSize,
                 Ask,3,             //OpenPrice,Slippage
                 0,0,               //SL,TP
                 "",0,0,            //Comment,Magic,Expire
                 ARROWGREENCOLOR);  //ArrowColor

// ===== nach erfolgreicher Order
if(op_tkt>0)                                 //OrderSendSuccess
{  
   if(OrderSelect(op_tkt,SELECT_BY_TICKET) ) //SelectTicket
   {
      MarkCreate(OrderTicket(),              //ForUniqueName
                 OrderOpenTime(),            //LineData
                 ARROWGREENCOLOR);           //LineColor
   }
}

// ===== Markierung erzeugen (hier vertikale Linie)
bool MarkCreate(int TckNo, datetime time, color dircol)
{
   string name   = PFX+"#"+IntegerToString(TckNo); //expl:MyEA_#123456
   string vistxt = "";                             //VisibleTextAtLine
   if(dircol==ARROWGREENCOLOR) vistxt="long";
   if(dircol==ARROWREDCOLOR  ) vistxt="short";

   ResetLastError();
   if(ObjectFind(0,name)!=0)
      if(!ObjectCreate(0,name,OBJ_VLINE,0,time,0))
         { Print(__FUNCTION__," failed, Code=",_LastError); return(false); }

   ObjectSetInteger(0,name,OBJPROP_COLOR,dircol);        //LineColor
   ObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_DASHDOT); //SameAsOrderLines
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);             //SameAsOrderLines

   ObjectSetInteger(0,name,OBJPROP_HIDDEN,true);         //KeepObjectListClean
   // ===== hat Vor- und Nachteile
   ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);    //CanUserDeleteLine?
   ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
   // ===== true geht auch über alle Unterfenster
   ObjectSetInteger(0,name,OBJPROP_BACK,false);          //TimeStampVisible?
   // ===== sichtbare Hilfe
   ObjectSetString(0,name,OBJPROP_TEXT,vistxt);          //DescriptionOnLine
   // ===== unsichtbare Hilfe
   ObjectSetString(0,name,OBJPROP_TOOLTIP,vistxt);       //Tooltip
   return(true);
}
Wenn Du die Linien behalten willst, solltest Du SELECTABLE,true machen, damit Du sie wenigstens schnell manuell löschen kannst. Sollen die Linien verschwinden, sobald Du die Order geschlossen hast, machst Du umgekehrt dasselbe wie bei der Aufgabe:
Code:
// === .... OrdersSelect ....
if( OrderClose(OrderTicket(),OrderLots(),                 //CloseSuccess
               OrderClosePrice(),0,clrNONE) )             //NoArrow
{
   ObjectDelete( PFX+"#"+IntegerToString(OrderTicket() ); //DeleteLine
}
else                                                      //CloseError
{
    Print("OrderClose failed, Code=",_LastError);
}
Hoffentlich ist bei dem Copy&Paste nix daneben gegangen.
AVT
Thema geschlossen

Lesezeichen


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 16:17 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------