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: 4973
Beiträge: 43248
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 29.03.21
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
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;
      } 
      }
  #2 (permalink)  
Alt 16.04.21
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
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);
           }
        }
  #3 (permalink)  
Alt 16.04.21
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
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
  #4 (permalink)  
Alt 16.04.21
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
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
  #5 (permalink)  
Alt 16.04.21
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 238
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

SUPER Danke
Thema geschlossen

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 16:27 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.
-----------------------------------------------------------------------------------------------------------------------------