[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 388

 
borilunad:
Mais sur un autre MT4 en démo du même courtier il n'y a pas de trou !

le mot clé est démo.

J'ai eu des dizaines de cas de ce genre avec différents courtiers... C'est une situation courante.

 
Écoutez, les pros. Vous n'êtes pas assez nombreux et vous vous affrontez, on en arrive au corps à corps. Est-ce que vous appréciez au moins tout le contenu local ? Vous voulez que je vous montre des forums où il n'y a pas du tout de tels pros ?Integer est chaud sur les mains, je me suis déjà battu avec lui, je le connais. Je comprends ce que nous avons et je pleure pour ce que nous n'avons pas. Mais battre une personne entière pour le fait qu'elle s'est trompée sur un point, alors que chacun d'entre vous a du travail, et plutôt bien - au moins déraisonnable, pour ne pas dire pire.
 
sdm:
Besoin d'aide 1 comment connaître le prix de l'ordre de vente ouvert ou en attente 2 comment vérifier s'il existe un ordre de vente ouvert ou en attente au prix que j'ai spécifié.



Seulement en passant par toutes les commandes. Par exemple, comme ceci :

#property copyright "Copyright 2013, Mikhail <Sepulca> Kozhemyako"
#property link      "ua3xcm@obninsk.com"
extern int MAGIC=1234;
int init()
 {
  return(0);
 }
int deinit()
 {
  return(0);
 }
int start()
 {
  int NoL,NoS,NoBS,NoSS,NoBL,NoSL,n,i;
  double MaxSellOpenPrice,MaxSellStopOpenPrice,MaxSellLimitOpenPrice,MinBuyOpenPrice,MinBuyLimitOpenPrice,MinBuyStopOpenPrice;
  NoL=0;NoS=0;NoBS=0;NoSS=0;NoBL=0;NoSL=0;
  MaxSellOpenPrice=0.0;MaxSellStopOpenPrice=0.0;MaxSellLimitOpenPrice=0; MinBuyOpenPrice=99999999.9;MinBuyStopOpenPrice=9999999.9;MinBuyLimitOpenPrice=9999999.9;
// Перебираем все ордера
  n=OrdersTotal();
  for (i=n-1; i>=0; i--)
   {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {
      if(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())
       {
        if(OrderType()==OP_BUY) 
         {
          NoL++;MinBuyOpenPrice=MathMin(MinBuyOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_SELL)
         {
          NoS++;MaxSellOpenPrice=MathMax(MaxSellOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_BUYSTOP) 
         {
          NoBS++;MinBuyStopOpenPrice=MathMin(MinBuyStopOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_SELLSTOP)
         {
          NoSS++;MaxSellStopOpenPrice=MathMax(MaxSellStopOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_BUYLIMIT) 
         {
          NoBL++;MinBuyLimitOpenPrice=MathMin(MinBuyLimitOpenPrice,OrderOpenPrice());
         }
        if(OrderType()==OP_SELLLIMIT)
         {
          NoSL++;MaxSellLimitOpenPrice=MathMax(MaxSellLimitOpenPrice,OrderOpenPrice());
         }
       }
     }
   }
// Смотрим чего есть в наличии
  if(NoL>0)// Если есть активные лонги
   {
   }
  if(NoS>0)// Если есть активные шорты
   {
   }
  if(NoBL>0)// Если есть лонги-отложеннники лимитники
   {
   }
  if(NoSL>0)// Если есть шорты отложенники лимитники
   {
   }
  if(NoBS>0)// Если есть лонги-отложенники стоповые
   {
   }
  if(NoSS>0)// Если есть шорты отложенники стоповые
   {
   }
// Соответственно в  переменных получаете мин/макс цену.
  return(0);
 }
 
borilunad:

Merci ! Mais il y a des postes ouverts, ou alors c'est bon ? ! Je vais essayer maintenant !

Désolé, comment puis-je supprimer juste à partir du début du trou ? On peut tout supprimer dans F2, mais dès que j'appuie sur M1, toutes les citations apparaissent immédiatement avec le même trou ! Alors, comment faire pour supprimer uniquement le début du trou ?


Rien n'arrivera aux postes. Depuis le début du trou - voyez à quelle heure les trous commencent, dans le tableau de l'historique il y a une colonne avec la date, utilisez-la pour regarder vers le haut à partir de la date désirée (en utilisant la touche Shift). L'archive des citations est Menu principal - Outils - Archive des citations.
 
Integer:

Rien n'arrivera aux postes. Depuis le début du trou - voyez à quelle heure les trous commencent, dans le tableau de l'historique il y a une colonne avec la date, utilisez-la pour regarder vers le haut à partir de la date désirée (en utilisant la touche Shift). L'archive des citations se trouve dans le menu principal - Outils - Archive des citations.
Merci Dmitriy ! J'ai déjà remercié ci-dessus et signalé ce que j'ai obtenu ! Je ne sais pas comment, mais l'essentiel est qu'il n'y ait aucune erreur et que toutes les citations soient en place. Mais ces volumes provoquent des erreurs en permanence ! Et si on ne les utilisait pas ? Je ne les utilise pas dans mon code ! Merci encore !
 

J'ai des noms de type chaîne - h0 h1 h2 etc. En fonction du nom trouvé, je dois faire une énumération swith(Name).

Comment le faire correctement ?

J'ai essayé d'utiliser le préprocesseur, mais ça n'a pas marché. : (

#define h0   0
#define h1   1
#define h2   2
#define h3   3      

      string Имя_Остатке;

      switch (Имя_Остатке)
         {
          case h0:  break;
          case h1:  break;
          case h2:  break;
          case h3:  break;
         }
 
Vous ne pouvez pas, le commutateur ne fonctionne qu'avec des ints. Mettez les noms dans un tableau, et utilisez-le avec des indices.
 
FAQ:
Cela ne marchera pas, le commutateur ne fonctionne qu'avec des ints. Mettez les noms dans un tableau, et faites-le fonctionner avec des indices.

Merci beaucoup !

Je l'ai eu ! : )))) Je veux dire, à travers un tableau.

 

Malheureusement, les 1minutes ont à nouveau disparu, elles ne sont plus que sur la carte, et dans le journal de bord, elles sont griffonnées tous les dixièmes de seconde :

15:55:39 Gestionnaire de mémoire : ne peut pas allouer 206924212 octets de mémoire
15:55:39 HistoryBase : pas assez de mémoire 'EURUSD1' [4702734 barres].
15:55:39 Gestionnaire de mémoire : ne peut pas allouer 206924212 octets de mémoire
15:55:39 HistoryBase : pas assez de mémoire 'EURUSD1' [4702734 barres].
15:55:39 Gestionnaire de mémoire : ne peut pas allouer 206924212 octets de mémoire
15:55:39 HistoryBase : pas assez de mémoire 'EURUSD1' [4702734 barres].

500й !

 
borilunad:

Malheureusement, les 1minutes ont à nouveau disparu, elles ne sont plus que sur la carte, et dans le journal de bord, elles sont griffonnées tous les dixièmes de seconde :

15:55:39 Gestionnaire de mémoire : ne peut pas allouer 206924212 octets de mémoire
15:55:39 HistoryBase : pas assez de mémoire 'EURUSD1' [4702734 barres].
15:55:39 Gestionnaire de mémoire : ne peut pas allouer 206924212 octets de mémoire
15:55:39 HistoryBase : pas assez de mémoire 'EURUSD1' [4702734 barres].
15:55:39 Gestionnaire de mémoire : ne peut pas allouer 206924212 octets de mémoire
15:55:39 HistoryBase : pas assez de mémoire 'EURUSD1' [4702734 barres].

500й !


Des tests datant du 168e siècle avant J.-C. ? :)