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

 

От того, что визуализатор показывает ерунду - это не значит, что тестер сам не верен. Проблемы визуализации тестер не волнуют, от слова совсем.

Посчитайте сами через TickValue размер профита и сравните с POSITION_PROFIT. Увидите, что все совпадает. А визуализация - бага, похоже.

 
fxsaber:

От того, что визуализатор показывает ерунду - это не значит, что тестер сам не верен. Проблемы визуализации тестер не волнуют, от слова совсем.

Посчитайте сами через TickValue размер профита и сравните с POSITION_PROFIT. Увидите, что все совпадает. А визуализация - бага, похоже.

Да пересчитал прежде чем размещать вопрос. Похоже на правду, можно пересчитать по скринам. Проверять-то я начал не спроста. От убытка считается размер лота при закрытии которого по тейку будет ожидаемый профит. На EURUSD всё считалось правильно, а на USDJPY вдруг убыток не перекрывается... Начал проверять формулу... и дошёл до этого бага. Выходит что визуализатор вообще не при делах.

 
Alexey Viktorov:

Да пересчитал прежде чем размещать вопрос. Похоже на правду, можно пересчитать по скринам. Проверять-то я начал не спроста. От убытка считается размер лота при закрытии которого по тейку будет ожидаемый профит. На EURUSD всё считалось правильно, а на USDJPY вдруг убыток не перекрывается... Начал проверять формулу... и дошёл до этого бага. Выходит что визуализатор вообще не при делах.

Извините, но я не уловил Вашу мысль. Кто, по-Вашему, бажит - тестер или визуализатор?
 

Ошибка при компиляции Script1.mq5

//Script.mqh
typedef void (*fn)();
#import "Script1.ex5"
        void g();
#import "Script2.ex5"
        void h();
        void h( fn );
#import
class A {
public:
        void f1() { h( g ); } //Error: #1 - no one of the overloads can be applied to the function call
                              //Error: #2 - cannot resolve function address
        void f2() {    g(); } //нормально (*)
        void f3() { Print( __FUNCTION__ ); }
};
//Script1.mq5
#property library
#include "Script.mqh"
void g() export
{
        A a;
        a.f3();
}

Ошибка #1. По сигнатуре вызов h здесь однозначен. 

Ошибка #2. В A::f1() вызов h( g ) в смысле g - может показаться неоднозначным, но с другой стороны в A::f2() компилятор же относительно g() не задает лишних вопросов (и правильно делает - по крайней мере поначалу существовавщие проблемы включения заголовочного файла с объявлением функции в модуль с ее реализацией и последующего использования в этом модуле давно уже были решены). И кроме того переписать по другому затруднительно, поскольку Script.mqh - общий заголовочный файл

 
fxsaber:
Извините, но я не уловил Вашу мысль. Кто, по-Вашему, бажит - тестер или визуализатор?

Если показывает значения похожие на правду, а считает не по тем данным, выходит что тараканы в mql5, а не в тестере или визуализаторе.

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

 

Почему warning на ровном месте?

void OnStart()
{
  uchar Data[];  
  ArrayInitialize(Data, UCHAR_MAX); // Warning: truncation of constant value
}
 
Уважаемые проффи, помогите, пожалуйста, понять в чем дело. Советник работает по сигналам индикатора, период которого можно изменять в широких пределах от 3-х баров вплоть до 10000 и более. Сам индикатор, в отдельности, работает исправно, адекватно реагируя на изменения периода в указанных пределах. А советник в тестере не воспринимает настройку свыше 1002 баров, сообщает "зеро дивид". В чем может быть проблема? Ограничений в коде советника не обнаружил.
 
fxsaber:

Почему warning на ровном месте?

Нет перегрузки этой функции с uchar. Есть только char. Потому и алертит, что константа больше, чем 127.
 
Sergei Vladimirov:
Нет перегрузки этой функции с uchar. Есть только char. Потому и алертит, что константа больше, чем 127.
Тогда почему вообще не возникает ошибки? Ведь для uchar-массивов нет перегрузки (если справка не врет).
 
Alexey Viktorov:

Если показывает значения похожие на правду, а считает не по тем данным, выходит что тараканы в mql5, а не в тестере или визуализаторе.

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

Проверил. Всё считает нормально. Видимо тараканы в генерации тиков в конкретном месте истории.