Ошибки, баги, вопросы - страница 866

 
avoitenko:

Работает она только в тестере и на реальную торговлю не влияет, т.е. снять средства со счета у вас не получится.

Но проверяете её работоспособность вы неправильно. Почему у вашей сделки тикет равен 3?

Изначальный вопрос,  немного другой был. Тикет 3 - потому что, в тестере стратегий под  этим тикетом идет снятие с баланса функцией TesterWithdrawal(1.0);. В истории (в режиме визуализации) пишется что там снято 1.0, по запросу по данному тикету идет возврат 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));
        }
     }
  }
//+------------------------------------------------------------------+
 
avoitenko:

Так как вашего кода я не видел, тяжело о чем то говорить. Но я набросал свой. Что он у вас выдает в тестере?

Точно такая же строка, с реал сервера, возвращает корректную сумму.

HI 0 test_forum (EURUSD,M12) 18:30:59 2011.01.03 00:00:00 ticket=1, profit=100000.00
RO 0 test_forum (EURUSD,M12) 18:30:59 2011.01.03 00:00:00 ticket=2, profit=-1.00
OM 0 test_forum (EURUSD,M12) 18:30:59 2011.01.03 00:00:00 Пополнение=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));  //<--Дописываем это, и что-то уже не то получается
}

//+------------------------------------------------------------------+
 
//<--Дописываем это, и что-то уже не то получается

Вполне возможно, что HistoryDealSelect не работает в тестере как нужно.

С этим лучше обратиться в сервисдеск.

Но, как вы видите, TesterWithdrawal здесь не при чём.


 

Добрый вечер! У меня вопросец по FileFindFirst() и FileFindNext().

В папке C:\Program Files\MetaTrader 5\MQL5\Files\hand_strength_flop имеются файлы txt.

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);
   
  }

 Но почему-то скрипт выдает только

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

2012.11.03 18:07:18 446 (GBPUSD,H2) filename:  hand_strength_flop\

 

Я ожидаю видеть названия файлов которые находятся в указанной директории. Но они не выводятся. ?????????

 
Stasikusssss:

hand_strength_flop\

 

Я ожидаю видеть названия файлов которые находятся в указанной директории. Но они не выводятся. ?????????

FileFindFirst думает, что "hand_strength_flop" - файл

"hand_strength_flop\*.txt" или

"\hand_strength_flop\*.txt" 

"hand_strength_flop\\*.txt" 

"\\hand_strength_flop\\*.txt" 

 

A100, благодарю!!! спасибо!!!

теперь работает. 

 
После обновления толи сайта, то ли терминала для Андроил - стерся Метаквотс ИД. у всех так? 
 
Vladon:
После обновления толи сайта, то ли терминала для Андроил - стерся Метаквотс ИД. у всех так? 
Где именно стерся? В профиле сайта или в мобильном терминале?
 

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

 

в  профиле сайта, он был заполнен и я  его не трогал, потом сегодня работу делал - а планшетка молчит,

думаю что за дела -потом зашел на сайт а там нет моего ид.  

Заполнил по новой, не могу сказать он изменился или нет, помоему цифры те же.  

Причина обращения: