
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Color = (color)((Color & 0xFFFFFF) + (Alpha << 24));
_W(Color)[3] = Alpha;
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
fxsaber, 2017.03.07 13:55
template <typename T>
void Swap( T &Value1, T &Value2 )
{
const T Tmp = Value1;
Value1 = Value2;
Value2 = Tmp;
}
// Сортировка массива любого простого типа
template <typename T>
bool MyArraySort( T &Array[] )
{
if (!ArraySort(Array))
{
const int Size = ArraySize(Array);
for (int i = 0; i < Size - 1; i++)
{
const T Tmp = Array[i];
for (int j = i + 1; j < Size; j++)
if (_R(Tmp) == Array[j]) // TypeToBytes.mqh
{
Swap(Array[i + 1], Array[j]);
i++;
}
}
}
return(true);
}
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: File Mapping без DLL
fxsaber, 2017.04.03 16:07
Спасибо автору за библиотеку!
Сварганил функции для передачи любых данных. Ниже скрипт показывает их работу на примере тиков
Результат
Пример возможного практического применения нововведений.
Выделенное - один и тот же результат сильно разными способами
Пример того, как данная возможность может быть полезна для выявления потенциальных ошибок.
Пишем и запускаем скрипт.
Результат.
_WRONG_ASSIGN_OPERATOR(STRUCT) = true
Это говорит о том, что оператор присваивания не будет копировать структуру в структуру этого же типа.
Если в структуру добавить еще,
то результат будет тот же.
Казалось бы, исправив этот оператор на
должно все стать корректным, но библиотека говорит об обратном.
Пожалуй, здесь самый тонкий момент данного примера.
Исправляем на
и получаем результат
_WRONG_ASSIGN_OPERATOR(STRUCT) = false
Вот теперь оператор копирования написан корректно!
Подобным образом можно проверять корректность операторов присваивания/копирования любых простых структур.
Результат
NULL-строка имеет нулевую длину в байтах. Пустая - длина 1 байт (там ноль - конец строки).