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

 
bred_bred1 #:
Коллеги, с дистрибутивом именно Ф*нама(не знаю можно ли здесь писать),

Проверьте пожалуйста корректность работы функции советника на каком-нибудь фьюче. Похоже критический баг для расчета маржи - всегда возвращает 0.

Если выдаёт значение отличное от нуля напишите что за билд?

Спасибо!

4073:

(SiH4,M15)     Margin is: 13380.75

4078:

(SiH4,H1)     Margin is: 0.0

 
JRandomTrader #:

4073:

(SiH4,M15)     Margin is: 13380.75

4078:

(SiH4,H1)     Margin is: 0.0

Ага! Значит баг всё таки присутствует, причем плавающий. Если ваши данные верны то
4040 - присутствует,
4073 - присутствует
4078 - отсутствует
4138 - присутствует

Спасибо

 
fxsaber #:

Отсутствие ошибки в выделенной строке (указатель равен объекту) - правильно?

С точки зрения MQL здесь нет ошибки - есть неявное приведение указателя к объекту:

class A {};
void OnStart()
{
    A* a1 = A(); //(*)
}

(*) равносильна записи в две строки:

    A *a1;
    a1.operator=(A());

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

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2023.12.27 18:08

Поэтому там (в С++) значительно больше потенциальных ошибок у программистов.

 
A100 #:

С точки зрения MQL здесь нет ошибки - есть неявное приведение указателя к объекту:

(*) равносильна записи в две строки:

Даже если это так, то указатель не инициалезирован же.
 
Sergey Gridnev #:
Даже если это так, то указатель не инициалезирован же.

А причем здесь компилятор?

class A {
public:
    void f() {}
};
void OnStart()
{
    A *a;
    a.f(); //нормально
}
Речь о сообщениях компилятора, а не о правильности кода как такового
 
A100 #:

С точки зрения MQL здесь нет ошибки - есть неявное приведение указателя к объекту:

(*) равносильна записи в две строки:

Понимаю, что это некая фишка языка, поэтому не оформлял, как ошибку.

 

Заметил несовпадение, в графиках, в тестере стратегий. Между изменением баланса(синяя линия) и графиком цен(бары), при наведении мышью.

На скриншоте:

—Закрытие позиции BUY и открытие SELL было 23 января в 11:00;

—При наведении мышью на линию баланса, во всплывающей подсказке, указывается 22 января 17:33/17:36.

Чем это можно объяснить?

Я ожидал, что время и дата изменения баланса, будут совпадать со временем ордеров.

PS Иногда несовпадение достигает двух суток.

Несовпадение по времени (при наведении мышью)
 
A100 #:

С точки зрения MQL здесь нет ошибки - есть неявное приведение указателя к объекту:

(*) равносильна записи в две строки:

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

Не равносильна. В первом случае вызывается не operator=(), а конструктор.

И не конструктор класса A, а конструктор указателя, который должен принимать только указатель.

В MQL конечно есть неявное приведение указателя к объекту, но при инициализации указателя этого делать ни в коем случае нельзя!


 

Win 10, MT5 build 4136 (it would be nice it this info could be copied from the about window..)
(Было бы неплохо, если бы эту информацию можно было скопировать из окна about...)

Strange problem.

I have defined an artificial symbol with artificial quotes and tick volumes (Lane 00 Straight.csv, attached).

In the beginning I the chart shows the tick volume (max 140, min 60) but now it is gone after I entered a channel with upper line at 1.6 and lower line at 0.8 ??

Странная проблема.

Я определил искусственный символ с искусственными котировками и тиковыми объемами (Lane 00 Straight.csv, прилагается).

Вначале на графике отображался тиковый объем (max 140, min 60), но теперь он пропал после того, как я вошел в канал с верхней линией на 1.6 и нижней на 0.8 ?


I deleted the channel but the tick volume does not come back?

PS. The idea for this is not trading, it's more a beginning of a game ... ;)

Я удалил канал, но тиковый объем не вернулся?
PS. Идея для этого не торговая, это скорее начало игры... ;)

Файлы:
 

Неправильно работает примагничивание при рисовании трендовой линии. Примагничивание уводит точку (1) вправо от бара. Причем посередине между барами.

Пробовал задать значение в свойствах линии, немного работает правильно, но потом (когда перемещаю точку 2) самопроизвольно отскакивает в сторону.

Нарисовать линию

Причина обращения: