![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сожалею, что мой пост вызвал у Вас такую реакцию. Но я никогда не опускаюсь до личных и поспешных оценок, тем более - не сделав никаких мозговых усилий.)
у вас неформализован вопрос, какие усилия, бог мой..
про свежую голову - это нормальный совет. Попробуйте отдохнуть и с той-же проблемой обратится в понедельник. Держу пари - её просто не будет
Зачем в поставке МТ4 старый Canvas.mqh? Какие-то коды под него заточены?
Зачем в поставке МТ4 старый Canvas.mqh? Какие-то коды под него заточены?
После обновления MT4 всегда копирую все файлы (с заменой) из MQL5\Include в MQL4\Include.
Не уверен, что такое поведение можно считать нормальным.
Есть две ulong переменные, в которых хранится текущее значение миллисекундного таймлера и когда следует инициировать некоторое действие.
Понятно, что с некоторой периодичностью они сравниваются и иногда срабатывает условие и действие инциируется.)
Как известно забывчивость в приведение типов и правил операций нередко приводит к ошибкам, так как ожидаемый результат отличается от фактического (простейший случай с int/int я думаю встретился каждому).
Вот фрагмент кода:
ulong temp=GetMicrosecondCount();
long Next=(long)CheckMasterTask.CheckPoint;
Panel21.SetText(12,"CheckPoint:"+string(Next)+" Current:"+string(temp),clrWhite,2000000,true);
long z=(long)(Next-temp);
Panel21.SetText(13,"Delta:"+string(z),clrYellow,2000000,true);
Panel21.SetText(14,"current (&long):"+string(temp)+" delta: "+(string)((long)(Next-temp)),clrWhite,2000000,true);
Panel21.SetText(15,"current:"+string(temp)+" delta: "+(string)(Next-temp),clrWhite,2000000,true);
Panel21.SetText(16,"current:"+string(temp)+" delta: "+(string)(z),clrWhite,2000000,true);
Кто-то может мне объяснить - почему получаем неверный результат при (string)(long-ulong)? Т.е требуется писать (string)((long)(log-ulong))? Что-то не то, имхо.
PS. Ответ оказался прост: ИЕРАРХИЯ ТИПОВ рулит
bool,char,short-int-unsigned int-long-unsigned long-float-double-long double
Так и есть. И по мне правильно явное приведение типов к одному в выражении. Код длиннее, но ошибок меньше.
Очевидная истина)
Особенно, если учесть, что многие функции возвращают беззнаковое значение, чей приритет выше...
И к "классической" ошибке 1/3=0 добавляется (если как в моем примере явно не указывать приведение типов) получение MAX_INT или MAX_LONG-(ожидаемое значение).)
Ниже воспроизводимый код, где умиление вызывает факт, что правильный результат получен в результате перевода в стринг)
2021.11.23 12:45:50.402 ulong EURUSDc,M1: delta(&long)4294966796
2021.11.23 12:45:50.402 ulong EURUSDc,M1: delta(&int)-500
2021.11.23 12:45:50.402 ulong EURUSDc,M1: temp (long):4294966796
2021.11.23 12:45:50.402 ulong EURUSDc,M1: iNext :222
2021.11.23 12:45:50.402 ulong EURUSDc,M1: Current :722
После обновления MT4 всегда копирую все файлы (с заменой) из MQL5\Include в MQL4\Include.
в дорогом винраре, можно задать схемы, а именно дату в разном форматке, и потом удобно копировать, сохранять
Очевидная истина)
Особенно, если учесть, что многие функции возвращают беззнаковое значение, чей приритет выше...
И к "классической" ошибке 1/3=0 добавляется (если как в моем примере явно не указывать приведение типов) получение MAX_INT или MAX_LONG-(ожидаемое значение).)
Ниже воспроизводимый код, где умиление вызывает факт, что правильный результат получен в результате перевода в стринг)
После пары часов (дней) упражнений инт лонг и их положительные собратья в стринг и обратно оставил только инт в стринг и обратно. С остальными типами нужно следить за значениями переменных. С целыми проще. Экономия памяти как бы для меня больше искусственная задача. Может конечно мои запросы пока малы.
С удивлением обнаружил, что WebRequest отработал в тестере стратегий.
Странно, что справку не подправили...
С удивлением обнаружил, что WebRequest отработал в тестере стратегий.
Странно, что справку не подправили...