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

fxsaber:

Недокументированный способ отличия MT4/5 образовался. И битность MT5 не при чем.

Это даже отличие не MT4/5, а задействован ли #property strict.

Включен - будут отличаться, нет - не будут.

Там разные реализации NormalizeDouble!

В каких случаях в индикаторах в OnDeinit может передаваться reason=0?

fxsaber:
Отличие больше, чем 1e-15. Более того, Num != Norm. Это разные числа, а не одинаковые.

А нулевую степени посчитать? Степени от 0 до -14 - итого 15 разрядов. Степень -15 - это уже 16-й разряд. Я так думаю.

Stanislav Korotky:

А нулевую степени посчитать? Степени от 0 до -14 - итого 15 разрядов. Степень -15 - это уже 16-й разряд. Я так думаю.

Посмотрите, на сколько  разрядов отличается DBL_MIN от нуля.

Release-версия скрипта почти в 3 раза медленнее Debug-версии.

string  PositionGetString2( const ENUM_POSITION_PROPERTY_STRING  Property_id )
{
  return(PositionGetString(Property_id));
}

#define TOSTRING(A) #A + " = " + (string)(A)

void OnStart()
{
  if (PositionSelect(_Symbol))
  {
    const ulong StartTime = GetMicrosecondCount();
    
    for (int i = 0; i < 1e7; i++)
    {
      PositionGetString2(POSITION_SYMBOL);
      PositionGetString2(POSITION_COMMENT);
    }
    
    Print(TOSTRING(GetMicrosecondCount() - StartTime));
  }
}

Шаги для воспроизведения

  1. Выбрать EURUSD для отладки и открыть его чарт в терминале.
  2. Открыть одну позицию по EURUSD.
  3. Запустить из ME по F5 дебаг версию и посмотреть в логе результат.
  4. Перекомпилировать в ME через F7 - это очень важно, иначе EX5-будет дебажный.
  5. Запустить из терминала полученный Release-скрипт и посмотреть в логе результат.
Результат дебаг-версии

GetMicrosecondCount()-StartTime = 638537


Результат релиз-версии

GetMicrosecondCount()-StartTime = 1746492

При импорте тиков в кастомный символ tkc-файлы не читаются.

fxsaber:

При импорте тиков в кастомный символ tkc-файлы не читаются.

Нет пока. Ещё не реализовали

Купил 10 акций GAZP. В ЛК брокера отображается 100 акций.

В метатрейдере отображается вот так:


Это вообще нормально?


Версия программы:

tantomare:

Купил 10 акций GAZP. В ЛК брокера отображается 100 акций.

В метатрейдере отображается вот так:

Это вообще нормально?

Версия программы:

 

Вы купили 10 лотов или 1 лот? Там в лоте 10 акций... если память не изменяет.
Aleksey Vyazmikin:

 

Вы купили 10 лотов или 1 лот? Там в лоте 10 акций... если память не изменяет.

Спасибо за подсказку, действительно 10 акций в лоте. То-то я AFLT купить не мог, а там лот 100 акций.

Странно, что эта информация не вынесена в стакан.