Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5

Programmierung MQL5 Hier gehts rund ums Programmieren in MQL5.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4679
Beiträge: 41973
Benutzer: 7.041
Aktive Benutzer: 164
Links: 82
Wir begrüßen unseren neuesten Benutzer: Coconutboy69
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 21:38).
Neue Benutzer:
vor 22 Stunden
- Coconutboy...
vor einem Tag
- Benke
vor einer Woche
- nienio
vor einer Woche
- keohosti
vor einer Woche
- rombur

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 207
Max2018 befindet sich auf einem aufstrebenden Ast
Standard Teilschließung einer Position

Hi,
ich habe ein Problem mit der Teilschließung einer Position. In MQL4 sah das so aus:
Code:
if(Bid>=KursTakeProfitEINS)
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MagicNo || OrderSymbol()!=Symbol()) continue; 
      if(OrderType()==OP_BUY&&OrderLots()==Lots)
      {
     
      bool oc=OrderClose(OrderTicket(),TeilVerkaufEuro,OrderClosePrice(),5,clrAliceBlue);
      return;
      } 
      }
Aber wie mache ich das in MQL5 ... da habe ich das so, nur da schließt er dann die gesamte Position:

Code:
if(SymbolInfoDouble(NULL,SYMBOL_BID)>=KursTakeProfitEINS_m)
   for(int i=0;i<PositionsTotal();i++)
     {
      if(PositionGetTicket(i) ==0)break;
      if(PositionGetInteger(POSITION_MAGIC)!=MagicNo || PositionGetString(POSITION_SYMBOL)!=Symbol()) continue;
       
      if((int)PositionGetInteger(POSITION_TYPE)== 0 && PositionGetDouble(POSITION_VOLUME)==Lots_m)
      {
     
      trade.PositionClose(PositionGetInteger(POSITION_TICKET),-1);
      return;
      } 
      }
Mit Zitat antworten
  #2 (permalink)  
Alt vor 4 Tagen
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 207
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

Hat keiner eine Idee Was ist daran falsch
Code:
   bool positions_modified=false;
   if(SymbolInfoDouble(NULL,SYMBOL_BID)>=KursTakeProfitEINS_m)
      for(int i=0; i<PositionsTotal(); i++)
        {
         ulong position_ticket =  PositionGetTicket(i);
         if(PositionGetTicket(i) ==0)
            break;
         if(PositionGetInteger(POSITION_MAGIC)!=MagicNo || PositionGetString(POSITION_SYMBOL)!=Symbol())
            continue;
         //--- check order type
         if((int)PositionGetInteger(POSITION_TYPE)== 0 && PositionGetDouble(POSITION_VOLUME)==Lots_m)
           {            trade.PositionClosePartial(PositionGetInteger(POSITION_TICKET),TeilVerkaufEuro,-1);
           }
        }
Mit Zitat antworten
  #3 (permalink)  
Alt vor 4 Tagen
Benutzerbild von Indikator-Trading
Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 208
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht eine deiner folgenden Variablen:
- KursTakeProfitEINS_m
- TeilVerkaufEuro
- Lots_m
- MagicNo

Viele mögliche Gründe dafür das es nicht laufen könnte.
Außerdem wirst du mit diesem Code nur BuyOrders teilschließen können
Mit Zitat antworten
  #4 (permalink)  
Alt vor 4 Tagen
Benutzerbild von Indikator-Trading
Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 208
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Ich sehe gerade, dass du

Code:
    if(PositionGetTicket(i) ==0)
      break;
nutzt. hier musst du 'continue;' nutzen, da du sonst die anderen offenen Orders nicht durchgehen kannst
Mit Zitat antworten
  #5 (permalink)  
Alt vor 4 Tagen
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 207
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

SUPER Danke
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
teilschließung

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +1. Es ist jetzt 03:15 Uhr.





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