Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 861

 
Artyom Trishkin:

Zeigen Sie die zu einer Position gehörenden Geschäfte an und sehen Sie deren Volumen.

Lösen Sie einfach alle gefundenen Positionsgeschäfte (Eigenschaften jedes einzelnen) - finden Sie heraus, wonach Sie dort suchen müssen.

Ich danke Ihnen.

 

Ich brauche Hilfe bei der Erstellung einer Datei, insbesondere bei der Angabe des richtigen Speicherorts.

Ich verwende die portable Version von MT5 und benötige die Datei im Ordner MT5\MQL5\Files, aber sie wird in MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files während der Initialisierung im Strategy Tester erstellt.

   filename = (Dir=="" ? filename : Dir+"\\"+filename)+".csv";
   handle= Common ? FileOpen(filename,FILE_CSV|FILE_COMMON|FILE_READ|FILE_WRITE|FILE_SHARE_READ) :
                        FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE|FILE_SHARE_READ);
 
Aleksey Vyazmikin:

Ich brauche Hilfe bei der Erstellung einer Datei, insbesondere bei der Angabe des richtigen Speicherorts.

Ich verwende die portable Version von MT5 und benötige die Datei, die während der Initialisierung im Strategy Tester im Ordner MT5\MQL5\Files erstellt wird, aber sie wird in MT5\Tester/Agent-127.0.0.1-3000\MQL5\Files erstellt.

Es gibt keine Lösung in reiner MMS. Sie müssen WinAPI verwenden. Oder von Hand)))

Die Art und Weise, wie die Dateien verteilt werden, wurde speziell für die Sicherheit entwickelt.

 
Ihor Herasko:

Es gibt keine Lösung in reiner MMS. Nur durch Verwendung von WinAPI. Oder von Hand)))

Diese Verteilung der Dateien erfolgte aus Sicherheitsgründen.

Der Optimierer speichert Daten nicht im Ordner der Agenten, sondern im OrdnerMT5\MQL5\Files - das ist nicht logisch.

 
if(crossed==1)
     {
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {

Wie kann ich in diesem Code eine andere magische Zahl für die zu erteilende Bestellung festlegen? Anders als dieses generische -

int OnInit()
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
 
ilyav:

Wie kann ich in diesem Code eine andere magische Zahl für die zu erteilende Bestellung festlegen? Anders als dieses generische -

Bevor Sie einen Eröffnungsauftrag an einen anderen Magier senden, führen Sie diese Zeile mit dem gewünschten Magier aus. Bringen Sie dann den Zauberer wieder an seinen Platz zurück.
 
Bitte beraten Sie, wie man eine Funktion für die Einstellung der erforderlichen Anzahl von Aufträgen zu machen! zum Beispiel, um eine bestimmte Anzahl von Aufträgen ohne mehr zu öffnen. in mql4
 
Dies ist der letzte Parameter der OrderSend-Funktion in MQL-4:

arrow_color=clrNONE[in] Die Farbe des Eröffnungspfeils im Diagramm. Wenn CLR_NONE - gibt es keinen Pfeil. Im MT5 wird der Pfeil immer angezeigt - es gibt keinen entsprechenden Parameter in der MqlTradeRequest-Struktur. Wie gehen Sie damit um? Es ist einfach, dies auf Ihrer Karte zu tun. Wenn jedoch ein anderer Chart für das Symbol geöffnet wird, müssen Sie es erneut versuchen...


 
Лауреат:
Bitte beraten Sie, wie man eine Funktion, die die richtige Anzahl von Aufträgen setzt zu machen! zum Beispiel, ich will es zu öffnen, die Aufträge, die wir angegeben haben, aber nicht mehr als das. in mql4
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Die erforderliche Anzahl von Aufträgen ist geöffnet");
 
Artyom Trishkin:
Bevor Sie einen Auftrag zur Eröffnung mit einem anderen Magier senden, führen Sie diese Zeile mit dem gewünschten Magier aus. Bringen Sie dann den Zauberer wieder an seinen Platz zurück.


if(crossed==1)
     {
      m_trade.SetExpertMagicNumber(m_magic2); // меняем мэджик на новый
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      m_trade.SetExpertMagicNumber(m_magic);  // меняем мэджик на оригинал
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {
Ist das richtig? Dankeschön
Grund der Beschwerde: