Questions des débutants MQL5 MT5 MetaTrader 5 - page 900

 
Sile Si:

Sans doute le conseiller attaché à si modifie-t-il vtbr

Si vous attachez un EA à vtbr, il ne modifie pas si, il ne travaille que sur son propre instrument.


Avez-vous une explication à cela ?

Il n'y a aucune modification dans le code sauf celle-ci :

Joindre les lignes du journal qui montrent la modification (ne pas épargner les lignes - prendre + 3 du haut et du bas)


Ajouté.

Et montrer OnInit().

 
Vladimir Karputov:

Joignez les lignes du journal qui montrent la modification (n'épargnez pas les lignes - prenez + 3 en haut et en bas)


Ajouté.

Et montrer OnInit().

Situation : Je supprime T/R manuellement, EA le remet en place.

NPD

int OnInit()
  {
   if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
     {
      //Alert("Automated trading is forbidden in the program settings for ",__FILE__);
      return(false);
     }
   входить=входить_;
   handle_iCustom=iATR(Symbol(),ATRtimeframe,ATRper);
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

//
   handle_iCustom_2=iATR(Symbol(),ATRtimeframeStep,ATRperStep);

   if(handle_iCustom_2==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }
//

   handle_iMA=iMA(Symbol(),Time_Frame_MA,Period_MA,0,MODE_SMA,PRICE_CLOSE);
//--- if the handle is not created 
   if(handle_iMA==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iMA indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

   m_hline_name_buy=Symbol()+" "+m_hline_name_buy;
// m_hline_name_sell=Symbol()+" "+m_hline_name_sell;

   HLineCreate(0,m_hline_name_buy,0,0.0,clrLime,2);
//---
//---
   if(InpLot<=0.0)
     {
      Print("The \"Lot\" can't be smaller or equal to zero");
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   if(!m_symbol.Name(Symbol())) // sets symbol name
      return(INIT_FAILED);
   RefreshRates();

   string err_text="";
   if(!CheckVolumeValue(InpLot,err_text))
     {
      Print(err_text);
      return(INIT_PARAMETERS_INCORRECT);
     }
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
   if(IsFillingTypeAllowed(SYMBOL_FILLING_FOK))
      m_trade.SetTypeFilling(ORDER_FILLING_FOK);
   else if(IsFillingTypeAllowed(SYMBOL_FILLING_IOC))
      m_trade.SetTypeFilling(ORDER_FILLING_IOC);
   else
      m_trade.SetTypeFilling(ORDER_FILLING_RETURN);
//---
   m_trade.SetDeviationInPoints(m_slippage);
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   m_adjusted_point=m_symbol.Point()*digits_adjust;
   ExtZeroLevel=InpZeroLevel*m_adjusted_point;
   ExtTrailingStop=InpTrailingStop*m_adjusted_point;
   ExtTrailingStep=InpTrailingStep*m_adjusted_point;
//-
   ExtTakeProfit=TakeProfit*m_adjusted_point;
   ExtSL=StopLoss*m_adjusted_point;
   ExtStep=InpStep*m_symbol.Point();
//---
   return(INIT_SUCCEEDED);
  }
 
Sile Si:

Situation : Je supprime T/P manuellement, l'EA est remis en service.

Veuillez fournir des informations : texte complet de l'EA, sur quel serveur vous vous connectez, quel est le montant de la balance, quelle est la construction du terminal. Je voudrais le vérifier.

Une seule chose : si vous testez NON sur MetaQuotes-Demo, mais sur le serveur d'échange - ici sans moi.

 
Vladimir Karputov:

Veuillez me donner quelques informations : le texte complet de l'EA, le serveur auquel vous vous connectez, le montant du solde, la version du terminal. Je voudrais le vérifier.

Une seule chose : si vous testez NON sur MetaQuotes-Demo, mais sur un serveur d'échange - ici sans moi.

C'est FORTS. Et si le problème ne se produit qu'à un endroit et avec un futur spécifique, peut-être est-il plus facile de passer par le débogueur ? Je suis désolé, je me suis embrouillé. Il semble que le débogueur ne fonctionne pas sur les Expert Advisors.

 
Sergey Savinkin:

C'est FORTS. Et si le problème ne se produit qu'à un seul endroit et avec un futur particulier, il est peut-être plus facile de passer par le débogueur ?

 
Sile Si:

Situation : Je supprime le T/P manuellement, le conseiller le réintroduit.

Veuillez exécuter ce code :ListPositions.

Vérifiez que le type de position (BUY ou SELL) et le nom du symbole correspondent. Vous devez également spécifier le NOM du serveur de négociation et le BILD du terminal.

 
Vladimir Karputov:

Veuillez exécuter ce code :ListPositions.

Vérifiez que le type de position (BUY ou SELL) et le nom du symbole correspondent. Vous devez également spécifier le NOM du serveur de négociation et le BILD du terminal.

Résultat :

rn

open-broker build last, 1881. Sur vtbr met T/R=0 et sur l'instrument de quelqu'un d'autre si, met T/R qui devrait être sur vtbr.

Vladimir Karputov:. Sur le serveur d'échange - ici sans moi.

À qui s'adresser ?

 
Sile Si:

Résultat :

La dernière constructionouverte au public.

Qui dois-je contacter ?

J'ai un compte chez FORTS bx. Pouvez-vous m'envoyer l'EA et ses paramètres ? Si vous ne voulez pas "éclairer" la logique de l'EA, vous pouvez m'envoyer n'importe quelle version coupée, tant que vous pouvez simuler une erreur. Et les forts fermeront dans deux heures.

Et une description détaillée de la manière de simuler une erreur.
 
Sergey Savinkin:

J'ai un compte FORTS bx. Pouvez-vous m'envoyer l'EA et les paramètres. Si vous ne voulez pas que la logique de l'EA soit "légère", vous pouvez ajouter n'importe quelle version coupée, à condition de pouvoir simuler une erreur. Et Forts fermera dans deux heures.

Que cacher, entrée par MA, moyenne) Regardez le PM, s'il vous plaît.

Il y a beaucoup de trucs à l'intérieur qui viennent du fait de travailler sur un compte de couverture.

 
Sile Si:

Résultat :

open-broker build last, 1881. Sur vtbr met T/P=0 et sur l'outil de quelqu'un d'autre, si, met T/P qui devrait être sur vtbr.

Qui dois-je contacter ?

Merci pour cette précision.

Si vous utilisez un code qui est très similaire à mes exemples, veuillez m'envoyer votre EA. J'enregistre maintenant les transactions de manière plus détaillée. Je vais l'examiner et corriger le code. Je le vérifierai plus tard.