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

 

При тестировании мультивалютных индикаторов и советников в МТ5 можно без проблем начинать тест с даты более ранней, чем начало истории по некоторым из используемых символов? Чтобы начать использовать эти символы в той части теста, где по ним появляется история?

Ошибками XXXYYY: There is no history весь лог тестера засыпало. Это я что-то не так делаю, или такой возможности не предусмотрено? 

П.С. Проверил. Эта ошибка вылезает на всей истории, если тест был запущен до момента начала истории конкретного символа. Если это так и есть, то очень печально. Написал в сервисдеск 1342540

 
Vladimir Pastushak:
Не правильная цена стоп лосса или тейк профита.
Добрый день, Владимир.
Подскажите, если не сложно, как это исправить?
 
Сергей Верещак:
Добрый день, Владимир.
Подскажите, если не сложно, как это исправить?
Нужно проверить,  какую цену Вы ставите в тейк а какую в стоп лосс ...  Это единственное чем я могу помочь ...
 

Не знаю что за баг такой но если у нас работает советник с графическими обьектами на графике то после запуска тестера , графические обьекты перестают обрабатываться в первом окне ...

Заметил это только сегодня.. 

билд 902 

 

Hi people! Я только начинаю работать с файлами, поэтому у меня есть одна непонятка: хочу записывать в конец бинарного файла  число, а оно затирает предыдущее содержимое. Что делать? Заранее спасибо! 

 

    int file_handle;

    file_handle=FileOpen("DEAL.bin",FILE_WRITE|FILE_BIN);

    FileSeek(file_handle,0,SEEK_END);

    FileWriteDouble(file_handle,12345.12);

    FileClose(file_handle);

   

 
Ekaterina Hinkel:

Hi people! Я только начинаю работать с файлами, поэтому у меня есть одна непонятка: хочу записывать в конец бинарного файла  число, а оно затирает предыдущее содержимое. Что делать? Заранее спасибо!    

Есть некоторые особенности работы при указании флагов чтения и записи:
 •Если указан FILE_READ – делается попытка открытия уже существующего файла. Если файл не существует, то открыть файл не получится, новый файл не создается.
 •Если FILE_READ|FILE_WRITE – создаётся новый файл если файл с таким именем отсутствует.
 •Если FILE_WRITE –  файл создается заново с нулевым размером.
 
Yury Kirillov:

2.0+2.0 не обязательно равно 4.0

NormalizeDouble - это  нормализация, а не округление.

При нормализации числа типа double через функцию NormalizeDouble (для MQL5 и для MQL4) происходит с давних пор и округление значений после запятой до заданного в этой функции десятичного знака.

P./S.: Проверить это можно разными способами. Например, создав на графике с помощью скрипта горизонтальные линии со значениями, различающимися по десятичным знакам. И где при этом последующая отметка для линии определяется с помощью функции NormalizeDouble со значением digits уменьшаемым на единицу.

То есть, первая линия, допустим, построена по какой-то отметке с количеством десятичных знаков как на графике. Вторая, по той же отметке, но с количеством десятичных знаков (digits) в функции NormalizeDouble, меньшим на единицу. Третья - также с первоначальной отметкой, но с digits в функции нормализации меньшим на два, чем на графике. Как-то так.

 
Уважаемые, когда МТ4 станет 64-х битным приложением?
 
Aleksandr Novikov:
Уважаемые, когда МТ4 станет 64-х битным приложением?
Уже никогда. Мы, четверочники, на обочине жизни.
 

Подскажите пожалуйста, как определить величину Stops_Level.

SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) возвращает 0

(В терминале в окне спецификации - тоже 0)

Но при попытке разместить ордер со стопом на 10 пунктов меньше ASK, SendOrder возвращает ошибку 10016 (Неправильные стопы в запросе)

При этом если проверить ордер с помощью CheckOrder, то ошибки нет.

На всякий случай вот структура запроса:

Req.action = TRADE_ACTION_DEAL;

Req.symbol = _Symbol;

Req.volume = 1;

Req.type=ORDER_TYPE_BUY;

Req.type_filling=ORDER_FILLING_RETURN; 

Req.sl = Ask - 10; 

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