Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ладно в нетбуках выбора нема, все на атомах почти. Но настольное-то железо зачем на атоме брать? Оно что, на порядки дешевле самого дешевого современного селерона? Или экономия электричества сильно большая? Так экономия эта выходит боком, расшатанными нервами и отрицательными эмоциями
Ну, у A230 TDP - 3W, у самого чахлого целерона - 25.
И в течении 4+ лет его (Atom 230) хватало для тех задач, для которых он брался.
Грабли начались именно (и только) с переходом на MT b600+. Те же MT, в том же количестве, с теми же советниками, но более старых версий, чуствовали себя отлично.
Не работает событие удаления объекта!
код из справки https://docs.mql4.com/ru/constants/chartconstants/enum_chartevents
добавил в инициализацию включение событий на создание и удаление объектов.
#define KEY_NUMPAD_5 12
#define KEY_LEFT 37
#define KEY_UP 38
#define KEY_RIGHT 39
#define KEY_DOWN 40
#define KEY_NUMLOCK_DOWN 98
#define KEY_NUMLOCK_LEFT 100
#define KEY_NUMLOCK_5 101
#define KEY_NUMLOCK_RIGHT 102
#define KEY_NUMLOCK_UP 104
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//--- включим события создания/удаления объекта с графика
ChartSetInteger(0,CHART_EVENT_OBJECT_CREATE,true);
ChartSetInteger(0,CHART_EVENT_OBJECT_DELETE,true);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, // идентификатор события
const long& lparam, // параметр события типа long
const double& dparam, // параметр события типа double
const string& sparam) // параметр события типа string
{
//--- нажатие левой кнопкой мышки на графике
if(id==CHARTEVENT_CLICK)
{
Print("Координаты щелчка мышки на графике: x = ",lparam," y = ",dparam);
}
//--- нажатие мышкой на графическом объекте
if(id==CHARTEVENT_OBJECT_CLICK)
{
Print("Нажатие кнопки мышки на объекте с именем '"+sparam+"'");
}
//--- нажатие кнопки на клавиатуре
if(id==CHARTEVENT_KEYDOWN)
{
switch(int(lparam))
{
case KEY_NUMLOCK_LEFT: Print("Нажата KEY_NUMLOCK_LEFT"); break;
case KEY_LEFT: Print("Нажата KEY_LEFT"); break;
case KEY_NUMLOCK_UP: Print("Нажата KEY_NUMLOCK_UP"); break;
case KEY_UP: Print("Нажата KEY_UP"); break;
case KEY_NUMLOCK_RIGHT: Print("Нажата KEY_NUMLOCK_RIGHT"); break;
case KEY_RIGHT: Print("Нажата KEY_RIGHT"); break;
case KEY_NUMLOCK_DOWN: Print("Нажата KEY_NUMLOCK_DOWN"); break;
case KEY_DOWN: Print("Нажата KEY_DOWN"); break;
case KEY_NUMPAD_5: Print("Нажата KEY_NUMPAD_5"); break;
case KEY_NUMLOCK_5: Print("Нажата KEY_NUMLOCK_5"); break;
default: Print("Нажата какая-то неперечисленная клавиша");
}
ChartRedraw();
}
//--- удален объект
if(id==CHARTEVENT_OBJECT_DELETE)
{
Print("Удален объект с именем ",sparam);
}
//--- создан объект
if(id==CHARTEVENT_OBJECT_CREATE)
{
Print("Создан объект с именем ",sparam);
}
//--- перемещен объект или изменены координаты точек привязки
if(id==CHARTEVENT_OBJECT_DRAG)
{
Print("Изменение точек привязки объекта с именем ",sparam);
}
//--- изменен текст в поле ввода графического объекта Edit
if(id==CHARTEVENT_OBJECT_ENDEDIT)
{
Print("Изменен текст в объекте Edit ",sparam);
}
}
Не работает событие удаления объекта!
код из справки https://docs.mql4.com/ru/constants/chartconstants/enum_chartevents
добавил в инициализацию включение событий на создание и удаление объектов.
Инициализацию строковых статических массивов тоже исправите?
А что с ними не так?
Инициализацию строковых статических массивов тоже исправите?
не успел...
А что с ними не так?
не успел...
https://www.mql5.com/ru/forum/149655/page45#915648
Интересный вопрос. В документации по HttpOpenRequest function сказано, что все параметры-строки должны быть null-terminated strings.
Безопасно ли передавать в HttpOpenRequestW строки, если они не гарантированно null-terminated?
А почему после закрытия графика он продолжает находиться функцией WindowHandle?
-------
Вопрос снят. Всё нормально работает.
Обнаружил очень странное поведение советника в 610-ке.
Есть советник (прилагается), использующий строковые глобальные переменные советника: имя индикатора и подпапки, где он находится.
При смене тайм-фрейма графика, к которому прикреплен советник, значения folder_hist и hist_name теряются. Если же в функции init() повторить присваивание
то при смене тайм-фрейма все работает штатно.