я к тому лишь, что когда внуки, то поздновато учить язык с нуля...
Да, Вы правы, Роман, поздновато.
А Вы знаете почему после 45 лет неохотно принимают людей на работу? Ответ одного инспектора по кадрам меня просто поразил - в этом возрасте люди плохо обучаемы и не стремятся к саморазвитию, а нам нужны молодые и амбициозные работники!!! Надеюсь теперь будет понятно, почему решил заняться самообучением. Если не понятно, то скажу прямо - чтобы доказать самому себе, что для саморазвития (самообучения) все возрасты покорны.
чтобы научиться MQL "c нуля", стоит сначала исправить 0 на что-то большее.
например взять какой-нить (универсальный из main-stream) C# и имея тьму учебников начать делать себе "полезняшки" - формы с рассчётами например. С++ наверное не стоит учить, потому что 1)большинство авторов учебников заморачиваются в шаблоны и мета-программирование, а не в практические задачи. 2) требуются серьёзный ИТ-шный бек-граунд
Как только 0 перестанет быль нулём, переехать на прикладной MQL будет легко. Он простой.
А вообще было-бы желание и упорство.
Да, Максим, полностью с Вами согласен. Ваше мнение о том, как лучше построить самообучение, тоже учту.
А Вы знаете почему после 45 лет неохотно принимают людей на работу? Ответ одного инспектора по кадрам меня просто поразил - в этом возрасте люди плохо обучаемы и не стремятся к саморазвитию, а нам нужны молодые и амбициозные работники!!! Надеюсь теперь будет понятно, почему решил заняться самообучением. Если не понятно, то скажу прямо - чтобы доказать самому себе, что для саморазвития (самообучения) все возрасты покорны.
С уважением, Владимир.
Никогда ничего не поздно)))) И это лучше чем только судоку))))
Ещё как вариант, найдите в интернете курс от центра обучения Специалист при МГТУ Поиском по "Специалист. Программирование на языке C (СИ)" На трекерах он есть. Именно этого преподавателя с таким голосом.
Вот первое занятие. Естественно синтаксис языка Си отличается от Mql, но база для понимания, одинаковая.
А Вы знаете почему после 45 лет неохотно принимают людей на работу? Ответ одного инспектора по кадрам меня просто поразил - в этом возрасте люди плохо обучаемы и не стремятся к саморазвитию, а нам нужны молодые и амбициозные работники!!! Надеюсь теперь будет понятно, почему решил заняться самообучением. Если не понятно, то скажу прямо - чтобы доказать самому себе, что для саморазвития (самообучения) все возрасты покорны.
С уважением, Владимир.
Питница))) Не удержался))) С выделенным Вами подходом - огород, кино и домино. Сам не молод уже, но... Правильные мысли - это: "хорошая кадровичка - это голая кадровичка в твоей постели"))) Не в обиду работникам ОК, или, как сейчас по модному, ОУП (вдруг здесь есть они), а чисто ради мотивашки тем, кому за.
Vladimir Simakov: Питница))) Не удержался))) С выделенным Вами подходом - огород, кино и домино. Сам не молод уже, но... Правильные мысли - это: "хорошая кадровичка - это голая кадровичка в твоей постели"))) Не в обиду работникам ОК, или, как сейчас по модному, ОУП (вдруг здесь есть они), а чисто ради мотивашки тем, кому за.
Отдел кадров гораздо правильнее управления персонами)))) Голая... и в моей постели....... да нафига.............)
Сегодня была бессоная ночь, но она стоила того. Впервые, без подсказок, самостоятельно написал малюсенький скрипт, используя только Справочник MQL5. Это был, пожалуй, самый трудный первый шаг в самообучении. В данном скрипте постарался всё расписать, как ранее и обещал, в доступном изложении для ученика 1-го класса школы программирования.
С уважением, Владимир.
//+------------------------------------------------------------------+//| New2.mq5 |//| Copyright 2020, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2020, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"/* Создадим горизонтальную линию на текущем графике в главном окне терминала MetaTrader 5.
Что для этого нужно сделать? Воспользуемся информацией имеющейся в Справочнике MQL5.
Для этого заходим в Справочник MQL5 и в левой его части во вкладке "Содержание"
находим раздел "Графические объекты". Открываем этот раздел и переходим в подраздел
ObjectCreate, что в переводе с английского означает "Создание объекта".
В этом подразделе внимательно читаем: "ObjectCreate создает объект с указанным именем,
типом и начальными координатами в указанном подокне графика. При создании можно указать
до 30 координат". Всё это старемся запомнить, ну а если забудем, то снова откроем
Справочник MQL5 и освежим память.
//+------------------------------------------------------------------+
bool ObjectCreate(
long chart_id, // идентификатор графика
string name, // имя объекта
ENUM_OBJECT type, // тип объекта
int sub_window, // индекс окна
datetime time1, // время первой точки привязки
double price1, // цена первой точки привязки
...
datetime timeN=0, // время N-ой точки привязки
double priceN=0, // цена N-ой точки привязки
...
datetime time30=0, // время 30-й точки привязки
double price30=0 // цена 30-точки привязки
);
Параметры:
chart_id - Идентификатор графика. "0" означает текущий график.
name - Имя объекта. Имя должно быть уникальным в пределах одного графика, включая его подокна.
type - Тип объекта. Значение может быть одним из значений перечисления ENUM_OBJECT.
sub_window - Номер подокна графика. "0" означает главное окно графика. Указанное подокно должно существовать,
в противном случае функция возвращает false.
time1 - ВременнАя координата первой привязки.
price1 - Ценовая координата первой точки привязки.
Это обязательный параметр, т.к. фактически используется только координата по оси цены.
timeN=0 - ВременнАя координата N-ой точки привязки.
priceN=0 - Ценовая координата N-ой точки привязки.
*
*
*
time30=0 - ВременнАя координата тридцатой точки привязки.
price30=0 - Ценовая координата тридцатой точки привязки.
//+------------------------------------------------------------------+
Прочитали? Отлично! Теперь в теле скрипта после "void OnStart() {" начинаем заполнять код и периодически
нажимать на панели редактора MetaEditor на значок в виде "Расчески", чтобы стилизировать наш исходный код.
*/// ПИШЕМ КОД СКРИПТА//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---ObjectCreate(0,"Моя_линия_1",OBJ_HLINE,0,0,SymbolInfoDouble(Symbol(),SYMBOL_BIDHIGH),0,0);
}
//+------------------------------------------------------------------+/* Теперь расшифруем, что именно мы создали в программном коде скрипта.
1. Сначала написали ObjectCreate, потому что хотим создать графический объект.
2. Далее в скобках мы написали "0", т.к. в параметрах требуется указать "chart_id", т.е. идентификатор графика.
Цифра "0" означает, что хотим создать линию на текущем графике.
3. Затем мы указали уникальное имя объекта "name", а именно "Моя_линия_1".
4. После этого мы должны были указать "type", т.е. "тип объекта".
Вот тут сразу возникает вопрос, а где же его взять? Для этого необходимо сделать небольшое отступление и пояснить.
Смотрим в описании параметров и видим, что "тип объекта" может быть одним из значений перечисления ENUM_OBJECT.
Предлагаю сразу разбраться, что же это такое ENUM_OBJECT? В переводе с английского ENUM (сокращенное от enumerate)
означает перечислить, а OBJECT - объект, т.е. перечислить объекты. Запоминаем это!
Снова открываем Справочник MQL5. В левой части справочника во вкладке "Указатель" есть поле "Введите ключевое слово для поиска:".
В это поле записываем ENUM_OBJECT. Как только мы его запишем, так сразу внизу под этим полем увидим большой перечень
значений. Нас интересует самое верхнее с синим выделением. Кликаем по нему мышкой два раза или в самом низу нажимаем
на кнопку "Вывести". С правой стороны справочника появится такой же большой перечень "Типы объектов".
Это как раз то, что нам нужно. Раз мы решили создать на графике горизонтальную линию, то нам нужно выбрать
OBJ_HLINE. Давайте ещё раз поупражняемся с английским языком. OBJ - это сокращение
от английского слова OBJECT, т.е объект, а HLINE состоит из двух частей H - horizontal, т.е. горизонтальный
и LINE, т.е. линия. Теперь соберем всё вместе и получится, что OBJ_HLINE ни что иное, как "объект горизонтальная линия".
Копируем OBJ_HLINE и вставляем в наш код.
5. Двигаемся дальше. Согласно описания мы должны были вставить "sub_window" - номер подокна графика.
Цифра "0" означает, что мы размещаем эту линию в главном окне графика. Вставляем!
6. Следующий параметр - это "time1", т.е. временнАя координата первой привязки нашей линии. Так как мы не планировали
привязываться к определенным координатам времени, поэтому тоже ставим "0".
7. Переходим к "price1", т.е. к ценовой координате первой точки привязки.
Тут тоже нужны некоторые пояснения. Чтобы привязать нашу горизонтальную линию к ценовой координате, сначала необходимо
получить эту цену, т.е. запросить рыночную информацию. Снова обращаемся к Справочнику MQL5 и во вкладке "Содержание"
находим раздел "Получение рыночной информации". Открываем его и переходим в подраздел SymbolInfoDouble. Давайте тоже
переведем его значение на русский язык. Получится "информация о символе Double". Double на языке программирования MQL5
означает, что информация о символе представлена в виде значения, имеющего дробную часть, например, 1,12569 или 0,9875 и т.п.
Запоминаем это!
Согласно справочной информации для SymbolInfoDouble мы должны указать символ и идентификатор свойства. Символ текущего
графика на языке программирования MQL5 пишется, как Symbol(). Индентификатор свойства символа также берем из справочника
в подразделе ENUM_SYMBOL_INFO_DOUBLE (дословно переводится, как перечисление свойств символа, имеющего дробную часть).
Возьмем, например, значение SYMBOL_BIDHIGH (что переводится, как максимальный Bid за день).
8. Для time2 (время 2-ой точки привязки) и price2 (цена 2-ой точки привязки) указываем значения, равные "0".
9. Вот теперь всё готово, чтобы провести компиляцию скрипта и запустить его в главном окне терминала MetaTrader 5.
Нажимаем кнопку "Компилировать" и если у нас нет ошибок, тогда переходим к торговому терминалу. Для этого либо нажимаем
на клавиатуре клавишу F4, либо кликаем мышкой на верхней панели редактора MetaEditor значок "Вызов торгового терминала"
в виде двух синеньких квадратиков с красной ломаной линией.
10.На торговом терминале у нас уже должен быть запущен "Навигатор". Если он ещё отсутствует, тогда его нужно открыть.
Делается это легко: ищем на торговом терминале кнопку "Вид", нажимаем на неё и в открывшемся новом окне выбираем
строку с названием "Навигатор". Есть ещё один вариант - одновременно нажать на клавиатуре клавишу Ctrl и клавишу N.
Оказавшись в "Навигаторе", открываем папку "Скрипты" и находим в ней наш скрипт с названием New2. Остается только мышкой
зацепить этот скрипт и перенести на главное окно торгового терминала, чтобы увидеть результат.
*/
я к тому лишь, что когда внуки, то поздновато учить язык с нуля...
Да, Вы правы, Роман, поздновато.
А Вы знаете почему после 45 лет неохотно принимают людей на работу? Ответ одного инспектора по кадрам меня просто поразил - в этом возрасте люди плохо обучаемы и не стремятся к саморазвитию, а нам нужны молодые и амбициозные работники!!! Надеюсь теперь будет понятно, почему решил заняться самообучением. Если не понятно, то скажу прямо - чтобы доказать самому себе, что для саморазвития (самообучения) все возрасты покорны.
С уважением, Владимир.
чтобы научиться MQL "c нуля", стоит сначала исправить 0 на что-то большее.
например взять какой-нить (универсальный из main-stream) C# и имея тьму учебников начать делать себе "полезняшки" - формы с рассчётами например.
С++ наверное не стоит учить, потому что 1)большинство авторов учебников заморачиваются в шаблоны и мета-программирование, а не в практические задачи.
2) требуются серьёзный ИТ-шный бек-граунд
Как только 0 перестанет быль нулём, переехать на прикладной MQL будет легко. Он простой.
А вообще было-бы желание и упорство.
Да, Максим, полностью с Вами согласен. Ваше мнение о том, как лучше построить самообучение, тоже учту.
С уважением, Владимир.
Да, Вы правы, Роман, поздновато.
А Вы знаете почему после 45 лет неохотно принимают людей на работу? Ответ одного инспектора по кадрам меня просто поразил - в этом возрасте люди плохо обучаемы и не стремятся к саморазвитию, а нам нужны молодые и амбициозные работники!!! Надеюсь теперь будет понятно, почему решил заняться самообучением. Если не понятно, то скажу прямо - чтобы доказать самому себе, что для саморазвития (самообучения) все возрасты покорны.
С уважением, Владимир.
Никогда ничего не поздно)))) И это лучше чем только судоку))))
Ещё как вариант, найдите в интернете курс от центра обучения Специалист при МГТУ
Поиском по "Специалист. Программирование на языке C (СИ)"
На трекерах он есть. Именно этого преподавателя с таким голосом.
Вот первое занятие.
Естественно синтаксис языка Си отличается от Mql, но база для понимания, одинаковая.
Согласен, Валерий, но вопрос был задан про i++ и ++i. Ещё и двойку за это получил. Пока не понятно. Грустно как-то.
С уважением, Владимир.
Давайте попробую я ))) На мой взгляд ++ очень прост.
Есть переменная а. Есть переменная i = 1.
а = ++i это тоже самое что и i = i + 1; а потом a = i; // в итоге а = 2, i = 2
a = i++ это тоже самое что и a = i; а потом i = i + 1; // в итоге a = 1, i = 2
Давайте попробую я ))) На мой взгляд ++ очень прост.
Есть переменная а. Есть переменная i = 1.
а = ++i это тоже самое что и i = i + 1; а потом a = i; // в итоге а = 2, i = 2
a = i++ это тоже самое что и a = i; а потом i = i + 1; // в итоге a = 1, i = 2
Здравствуйте, Сергей!
Вот тут-то и было не допонимание с моей стороны, так как вопрос был задан: "в чём отличие i++ от ++i". Спасибо Вам за разъяснение.
С уважением, Владимир.
Да, Вы правы, Роман, поздновато.
А Вы знаете почему после 45 лет неохотно принимают людей на работу? Ответ одного инспектора по кадрам меня просто поразил - в этом возрасте люди плохо обучаемы и не стремятся к саморазвитию, а нам нужны молодые и амбициозные работники!!! Надеюсь теперь будет понятно, почему решил заняться самообучением. Если не понятно, то скажу прямо - чтобы доказать самому себе, что для саморазвития (самообучения) все возрасты покорны.
С уважением, Владимир.
Питница))) Не удержался))) С выделенным Вами подходом - огород, кино и домино. Сам не молод уже, но... Правильные мысли - это: "хорошая кадровичка - это голая кадровичка в твоей постели"))) Не в обиду работникам ОК, или, как сейчас по модному, ОУП (вдруг здесь есть они), а чисто ради мотивашки тем, кому за.
Отдел кадров гораздо правильнее управления персонами)))) Голая... и в моей постели....... да нафига.............)
Всем доброго дня и хорошего настроения!
Сегодня была бессоная ночь, но она стоила того. Впервые, без подсказок, самостоятельно написал малюсенький скрипт, используя только Справочник MQL5. Это был, пожалуй, самый трудный первый шаг в самообучении. В данном скрипте постарался всё расписать, как ранее и обещал, в доступном изложении для ученика 1-го класса школы программирования.
С уважением, Владимир.
Вот с Трендовой линией, наверное будет посложней ?
Наверное.
С уважением, Владимир.