Erreurs, bugs, questions - page 2379

 

Le moteur de recherche du site est en panne ...

Le forum ne recherche rien ...

 
Bon après-midi. La section CodeBase du site web ne fonctionne pas.
 

Bonjour à tous.

Découverte d'un bug critique dans le testeur MT5 (dernière version bêta 1981). Lors de l'exécution du débogage sur des données historiques à partir de l'éditeur, le testeur se bloque de manière stable. Windows 7 x64. Courtier - Découverte. Mon compte est réel. J'ai vérifié avec différents indicateurs, y compris ceux qui sont inclus dans la livraison (l'indicateur standard TEMA sur la vidéo). J'ai essayé d'utiliser MT5 et le PC plus d'une fois, j'ai redémarré. Le problème est stable et apparaît tout le temps. Je ne peux pas le tester et le déboguer :( Je l'ai filmé pour l'illustrer. Je demande aux développeurs d'être très attentifs.


 
Kuzmich:

Bonjour à tous.

Découverte d'un bug critique dans le testeur MT5 (dernière version bêta 1981). Lors de l'exécution du débogage sur des données historiques à partir de l'éditeur, le testeur se bloque de manière stable. Windows 7 x64. Courtier - Découverte. Mon compte est réel. J'ai vérifié avec différents indicateurs, y compris ceux qui sont inclus dans la livraison (l'indicateur standard TEMA sur la vidéo). J'ai essayé d'utiliser MT5 et le PC plus d'une fois, j'ai redémarré. Le problème est stable et apparaît tout le temps. Je ne peux pas le tester et le déboguer :( Je l'ai filmé pour l'illustrer. Je demande aux développeurs d'être très attentifs.


Consultez le site
 
Le site ne permet pas de faire des recherches par auteur ou par date.
 
Slava:
Vérifiez

Vérifié. Corrigé.

 
Slava:

Veuillez noter le problème suivant.

Bibliothèque standard. Fonction pour la fermeture partielle d'une position.

//+------------------------------------------------------------------+
//| Partial close specified opened position (for hedging mode only)  |
//+------------------------------------------------------------------+
bool CTrade::PositionClosePartial(const ulong ticket,const double volume,const ulong deviation)
  {
//--- check stopped
   if(IsStopped(__FUNCTION__))
      return(false);
//--- for hedging mode only
   if(!IsHedging())
      return(false);
//--- check position existence
   if(!PositionSelectByTicket(ticket))
      return(false);
   string symbol=PositionGetString(POSITION_SYMBOL);
//--- clean
   ClearStructures();
//--- check filling
   if(!FillingCheck(symbol))
      return(false);
//--- check
   if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      //--- prepare request for close BUY position
      m_request.type =ORDER_TYPE_SELL;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_BID);
     }
   else
     {
      //--- prepare request for close SELL position
      m_request.type =ORDER_TYPE_BUY;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
     }
//--- check volume
   double position_volume=PositionGetDouble(POSITION_VOLUME);
   if(position_volume>volume)
      position_volume=volume;
//--- setting request
   m_request.action   =TRADE_ACTION_DEAL;
   m_request.position =ticket;
   m_request.symbol   =symbol;
   m_request.volume   =position_volume;
   m_request.magic    =m_magic;
   m_request.deviation=(deviation==ULONG_MAX) ? m_deviation : deviation;
//--- close position
   return(OrderSend(m_request,m_result));
  }

Lorsqu'une position est partiellement fermée, le commentaire de position existant est effacé. Et la fonction de fermeture partielle ci-dessus ne donne pas la possibilité d'écrire un commentaire. Veuillez le corriger comme suit :

//+------------------------------------------------------------------+
//| Partial close specified opened position (for hedging mode only)  |
//+------------------------------------------------------------------+
bool CTrade::PositionClosePartial(const ulong ticket,const double volume,const ulong deviation,const string comment)
  {
//--- check stopped
   if(IsStopped(__FUNCTION__))
      return(false);
//--- for hedging mode only
   if(!IsHedging())
      return(false);
//--- check position existence
   if(!PositionSelectByTicket(ticket))
      return(false);
   string symbol=PositionGetString(POSITION_SYMBOL);
//--- clean
   ClearStructures();
//--- check filling
   if(!FillingCheck(symbol))
      return(false);
//--- check
   if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      //--- prepare request for close BUY position
      m_request.type =ORDER_TYPE_SELL;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_BID);
     }
   else
     {
      //--- prepare request for close SELL position
      m_request.type =ORDER_TYPE_BUY;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
     }
//--- check volume
   double position_volume=PositionGetDouble(POSITION_VOLUME);
   if(position_volume>volume)
      position_volume=volume;
//--- setting request
   m_request.action   =TRADE_ACTION_DEAL;
   m_request.position =ticket;
   m_request.symbol   =symbol;
   m_request.volume   =position_volume;
   m_request.magic    =m_magic;
   m_request.comment  =comment;
   m_request.deviation=(deviation==ULONG_MAX) ? m_deviation : deviation;
//--- close position
   return(OrderSend(m_request,m_result));
  }

Et, de même pour cette fonction :

bool CTrade::PositionClosePartial(const string symbol,const double volume,const ulong deviation)
 
Alexey Kozitsyn:

Veuillez noter le problème suivant.

Bibliothèque standard. Fonction pour la fermeture partielle d'une position.

Lorsqu'une position est partiellement fermée, le commentaire de position existant est effacé. Et la fonction de fermeture partielle ci-dessus ne donne pas la possibilité d'écrire un commentaire. Veuillez le corriger comme suit :

Et, de même pour cette fonction :

C'est parti. Réfléchissons-y d'abord.
 
Slava:
C'est parti. Réfléchissez-y d'abord.

Y a-t-il des contre-indications ? J'ai fait les changements que j'ai écrits sur moi-même - tout fonctionne. Si quelqu'un n'a pas besoin d'un commentaire, il en insère un vide.

 
bool CTrade::PositionClosePartial(const ulong ticket,const double volume,const ulong deviation,const string comment = NULL)
{
...
  m_request.comment = (comment == NULL) ? ::PositionGetString(POSITION_COMMENT) : comment;
...
Raison: