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

 
fxsaber:

Imprime le résultat de OrderCheck et sa structure complète. Faites de même avec OrderSend.

Créez des comptes de démonstration sur dix serveurs de négociation différents. Et essayez votre code là. Le plus souvent, une caractéristique particulière du serveur de négociation n'est pas prise en compte, ce qui est reproduit lors de la vérification dans le marché.

Et n'oubliez pas d'afficher LastError. L'ensemble de ces éléments vous permettra de déterminer très rapidement les causes de l'erreur.


Merci, je vais essayer !
 
Andrii Djola:

Aidez-moi à comprendre la situation, j'ai un EA dans le Strategy Tester, tout se passe sans erreurs et sans problèmes sur un compte de démonstration, également sans problèmes, mais lorsque je charge l'EA dans le marché, l'Autotester écrit :

Le problème a fait l'objet de nombreuses études. Lisez attentivement l'article, il s'agit de quelque chose comme "quels tests l'EA doit passer ...".

Il couvre tout.

 

Je demande de l'aide pour résoudre ce problème. Lors de l'ouverture d'un ordre sur le marché avec un volume supérieur à 1 sur Moex, un phénomène étrange se produit : l'ordre est négocié sur le marché et les informations sur la négociation arrivent partiellement, en raison de quoi OnTrade() est appelé plus tôt - comment puis-je vérifier si je veux attendre que toutes les informations sur l'ordre négocié arrivent ?

 
Vladimir Karputov:
Question sur la fonction OnTradeTransaction, exemple comment attraper la fermeture d'une position.



Merci, il s'avère que je le faisais bien et que l'impression est fausse. Le lundi est plus sage que le vendredi, ou quelque chose comme ça)

Comment puis-je obtenir le prix de la limite la plus proche de ORDER_TYPE_BUY_LIMIT à partir de tous les prix fixés, dans ORDER_PRICE_CURRENT ?


 
lil_lil:

Merci, il s'avère que je le faisais bien et que l'impression est fausse. Le lundi est plus sage que le vendredi, ou quelque chose comme ça)

Comment puis-je connaître le prix de la limite la plus proche de ORDER_TYPE_BUY_LIMIT parmi toutes celles qui ont été fixées, par rapport à ORDER_PRICE_CURRENT ?



Contourner la liste entière des ordres en attente, sélectionner les ordres en attente par symbole courant, par magik (optionnel), sélectionner les ordres en attente du type requis seulement :

LIMITE_TYPE_D'ACHAT

LIMITE_TYPE_VENTE

//+------------------------------------------------------------------+
//|                                             Find the nearest.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//---
#include <Trade\OrderInfo.mqh>
COrderInfo     m_order;                      // pending orders object
#property script_show_inputs
//--- input parameters
input ENUM_ORDER_TYPE   order_type=ORDER_TYPE_BUY_LIMIT;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ulong order_ticket=ULONG_MAX;
   double order_distance=DBL_MAX;

   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
      if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==Symbol()/* && m_order.Magic()==m_magic*/)
            if(m_order.OrderType()==order_type)
              {
               double distance=MathAbs(m_order.PriceCurrent()-m_order.PriceOpen());
               if(distance<order_distance)
                 {
                  order_distance=distance;
                  order_ticket=m_order.Ticket();
                 }
              }
   if(order_ticket!=ULONG_MAX && order_distance!=DBL_MAX)
      Comment("Order ",EnumToString(order_type),
              ", ticket ",IntegerToString(order_ticket),
              ", distance ",DoubleToString(order_distance,Digits()));
  }
//+------------------------------------------------------------------+
Dossiers :
 
Vladimir Karputov:

Contourner toute la liste des ordres en attente, sélectionner les ordres en attente par symbole courant, par magik (facultatif), sélectionner uniquement les ordres en attente du type souhaité :


Merci, j'ai couru chez le serrurier, j'ai cliqué sur l'annonce).

 
Les commentaires non liés à ce sujet ont été déplacés vers "Questions des débutants de MQL4 MT4 MetaTrader 4".
 

Je ne peux pas résoudre un problème simple.

Dans l'EA, quand j'obtiens la poignée de l'indicateur...

int OnInit()
  {
//--- Получить хэндл индикатора Envelopes_upper для отрисовки верхней линии
   EnvHandle_upper=iEnvelopes(NULL,0,Period_upper,0,MODE_SMA,PRICE_MEDIAN,Deviation_upper);

....terminal dessine les deux lignes, mais je n'ai besoin que de la ligne supérieure.

Comment désactiver le dessin de cette ligne ? Par exemple, changer sa couleur en CLR_NONE, ou son style de ligne en DRAW_DONE ?

 
Pouvez-vous me dire comment m'abonner au signal de votre téléphone ? Il n'y a pas de bouton "s'abonner" sur le site web, j'ai tout regardé... Et dans mt5 il n'y a rien du tout sur les signaux (
 
VSPro:
Veuillez m'indiquer comment je peux m'abonner au signal à partir de mon téléphone. Mon appareil n'a pas de bouton "s'abonner" sur mon site web... J'ai essayé de tout ouvrir. Dans MT5, il n'y a rien du tout concernant les signaux (

Tu ne peux pas. Vous devez vous abonner à partir d'un ordinateur de bureau Windows, et MetaTrader 5 doit être installé sur cet ordinateur.

Raison: