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

 

Представим себе переворотную ТС на неттинге. Там все сделки будут DEAL_ENTRY_INOUT-типа.

Чтобы по истории узнать, какого размера стала позиция на момент совершения сделки, нужно каждый раз бежать по PositionID, вычисляя лот. Либо создавать какое-то кеширование, чтобы работало без сильных тормозов.

Сделали сотню переворотов - будете бежать в цикле эту сотню каждый раз, с соответствующей не быстрой HistorySelectByPosition.


Если правильно понимаю, то другого метода определить данное значение нет.


Или, например, совершаете много DEAL_ENTRY_IN и DEAL_ENTRY_OUT, не закрывая позицию. И определить объем исторической позиции возможно опять же только по соответствующей пробежке на истории.


Возможно ли ввести DEAL_POSITION_VOLUME - размер позиции после совершения сделки?

 

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

""80% прироста сделано за 16 дней. Это 4% от общего срока жизни сигнала 376 дней.""


Как это может быть? или я что-то не так понимаю?

сигнал

 
Ошибка в логике операторов
int f( int x )
{
    while ( true ) {
        /*   ...*/
        /*if ...*/ continue;
        /*if ...*/ return 1;
        /*if ...*/ continue;
        /*   ...*/
    }
} //Error: '}' - not all control paths return a value
 
A100:
Ошибка в логике операторов

Это не серьезно.

 
fxsaber:

Это не серьезно.

Если бы было не серьезно, то Разработчики здесь и здесь ...  не стали бы исправлять. Поверьте там не дураки сидят и могут отличить серьёзное
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.11.02
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

У графических объектов отсутствует свойство, определяющее их порядок наложения (Z-Order).   Имеющееся свойство OBJPROP_ZORDER не имеет отношения к этому, хотя почему-то имеет сходное название.

Раньше я думал, что порядок наложения определяется датой создания объекта.  Однако если для любого объекта сделать так:

ObjectSetInteger(chartid, objectname, OBJPROP_TIMEFRAMES, OBJ_NO_PERIODS);
ObjectSetInteger(chartid, objectname, OBJPROP_TIMEFRAMES, OBJ_ALL_PERIODS);

то этот объект помещается сверху над остальными.  Никакие свойства у него при этом не меняются.  Соответственно определить программно, какой объект находится выше или ниже, невозможно.  Однако ж МТ хранит где-то эту информацию.  Поэтому хотелось бы иметь соответствующее свойство в ObjectGetInteger.

 
Alexey Navoykov:

определить программно, какой объект находится выше или ниже, невозможно.

Возможно, стоит посмотреть, в какой последовательности сохраняются объекты в шаблоне. Думаю, чем позже там прописан объект, тем выше он над остальными.
 

Не загружается библиотека .ex5, если она находится в общей директории всех клиентских терминалов MetaTrader 5 (Common\MQL5\Libraries) как об этом сказано в Документации - "Поиск импортируемой библиотеки EX5 производится в следующей последовательности: пункт 3"

#import "Test.ex5"
        void f();
#import
void OnStart()
{
        f();
}

Результат: cannot open file 'Test.ex5'

при том что 'Test.ex5' находится в папке Common\MQL5\Libraries

 
fxsaber:
Возможно, стоит посмотреть, в какой последовательности сохраняются объекты в шаблоне. Думаю, чем позже там прописан объект, тем выше он над остальными.
Чтобы поместить объект над всеми остальными вне зависимости от порядка прописки, необходимо сначала сделать его невидимым на всех таймфреймах, а потом обратно вернуть видимость
 
Tetyana Shcherba:

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

""80% прироста сделано за 16 дней. Это 4% от общего срока жизни сигнала 376 дней.""


Как это может быть? или я что-то не так понимаю?

Я тоже вчера это заметил. Наверное формулу правят.