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

 

   if(PositionSelect(_Symbol))
     {
      if(HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)))
        {
         total=HistoryDealsTotal();
         //total=HistoryOrdersTotal();
         Print("total = "+IntegerToString(total));
         for(i=0; i<total; i++)
           {
           
            ticket=HistoryDealGetTicket(i);
            //ticket=HistoryOrderGetTicket(i);
            if(ticket > 0)
              {
               if(1906 == HistoryDealGetInteger(ticket, DEAL_MAGIC))
               //if(1906 == HistoryOrderGetInteger(ticket, ORDER_MAGIC))
                 {
                  nCount++;
                 }
              }
           }
        }
     }
  

   Print( "Количество сделок по символу "+_Symbol+" "+IntegerToString(nCount));

 Если эксперт работает на демке или просто запустить скрипт то вернет количество сделок,

но если эксперт тестируется в тестере то почему то всегда возвращает одну сделку этот код.

В чем подвох? По коду видно что я пытался и ордера и сделки вытаскивать, но в обычном режиме все нормально возвращается а в тестере одну только.

 
AlexSTAL:

Абсолютно неразумно в 64 битной операционке запускать 32 битную версию терминала, запрашивать много памяти, а потом удивляться ее недостатку.

Используйте 64 битную версию терминала. 

 
Renat:

Абсолютно неразумно в 64 битной операционке запускать 32 битную версию терминала, запрашивать много памяти, а потом удивляться ее недостатку.

Используйте 64 битную версию терминала. 

Спасибо! Тут проблема, что не у всех знакомых есть 64 бита и столько памяти....

Проблема в 32-битах решилась банально - я в глобальных настройках выставил ограничение на количество баров в окне.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Konstantin83:

 Если эксперт работает на демке или просто запустить скрипт то вернет количество сделок,

но если эксперт тестируется в тестере то почему то всегда возвращает одну сделку этот код.

В чем подвох? По коду видно что я пытался и ордера и сделки вытаскивать, но в обычном режиме все нормально возвращается а в тестере одну только.

Пришлите нам полный  код эксперта.
 
Graff:
МТ 5 не работает через прокси(http,socks 4,5) Билд 328. При этом МТ 4 через эти прокси работает нормально.

Как заставить МТ5 работать через прокси?

 

Вот такой вопрос:

Определяю число знаков после запятой:

int digit=SymbolInfoInteger(symbol, SYMBOL_DIGITS);

При компиляции выдаётся предупреждение:

possible loss of data due to type conversion для переменной digit

Непонятно почему, ведь тип получаемых данных integer.

Если тип данных пытаюсь изменить на long, ulong или любой другой, подобное предупреждение выскакивает в другой строке и тоже для переменной digit:

SL=NormalizeDouble(SL, digit);

Что я делаю неправильно?

 
Попробуй так:
int digit= (int)SymbolInfoInteger(symbol, SYMBOL_DIGITS);

 
AsAn:

Вот такой вопрос:

Определяю число знаков после запятой:

При компиляции выдаётся предупреждение:

possible loss of data due to type conversion для переменной digit

Непонятно почему, ведь тип получаемых данных integer.

Если тип данных пытаюсь изменить на long, ulong или любой другой, подобное предупреждение выскакивает в другой строке и тоже для переменной digit:

Что я делаю неправильно?

Лечится примерно так

int digit= (int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
 
Спасибо. Лекарство работает :))
 

У меня есть маленькое предложение.

Почему бы не сделать отчеты в mht(веб-архив), так мне кажется будет удобнее для пользователей.

1отчет - 1файл, а не как сейчас 2(html и png)

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