Субботник по наполнению FAQ (часто встречающиеся вопросы). Поможем товарищам! - страница 7

 
Добава:
alsu:

обещался, начну с самого простого)

Вопрос: MQL неправильно производит арифметические операции? Почему при делении одного числа на другое получается 0?

Ответ:

Скорее всего......

...............

Решение проблемы:

исправить в объявлении переменных тип данных на тот, который соответствует планируемым к использованию операциям:

double a,b;

... или использовать приведение типа выражения делимого:

с = (double)a/b;
 

Позвольте и от себя добавить ответ на вопрос как заработать на форекс :)

 
MetaDriver:
Добава:

... или использовать приведение типа выражения делимого:

:)) здеcь MQL4
 
sergeev:
:)) здеcь MQL4

:)

Ну хорошо, можно и так:

с = 1.0*a/b;

Блин, с удивлением обнаружил, что в четвёрке приведения типов действительно нету. И как я на ём писал....?

 

Включите пожалуйста в FAG.

Я такой древний и то столкнулся с такой байдой недавно.

1) Выключать работающего советника при снятии отчета, и при тестировании!!! Иначе советник начнет открывать ордера не по условиям, после снятия отчета или теста.

2)При тестировании если в советнике используются старшие ТФ, сначала нужно протестировать с даты на месяц назад, и только после этого тестировать по тому промежутку по которому тестируете.

 

Martingeil:

1) Выключать работающего советника при снятии отчета, и при тестировании!!! Иначе советник начнет открывать ордера не по условиям, после снятия отчета или теста.

это что то новенькое. предоставьте подробности с журналом выявленного глюка.


2)При тестировании если в советнике используются старшие ТФ, сначала нужно протестировать с даты на месяц назад, и только после этого тестировать по тому промежутку по которому тестируете.

ок. эту рекомендацию добавил.
 
sergeev:

это что то новенькое. предоставьте подробности с журналом выявленного глюка.


ок. эту рекомендацию добавил.

Сначала проверить надо, понять от чего и почему. 

 
Integer:

Сначала проверить надо, понять от чего и почему.

второй пункт сомнений не вызывает, есть такой. Это проблема тестера, он баров себе формирует мало, поэтому старший ТФ при тестировании на младшем отсутствует. Поэтому надо начинать с даты чуть раньше, чтоб бар сформировался.

А вот с первым я не понял...
 
sergeev:
второй пункт сомнений не вызывает, есть такой. Это проблема тестера, он баров себе формирует мало, поэтому старший ТФ при тестировании на младшем отсутствует. Поэтому надо начинать с даты чуть раньше, чтоб бар сформировался.

А вот с первым я не понял...

А у меня вызывает.

По первому. При тестировании может быть, если глобальные переменные используются с такимие именами что и на счете. Вот с отчетом это нечто. 

 
Integer:

А у меня вызывает.

да. забыл дописать, что это при условии что не загружена основная история по требуемому старшему ТФ.

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