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

[Удален]  
A100:

Неоднозначный результат

В одном случае результат: 10, а в другом: не 10. А в чём разница?

жесть :) а что в самих методах?
 
Konstantin Karpov:
жесть :) а что в самих методах?

забыл добавить :)

class A {
public:
        A( int b ) : c( b ) {} 
        int c;
};
 
Alexander Laur:

Вы ерунду пишите. Функции создаются для обработки данных и получения результатов этой отработки. Создавать функцию только для того, что бы она ПРОСТО поработала. У меня нет слов.

Из дискуссии выбываю.

+

Пишу мультивалютный эксперт с необходимостью синхронизации инструментов и столкнулся с такими проблемами, что волосья дыбом везде шевелятся.

На данный момент вынужден констатировать - надежного способа получить рыночные данные и при этом четко знать, что данные актуальны, просто невозможно.

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

SERIES_SYNCHRONIZED

не дают НИКАКИХ ГАРАНТИЙ.

 
A100:

Неоднозначный результат

В одном случае результат: 10, а в другом: не 10. А в чём разница?

Спасибо за сообщение, проверим/поправим.
Кстати, в MSVC результат обратный.
 

А знает ли кто нибудь, что SymbolsTotal(true) и его производные показывают инфу вовсе не из "Обзор рынка"?

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

 

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

Список изменений в билдах MetaTrader 5 Client Terminal

kogriv, 2015.07.18 10:44

Подскажите- как быть. Был файл - скрипт на mql5, последние изменения были в марте 15-го года. После марта не трогал файл и метаэдитор долгое время. На днях запустил метатрэйдер, было сделано обновление и вместе с этим файл скрипта (исходник) каким то образом сбился на более раннюю версию. При этом исполняемый файл остался в последней версии. Как то можно восстановить исходник?

 

Для сохранения разных версий надо использовать MQL5 Storage.

Скорее всего речь о модификации файлов из штатного набора скриптов терминала. Они всегда перезаписываются при обновлениях, так что не надо их самостоятельно модифицировать. Нужно сделать копию под другим именем и уже ее править.

 
Renat Fatkhullin:

Для сохранения разных версий надо использовать MQL5 Storage.

Скорее всего речь о модификации файлов из штатного набора скриптов терминала. Они всегда перезаписываются при обновлениях, так что не надо их самостоятельно модифицировать. Нужно сделать копию под другим именем и уже ее править.

Нет. Файл изменялся не из стандартной поставки, и MQL5 Storage не использовался. Вероятно пользователь вошёл в другую папку "Data Folder" - по крайней мере это пока самая жизнеспособная версия.
 

В ## нельзя использовать 1-ой цифру

#define MACRO( x, y )   x##y
void OnStart()
{
        int i = MACRO( 1, 5 );
        Print( i );
}
 
 

Нельзя опустить параметр макро в определенной комбинации

#define MACRO1( x )             void x() { Print( __FUNCTION__ ); }
#define MACRO2( prefix, function )      MACRO1( prefix##function )
#define MACRO3(         function )      MACRO2(         h2, function )
#define MACRO4(         function )      MACRO2( /*опущен*/, function )
//---
   void f1() { Print( __FUNCTION__ ); }
MACRO3( f2 )          //нормально
MACRO4( f2 )          //Ошибка: argument expected for the function-like macro
//---
void OnStart()
{
        MACRO( /*опущен*/, f1 ); //нормально
        h2f2();
        f2();                   
}