Erreurs, bugs, questions - page 866

 
avoitenko:

Il ne fonctionne que dans le testeur et n'a aucun effet sur le trading réel, c'est-à-dire que vous ne pourrez pas retirer de l'argent de votre compte.

Mais vous ne le testez pas correctement. Pourquoi votre métier a un ticket de 3 ?

La question initiale était un peu différente. Ticket 3 - parce que dans le testeur de stratégie, sous ce ticket il y a un retrait de fonds en utilisant la fonction TesterWithdrawal(1.0). Dans l'historique (en mode visualisation) est écrit qu'il a été facturé 1.0, sur demande de ce ticket il est retourné 0.0. Sur le serveur réel, en spécifiant également un ticket sur lequel il y a eu un retrait de fonds, on retourne le montant qui y est spécifié.
 

Comme je n'ai pas vu votre code, c'est difficile à dire. Mais j'ai esquissé le mien. Qu'en tirez-vous dans le testeur ?

//+------------------------------------------------------------------+
//|                                                   WithDrawal.mq5 |
//|                                                        avoitenko |
//|                        https://www.mql5.com/en/users/avoitenko |
//+------------------------------------------------------------------+
#property copyright "avoitenko"
#property link      "https://www.mql5.com/en/users/avoitenko"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   TesterWithdrawal(1.0);
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(HistorySelect(0,TimeCurrent()))
     {
      int total=HistoryDealsTotal();
      for(int i=0;i<total;i++)
        {
         ulong ticket=HistoryDealGetTicket(i);
         PrintFormat("ticket=%d, profit=%.2f",ticket,HistoryDealGetDouble(ticket,DEAL_PROFIT));
        }
     }
  }
//+------------------------------------------------------------------+
 
avoitenko:

Comme je n'ai pas vu votre code, c'est difficile à dire. Mais j'ai esquissé le mien. Qu'est-ce que ça donne dans le testeur ?

Exactement la même ligne, provenant du vrai serveur, renvoie le montant correct.

HI 0 test_forum (EURUSD,M12) 18:30:59 2011.01.03 00:00 ticket=1, profit=100000.00
RO 0 test_forum (EURUSD,M12) 18:30:59 2011.01.03 00:00 ticket=2, profit=-1.00
OM 0 test_forum (EURUSD,M12) 18:30:59 2011.01.03 00:00:00 deposit=0.0
//+------------------------------------------------------------------+
//| WithDrawal.mq5 |
//| avoitenko |
//| https://www.mql5.com/en/users/avoitenko |
//+------------------------------------------------------------------+
#property copyright "avoitenko"
#property link "https://www.mql5.com/en/users/avoitenko"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
TesterWithdrawal(1.0);
return(0);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(HistorySelect(0,TimeCurrent()))
{
int total=HistoryDealsTotal();
for(int i=0;i<total;i++)
{
ulong ticket=HistoryDealGetTicket(i);
PrintFormat("ticket=%d, profit=%.2f",ticket,HistoryDealGetDouble(ticket,DEAL_PROFIT));
}
}
  if(HistoryDealSelect(2))Print("Пополнение=",HistoryDealGetDouble(2,DEAL_PROFIT));  //<--Дописываем это, и что-то уже не то получается
}

//+------------------------------------------------------------------+
 
//<--Décrire cela, et quelque chose est déjà faux<br / translate="no">

Il est tout à fait possible que HistoryDealSelect ne fonctionne pas comme il le devrait dans le testeur.

Dans ce cas, il est préférable de contacter Servicedesk.

Mais comme vous pouvez le voir, TesterWithdrawal n'a rien à voir avec ça.


 

Bonsoir, j'ai une question concernantFileFindFirst() etFileFindNext().

Il y a des fichiers txt dans le dossier C:\Program Files\MetaTrader 5\MQL5\Files\hand_strength_flop .

void OnStart()
  {
   bool next;
   long handle_find;
   string filename;
   int i=0;

   handle_find=FileFindFirst("hand_strength_flop",filename);
   if(handle_find!=INVALID_HANDLE)
    {
     Print("filename:  ",filename);

     while(true)
      {
       next=FileFindNext(handle_find,filename);
       if(next==false) { Print(i,"  next false  ",_LastError); break; }
       
       i++;
       Print(i+"  filename:  ",filename);
      }
     FileFindClose(handle_find);
    }
   else Print("INVALID_HANDLE  "+_LastError);
   
  }

Le script ne produit en quelque sorte que

2012.11.03 18:07:18 446 (GBPUSD,H2) 0 next false 0

2012.11.03 18:07:18 446 (GBPUSD,H2) nom de fichier : hand_strength_flop\

Je m'attends à voir les noms des fichiers qui se trouvent dans le répertoire que j'ai spécifié. Mais il n'est pas montré. ? ????????

 
Stasikusssss:

force de la main_flop\

Je m'attends à voir les noms des fichiers qui se trouvent dans le répertoire spécifié. Mais ils ne se montrent pas. ? ????????

FileFindFirst pense que"hand_strength_flop" est un fichier.

"hand_strength_flop\*.txt" ou

"\N-hand_strength_flop\*.txt"

"hand_strength_flop\*.txt"

"\\hand_strength_flop\\*.txt"

 

A100, merci ! !! merci ! !!

cela fonctionne maintenant.

 
Après avoir mis à jour soit le site web soit le terminal pour Androil - l'ID de Metacvots a été effacé. Est-ce le cas pour tout le monde ?
 
Vladon:
Après avoir mis à jour soit le site web soit le terminal pour Androil - l'ID de Metacvots a été effacé. Est-ce le cas pour tout le monde ?
Où a-t-il été effacé exactement ? Dans le profil du site web ou dans le terminal mobile?
 

Renat:
Где именно стерся? В профиле сайта или в мобильном терминале?

J'étais dans le profil du site, il était plein et je n'y ai pas touché, puis aujourd'hui je faisais du travail - et la tablette est silencieuse,

Je me suis demandé ce qui se passait, puis je suis allé sur le site et mon identifiant n'était pas là.

J'ai rempli un nouveau formulaire, je ne peux pas dire s'il a changé ou non, à mon avis les chiffres sont les mêmes.

Raison: