Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Order schließen wenn der Kurs eine HLine überschritten wird??? (http://www.expert-advisor.com/forum/showthread.php?t=5577)

Richi777 30.03.17 01:25

Order schließen wenn der Kurs eine HLine überschritten wird???
 
Hallo wieder einmal :D ,

wollte mal fragen, ob es möglich ist, wenn ich eine Hline in den Chart bei einer geöffneten Order einzeichne und diese vom Kurs überschritten wird, dass darauf hin die Order geschlossen wird, egal ob Profit oder Loss???
Ich habe schon versucht so einige verschiedene Codes in einen EA einzubauen aber irgendwie habe ich einen Denkfehler oder es liegt an etwas anderen.
Dass beim überschreiten einer Hline eine Order geöffnet wird, ist überhaupt kein Problem aber beim Schließen geht das nicht. :confused:
Ist es überhaupt möglich und wenn ja, welchen Code würde funktionieren?

Für Hilfe wäre ich sehr dankbar :)

Leopold 30.03.17 10:18

Wenn du es beim eröffnen geschafft hast, sollte es doch auch zum schließen möglich sein.

Du müsstest den Code mal Posten, damit man das auch nachvollziehen kann wie du das machst.

--- Leopold ---

RetepM 30.03.17 11:15

Siehe Mt4 Doku:
https://docs.mql4.com/objects/objectgetvaluebyshift
oder
https://docs.mql4.com/objects/objectgetshiftbyvalue

Richi777 30.03.17 12:09

Code:

if(Bid == BuyLine)
    {
      Order=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slipage,0,0,"",0,0,Lime);
    }

int CL;
   
if(OrderType()==OP_BUY)
  {
  if(Bid< CloseLine) CL=True;
     
  if(CL==True)
    {
      bool CloseOrder= OrderClose(OrderTicket(),Lots,CloseLine,3);
    }
  }

Beim Order öffnen funktioniert das wie ich will aber andersrum geht das nicht

Leopold 30.03.17 12:37

Auf den ersten Blick fehlt mal "OrderSelect".
Du musst ja festlegen welche Order geschlossen werden soll.

--- Leopold ---

Richi777 30.03.17 13:09

Code:

int i,cnt,CL;
cnt = OrdersTotal();   
for (i=0;i<cnt;i++)
    {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {
          if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
          {
            if (OrderType() == OP_BUY)
            {
              if(Bid < CloseLine) CL=True;
              if (CL==True)
              {
              bool CO= OrderClose(OrderTicket(),Lots,CloseLine,3);
              }
            }
          }
      }     
  }

:( ....hmmmm.....irgend etwas habe ich wohl immernoch übersehen. :confused:
Die CloseLine ist der unter "double CloseLine;" gespeicherte Preis.
Beim Order öffnen geht das komischer Weise.

Leopold 30.03.17 13:14

Verwende bei der LotSize "OrderLots()" und beim ClosePrice "Bid".
Und CL würde ich als "bool" deklarieren.

traderdoc 30.03.17 14:56

Dazu kommt, dass bei

if(Bid == BuyLine)

ein Öffnen der Order in den seltensten Fällen real!! vorgenommen werden würde.
Viel besser wäre:

if(Bid >= BuyLine)

traderdoc

Deepack 30.03.17 18:03

Wobei man noch anmerken sollte
wenn der Kurs die Linie überschritten hat
bei jedem Tick wieder > BuyLine ist und erneut setzten würde

Richi777 31.03.17 12:52

Code:

int i,cnt;
bool CL;
cnt = OrdersTotal();   
for (i=0;i<cnt;i++)
    {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
      {
          if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
          {
            if (OrderType() == OP_BUY)
            {
              if(Bid >= CloseLine) CL=True;
              if (CL==True)
              {
              bool CO= OrderClose(OrderTicket(),OrderLots(),Bid,3);
              }
            }
          }
      }     
  }

Okay... Danke vielmals für die Infos aber ich dreh noch durch :( ...
Bin ich zu blöd dafür oder warum geht das immer noch nicht???
Irgendwo muss doch noch ein Fehler sein?
Auf meinen Chart sehe ich die CloseLine aber wenn der Kurs sie durchquert passiert nichts....Hilfe!!! Das muss doch irgendwie funktionieren...


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:30 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum