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

 
alxm:
In der Dokumentation steht, dass Sie sich nicht anstrengen müssen.
Also gut.
 
alxm:
Die Dokumentation besagt, dass es keinen Grund zur Sorge gibt.

Aber der Satz"Bei Objekten, die Strings und dynamische Arrays enthalten, wird ZeroMemory() für jedes Mitglied aufgerufen" ist ein wenig zweideutig. Entweder führt die Funktion ZeroMemory selbst diesen Nullabgleich durch, oder der Programmierer sollte den Aufruf selbst für jedes Mitglied, das ein dynamisches Array enthält, durchführen.

...obwohl. Die Fälle der Nichtanwendbarkeit sind eindeutig festgelegt.

 
Yedelkin:
Aber der Satz"Bei Objekten, die Strings und dynamische Arrays enthalten, wird ZeroMemory() für jedes Mitglied aufgerufen" ist zweideutig. Entweder wird dieser Nullabgleich von der Funktion ZeroMemory selbst durchgeführt oder der Programmierer sollte jedes dynamische Array selbst auf Null setzen.
Undsollte die Formulierung"bei Arrays komplexer Objekte wird ZeroMemory() für jedes Element aufgerufen" auch als Aufruf zum Nullsetzen jedes einzelnen Elements verstanden werden?
 
alxm:
Und der Satz"Bei Arrays komplexer Objekte wird ZeroMemory() für jedes Element aufgerufen" sollte auch als Aufruf zum Nullsetzen jedes einzelnen Elements verstanden werden?
Nun, und als letztes Mittel kann es leicht überprüft werden. :)
 
alxm:
Und der Satz"Für Arrays komplexer Objekte wird ZeroMemory() für jedes Element aufgerufen" sollte auch als Aufruf zum Nullsetzen jedes einzelnen Elements verstanden werden?
Nun, ja, vergleichen Sie die Bedeutung des russischen Verbs "produziert" mit der Bedeutung des russischen Verbs "tritt auf" :) Antwort: Nein, das sollte es nicht.
 
Yedelkin:
Ja, vergleichen Sie die Bedeutung des russischen Verbs "produziert" mit der Bedeutung des russischen Verbs "tritt auf" :) Die Antwort lautet: Nein, das sollte es nicht.
Ich stimme zu. Die Dokumentation sollte so verfasst sein, dass eine doppelte Auslegung nicht in Betracht kommt.
 

Guten Tag! Angenommen, ich schließe einen Teil einer Position, indem ich eine umgekehrte Position eröffne. Welchen Stop-Loss und Gewinn sollte ich setzen? Wahrscheinlich wird es die sein, die ich eingestellt habe, und nicht die, die ich hatte? Nein, das kann nicht sein. Ich eröffne einen umgekehrten Handel, um die Position zu reduzieren, und der Gewinn und der Verlust sind die gleichen wie im vorherigen Handel. Im Allgemeinen habe ich mich selbst verwirrt. Bitte helfen Sie mir, das zu klären.

Außerdem weist die Struktur einen Fehler auf

 MqlTradeRequest request={0};
      MqlTradeResult result={0};

      request.action= TRADE_ACTION_DEAL;
      request.magic =MagicNumber;
      request.symbol=symb;
      request.price=BID
      request.deviation=30* Point(symb);
      request.volume=Lot;
      request.sl=s;
      request.tp=t;
      request.type=type;
      OrderSend(request,result);  

'Abweichung' - irgendein Operator erwartet htghtgfhthf.mq5 103 15 Operator berechnet.... Nun ja, kalkuliert.

Punkt' - falsche Parameteranzahl htghtgfhthf.mq5 103 30

Ich denke, es ist alles richtig? Kurz gesagt, bitte sagen Sie mir, was ich hineinlegen soll, damit es nicht flucht?

 
Dimka-novitsek: Außerdem ist die Struktur verflucht mit

So steht es dort:

Point(symb);

Für diese Funktion werden keine Argumente angegeben.

Siehe auch die Beschreibung des Abweichungsfeldes. Es besteht keine Notwendigkeit, ihm doppelte Werte zuzuweisen.

 

Nun ist die Situation wie folgt. Ich möchte das Lot für die entgegengesetzte Position setzen, dazu finde ich das Lot des Handels heraus, der an dieser kombinierten Position beteiligt war, und setze die entgegengesetzte Position, d.h. ich möchte versuchen zu setzen. Dieses Los erkenne ich mit der Funktion HistoryDealGetDouble( TicetTojSdelki,DEAL_VOLUME).

Wie auch immer, hier ist die Funktion und ihr Aufruf

    if ( HistoryDealGetInteger( TicetTojSdelki,DEAL_TYPE)== DEAL_TYPE_BUY){
     OrderSendSELL( Symbol(),"OP_SELL",  HistoryDealGetDouble( TicetTojSdelki,DEAL_VOLUME), 10,10, 300,  300, " com " , 600, 600,0)
  ;}
  
  
                                                          }
 
   
   }
   
   
   
   
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+     
 ulong OrderSendSELL(string symb, string OP_POZA, double Lot, double BIDd,int slip, double  s,  double  t, string com, int MagicNumber, datetime expiration,color c){
  
         ENUM_ORDER_TYPE   type;
         if(OP_POZA=="OP_SELL"){type=ORDER_TYPE_SELL;}
        double BID =BID( symb);
          if(OP_POZA=="OP_BUY"){type=ORDER_TYPE_BUY;}
            BID =ASK( symb);
          

      MqlTradeRequest request={0};
      MqlTradeResult result={0};

      request.action= TRADE_ACTION_DEAL;
      request.magic =MagicNumber;
      request.symbol=symb;
      request.price=BID
     
      request.volume=Lot;
      request.sl=s;
      request.tp=t;
      request.type=type;
      OrderSend(request,result);    
      
        return (result.   deal );       }
 
 //+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double BID(string symbol) 
  {
   MqlTick last_tick;
   SymbolInfoTick(symbol,last_tick);
   double BID=last_tick.bid;
   return(BID);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double ASK(string symbol) 
  {

   MqlTick last_tick;
   SymbolInfoTick(symbol,last_tick);
   double ASK=last_tick.ask;
   return(ASK);  
  }

Volume' - irgendein Operator erwartet htghtgfhthf.mq5 104 15

Lot' - Ausdruck hat keine Wirkung htghtgfhthf.mq5 104 22

Es ist die Struktur selbst, die gescholten wird. Variabler Dowble... Los ist gleich Los... Ich verstehe das nicht!

 
Ich danke Ihnen!!!
Grund der Beschwerde: