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

 

В маркете поломали редактор текста, при попытке развернуть на весь экран висит только кнопка сохранить....

Плюс можно залить картинку большого веса, картинка заливается но не отображается правильно в описании.
 
Баг 1 комиссия position.Comision() при тестировании всегда равна 0 (в самом тестере комиссия показывается в истории позиций), это сказывается на оптимизации параметров для советников где ведётся расчёты с использованием комиссии.

Баг 2 simbol.Spred() выдаёт актуальные значения только на третьем обращении с начала работы программы

Баг 3 при потере агента тестирования (я работаю только в локальной сети) часами не может забыть его и пытается найти даже если в локальной сети агент уже появился - приходиться менять ip агента и только после этого в течении часа тестер забывает агента, возвращаюсь ip агента и тестер продолжает работу. Результат остановка тестирования на время от 30 мин до нескольких часов - как повезёт.

Баг 4 в описании генетический алгоритма написано при ни штатной остановке тестирования или при остановки тестирования вручную если параметры тестирования не изменены то кешь оптимизации сохраняется и при возобновлении тестирования оптимизация продолжается с места остановки - ни фига подобного на деле - оптимизация начинается заново, а результаты оптимизации дописывать в файл результатов оптимизации остановленой оптимизации. Как результат - просто в файле опьимизации больше результатов оптимизации - практического применения для нахождение оптимальных параметров это не имеет, общее время оптимизации увеличивается. 

Баг 5 компилятор mql5 мне кажется что он просто не оптимизирован - программы получаются просто медленными, что сказывается на скорости оптимизации параметров. Не может программа из 20 строк быть такой медленной
 
Vladimir Pastushak:

В маркете поломали редактор текста, при попытке развернуть на весь экран висит только кнопка сохранить....

Плюс можно залить картинку большого веса, картинка заливается но не отображается правильно в описании.

Здравствуйте!

Спасибо за сообщение об ошибке!

Не могли бы вы подробнее описать проблему с картинкой?

 

Столкнулся с непонятной проблемой, на одном тике он в определённый момент открывает один ордер и закрывает другой, в тестере всё нормально работает, поставил на реал и именно в одном месте начались танцы с бубном, позицию открывает, а другую не закрывает. В связи с этим появился вопрос: При торговле на реале возможно ли отправление одновременно двух приказов(на открытие и закрытие)?

Razgon_y=OrderSend(Symbol(),OP_BUY,Razgon_Lot,Ask,100,0,0,Razgon_Comment,Razgon_Magic,0,clrBlue); 
       if(Razgon_y<0) 
       { 
        Print("OrderSend завершилась с ошибкой #",GetLastError()); 
       } 
       else ( Print("Функция OrderSend успешно выполнена") );
       for(int Razgon_index=0; Razgon_index<=OrdersTotal(); Razgon_index++)
       {
        if(OrderSelect(Razgon_index,SELECT_BY_POS,MODE_TRADES)==true)
        {
         if(OrderMagicNumber()==Razgon_Magic && OrderType()==OP_SELL && OrderProfit()>0)
         {
          Razgon_OC=OrderClose(OrderTicket(),OrderLots(),Ask,100,clrGreen);
          if(Razgon_OC==false) 
          { 
           Print("OrderClose завершилась с ошибкой #",GetLastError()); 
          } 
           else ( Print("Функция OrderClose успешно выполнена") );
          Razgon_AccountEquity=AccountEquity();
         }
        }
       }
      }
 
Maksim Slovakov:

Столкнулся с непонятной проблемой, на одном тике он в определённый момент открывает один ордер и закрывает другой, в тестере всё нормально работает, поставил на реал и именно в одном месте начались танцы с бубном, позицию открывает, а другую не закрывает. В связи с этим появился вопрос: При торговле на реале возможно ли отправление одновременно двух приказов(на открытие и закрытие)?

У вас цикл не правильный для закрытия позиций. Сделайте обратный цикл.

[Удален]  

Поймал критическую ошибку в терминале во время работы с дебагером по реальным данным (билд 2361):

2020.03.16 16:30:41.730 (RTS Splice,M1)    crash -->  00000115A15300A5 488D0B            lea        rcx, [rbx]

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300A8 E8850B0000        call       0x115a1530c32

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300AD 90                nop        

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300AE 89842488000000    mov        [rsp+0x88], eax

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300B5 F4                hlt        

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300B6 842488            test       [rax+rcx*4], ah

2020.03.16 16:30:41.730 (RTS Splice,M1)               00000115A15300B9 0000              add        [rax], al

2020.03.16 16:30:41.730 (RTS Splice,M1)

2020.03.16 16:30:41.730 (RTS Splice,M1) 00: 0x00000115A15300A5

2020.03.16 16:30:41.730 (RTS Splice,M1) 01: 0x00000115A7DFFD64

2020.03.16 16:30:41.730 (RTS Splice,M1) 02: 0x00000001776FA270

2020.03.16 16:30:41.730 (RTS Splice,M1) 03: 0x0000000000000001

2020.03.16 16:30:41.730 (RTS Splice,M1) 04: 0x00000001776FA23C

2020.03.16 16:30:41.730 (RTS Splice,M1)



 

Напомните, пожалуйста, существует ли изящный способ разрешения ошибки "ambiguous call to overloaded function", когда нужна отдельная обработка для простых типов и указателей, вроде такого:

    template<typename V>
    void process(V value)
    {
    }

    void process(BaseFunctor *ptr)
    {
    }

Здесь компилятор считает, что (BaseFunctor *) тоже соответствует V. Можно явно указывать приведение типа при вызове метода, но это некрасиво. Если в шаблонной функции принимать параметр по ссылке, то нельзя будет передавать константы и прочие временные значения (требуется переменная).

 
Stanislav Korotky:
попробуй добавить перегрузку со ссылкой
 
TheXpert:
попробуй добавить перегрузку со ссылкой

Имеется в виду перегрузка со ссылкой на объекты или ссылка на указатель (чего вроде не существует)? Я не в курсе, как в ссылку на объект подсунуть указатель на распределенный по new экземпляр.

 
Artyom Trishkin:

У вас цикл не правильный для закрытия позиций. Сделайте обратный цикл.

Artyom Trishkin:

У вас цикл не правильный для закрытия позиций. Сделайте обратный цикл.

Попробую, но разве не всё равно как перебирать, если мы ищем все профитные позы одного направления. Мы же в любом случае переберём всё и закроем нужные.