VPS возвращает некорректный _Point value (MT5)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Maxim Dmitrievsky
19164
Maxim Dmitrievsky  

Вчера заметил, что советник на хостинге стал выставлять не корректные стоп лоссы, причем в терминале с компа все ок. Стопы на VPS увеличились в 10 раз, проверил Print(DoubleToString(_Point,5)); и вот что обнаружил:

Проверка на компе: 

Проверка на VPS:

Брокер один и тот же, счет один и тот же. Как такое могло произойти? до этого впс работал нормлаьно, проявилось только вчера\сегодня, стоп-старт не помогают, все равно возвращает 4 знака после запятой на VPS, хотя их 5.

P.s. проверил через Point(), так все нормально на хостинге. Ну и видно что именно _Point стал работать не корректно, тогда как Point() работает правильно.


fxsaber
16763
fxsaber  
Похоже, это VPS-сервис разработчиков, а не сторонний. Выглядит, как баг сильно урезанной VPS-версии.
Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
fxsaber:
Похоже, это VPS-сервис разработчиков, а не сторонний. Выглядит, как баг сильно урезанной VPS-версии.

да, это штатный метаквот vps
fxsaber
16763
fxsaber  
Maxim Dmitrievsky:

да, это штатный метаквот vps

Что показывает?

Print(_Symbol);
Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
fxsaber:

Что показывает?


Одинаково


fxsaber
16763
fxsaber  
Maxim Dmitrievsky:

Одинаково

Через SymbolSelect сделал бы распечатку всех символов Обзора рынка с их Point.

Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
fxsaber:

Через SymbolSelect сделал бы распечатку всех символов Обзора рынка с их Point.

Так все нормально, судя по всему только _Point сломался
void OnTick()
  {
//---
   for (int i=0; i<SymbolsTotal(true); i++)
    {
     Print(SymbolName(i,true),"  ", DoubleToString(SymbolInfoDouble(SymbolName(i,true), SYMBOL_POINT),5));
    }
  }


fxsaber
16763
fxsaber  
Maxim Dmitrievsky:
Так все нормально, судя по всему только _Point сломался

Это логично, т.к. исходник Point() именно такой.

Через SymbolSelect предлагал найти символ, у которого point = 0.0001.

Maxim Dmitrievsky
19164
Maxim Dmitrievsky  
void OnTick()
  {
//---
   Print("_Point: ", DoubleToString(_Point,5), "  ", "Point(): ", DoubleToString(Point(),5));
  }

Вот те раз, Point() теперь тоже неправильно возвращает

Slava
Модератор
13449
Slava  

Возникают некоторые сомнения, так как _Point и Point() генерируют один и тот же код и обращаются в одну и ту же переменную.

Пожалуйста сделайте принт Print(_Symbol," ",_Point,"  ",Symbol()," ",Point());  и покажите результат

Slava
Модератор
13449
Slava  
Maxim Dmitrievsky:

Вот те раз, Point() теперь тоже неправильно возвращает

Перезапустите локальный клиентский терминал и снова отпринтуйте значения
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий