Alexander / Публикации
Коды
AdoSuite v 1.0 для MetaTrader 5
Набор классов для работы с базами данных через интерфейсы ODBC и OLE DB
NormalizePrice для MetaTrader 4
Функция приведения цены к корректному для данного символа виду путем округления или отбрасыванием остатка
LotsRisk для MetaTrader 4
Высчитывание количества лотов с учетом возможного убытка. Максимальная сумма убытка указывается в процентах от текущего баланса
Cтатьи
Практическое применение баз данных для анализа рынков для MetaTrader 5
Работа с данными стала главной задачей современного программного обеспечения, как автономных, так и сетевых прикладных программ. Для ее решения было создано специализированное программное обеспечение - системы управления базами данных (СУБД), которые позволяют структурировать, систематизировать и
МetaTrader 5. Экспорт котировок в .NET приложение, используя WCF сервисы для MetaTrader 5
Вам необходимо организовать трансляцию котировок из MetaTrader 5 в собственное приложение? Связка MQL5-DLL позволяет создавать подобные решения. В статье продемонстрирован один из способов трансляции котировок из MetaTrader 5 в приложения, написанные на .NET. Мне было рациональнее, интереснее и
Форум
Нестандартный таймфрейм
Добрый вечер. Глупый вопрос конечно, но можно испоользовать нестандартные таймфреймы для снятия показаний с графика например для функции iCustom использовать таймфрейм PERIOD_M5 + 60
Аналог iBarShift
Я упустил из виду функциональность, аналогичную iBarShift для МТ4. Подскажите как это сделать? И насколько я понимаю вместо Time[10] нужно использовать CopyTime
Передача массива string в dll по ссылке
Пытался так // --------------------------------------------------------------- _DLLAPI void __stdcall PassStringArray1( wchar_t ** arr, int size) { for ( int i = 0 ; i < size; i++) arr[i] = L "Hello!" ; } // ---------------------------------------------------------------
Компилятор: static or extern declaration without type
class c1 { c2* _C2; }; class c2 { c1* _C1; }; Выскакивает ошибка компилятора, т.к на момент определения переменной _C2 компилятор не знает про класс c2. Можно ли это как-то обойти
Виртуальные функции. Проблема
Есть 4 класса //+------------------------------------------------------------------+ class Food { public : string Type() { return "Food" ; } }; //+------------------------------------------------------------------+ class FastFood { public : virtual Food* GetFood() { return new Food(); } };
Компилятор: ambiguous call to overloaded function with the same parameters между bool и char
class TestClass { public : void SetValue( const bool val) {} void SetValue( const char val) {} }; //+------------------------------------------------------------------+ void OnStart() { TestClass c; c.SetValue( true ); } 'SetValue' - ambiguous call to overloaded function with the same
Компилятор: Initialization a variable is skipped by 'case' label
Наткнулся вот на такую штуку: int p = 0 ; switch (p) { case 0 : MqlDateTime mdt; TimeCurrent (mdt); break ; } ' MqlDateTime ' - initialization a variable is skipped by 'case' label 'mdt' - undeclared identifier TestPassStr.mq5 'mdt' - parameter conversion is not allowed Если
Ошибка "initialize sequence expected" в последнем билде
Добрый день, Сегодня, обновив терминал до 250 билда, обнаружил, что кое-какие мои файлы не компилируются. Локализовав место ошибки, набросал тестовый примерчик. #include <Arrays\List.mqh> //+------------------------------------------------------------------+ class CTest : CObject { protected
СObject::Compare, сравнение типов и call non-const method for const object
Наследуюсь от CObject и переопределяю метод Compare int CAdoValue::Compare( const CObject* node, int mode = 0 ) { if (node.Type() != this .Type()) return 0 ; } Получаю ошибку компиляции 'Type' - call non-const method for const object То есть я хочу убедиться, что сравниваемые объекты имеют
Ошибка: не удаляются временные глобальные переменные
Иногда при крешах терминала не удаляются временные глобальные переменные . Можно ли при запуске терминала сделать проверку и почистить лишнее