Перейти к содержанию

Обучение языку MQL4 под MetaTrader 4


Рекомендуемые сообщения

  • Ответов 6,8k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Смотрим видео-уроки, изучаем MQL:       Скачать видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт»   P.S. Тема про Обучение MQ

Перейти

Циклы цикл for Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. К примеру, мы хотим проанализировать последние 10 баров и выяснить наименьшую цен

Перейти

Речь идет о том, что не будет значимых нововведений. А только баги периодически будут править. А вот все новое мол - в МТ5. Когда они вживую сказали то же самое на конференции в Москве, я уточнил: "То

Перейти
Обучение языку MQL4 под MetaTrader 4 Опубликовано


перезагрузи историю может!!! и проверь период по которому тв тестишь!!!!


Добавлено: 07-10-2013 18:52:49

Народ а кто подскажет как получить дистанцию в пипах ну допустим от iOpen до iClose???

Какую историю? Другие советники тестируются.
Или ты хочешь сказать, что у тебя тоже протестировался мой файлик?
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Добрый день. Проблема вот в чем:
Второй урок по циклам, и написание советника, который в 10 утра открывает 2 отложки.

Писал всё как было по курсу, скомпилирол без ошибок, но в тестере стратегий советник не запускается, вообще, никак, во время визуализации вообще график не двигается:(

Скажите в чем может быть проблема?



Привет!
Есть описка, в функции GetMaxPrice(), в этой строчке:
for(int i=1; 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Привет!
Есть описка, в функции GetMaxPrice(), в этой строчке:


Спасибо, сам бы очень маловероятно что нашел)))))
ты в ручную нашел или магией владеешь?)
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


elruso, шрифтами не балуйтесь...
Попробуйте выделиться умом! :)
Удачи!



Старик! Да это ты правильно заметил ! Одни умники здесь сидят и молчат вот такие как ты!!! а которые хотят подучиться здесь время теряют!!! Лучше у Google спросить больше толку! А насчёт расстояния в пипах я уже нашёл способ если кого интересует я расскажу как!!! А то здесь одни умники а рот открывают только в пустую!

Добавлено: 07-10-2013 20:46:40



Привет!
Есть описка, в функции GetMaxPrice(), в этой строчке:


Спасибо, сам бы очень маловероятно что нашел)))))
ты в ручную нашел или магией владеешь?)


а разве есть ошибка в строчке for(......
я виже вот здесь double dMax = 0, Изменено пользователем elruso
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


а разве есть ошибка в строчке for(......
я виже вот здесь double dMax = 0,



ошибка была именно там.
а где Вы написали, там всё верно, ведь в цикле dMax получает сразу значение первого бара, тк 0 в любом случае будет меньше, чем значение бара.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



elruso, шрифтами не балуйтесь...
Попробуйте выделиться умом! :)
Удачи!



Старик! Да это ты правильно заметил ! Одни умники здесь сидят и молчат вот такие как ты!!! а которые хотят подучиться здесь время теряют!!! Лучше у Google спросить больше толку! А насчёт расстояния в пипах я уже нашёл способ если кого интересует я расскажу как!!! А то здесь одни умники а рот открывают только в пустую!


Тихо, юноша, тихо. Уже ж сказали - не надо большими буквами кричать.
Тыкать тоже не обязательно, когда к вам на вы обращались.

Что касается помощи, то мало у кого есть время и силы в чужих кодах ковыряться.
Программы чаще всего пишутся в одиночестве и помощи ждать неоткуда.
Привыкайте с первого дня работать в изоляции и будьте готовы к тому, что есть, может, 1% шанс, что вы будете более-менее пристойно писать простых ботов.
Научиться серьезно программировать намного сложнее, чем кажется.
  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Спасибо, сам бы очень маловероятно что нашел)))))
ты в ручную нашел или магией владеешь?)


:)
У меня цифры подсвечены красным, найти было легко. (в редакторе: Сервис \ Параметры \ Цвета - на свой вкус...)
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано




elruso, шрифтами не балуйтесь...
Попробуйте выделиться умом! :)
Удачи!



Старик! Да это ты правильно заметил ! Одни умники здесь сидят и молчат вот такие как ты!!! а которые хотят подучиться здесь время теряют!!! Лучше у Google спросить больше толку! А насчёт расстояния в пипах я уже нашёл способ если кого интересует я расскажу как!!! А то здесь одни умники а рот открывают только в пустую!


Тихо, юноша, тихо. Уже ж сказали - не надо большими буквами кричать.
Тыкать тоже не обязательно, когда к вам на вы обращались.

Что касается помощи, то мало у кого есть время и силы в чужих кодах ковыряться.
Программы чаще всего пишутся в одиночестве и помощи ждать неоткуда.
Привыкайте с первого дня работать в изоляции и будьте готовы к тому, что есть, может, 1% шанс, что вы будете более-менее пристойно писать простых ботов.
Научиться серьезно программировать намного сложнее, чем кажется.


Извините Старик буду на Вы!!! Я не просил в моём коде ковыряться! я просто спросил потому-что ковыряюсь в документации и не нахожу а Вы меня оскорбили!!! я думал эта ветка для этого предназначена!
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
elruso, расслабьтесь. Никто вас не оскорбляет.
Просто писать на форуме гигантскими буквами - это примерно то же, что громко кричать в комнате, где люди спокойно разговаривают.
Я вам всего лишь предложил на кричать большими буквами, а изъясняться обычными.

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


elruso, расслабьтесь. Никто вас не оскорбляет.
Просто писать на форуме гигантскими буквами - это примерно то же, что громко кричать в комнате, где люди спокойно разговаривают.
Я вам всего лишь предложил на кричать большими буквами, а изъясняться обычными.




Ладно Старик давай!!! Я не знал что большие буквы здесь у вас означают крик!!!! Я просто знаю что умные люди они тоже слеповаты поэтому решил попробовать побольше шрифт!!! Вот видите Вы сразу увидели и ответили хаха!!! :d
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Всем привет!

Что за паника?
Я не сижу за компьютером 24 часа в сутки, elruso - это форум, это не скайп! :)

Проблема в том, что до Вас немного не доходит что Вы тут пишите...
Почему Print(i) ? Вы упорно продолжаете печатать в журнале переменную счетчика циклов, либо повторно обращаться к рандому...

Конечно Random выдаст инфу из без массива, но ведь задача состоит в том, чтобы научиться работать именно с массивом. Т.е. как его заполнять данными и как их оттуда извлекать...
В этом состоит суть урока.

Подумайте ещё... ;)
И пересмотрите ещё раз внимательно урок, ведь там есть ответы на Ваши вопросы.

Изменено пользователем xbms
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Всем привет!

Что за паника?
Я не сижу за компьютером 24 часа в сутки, elruso - это форум, это не скайп! :)

Проблема в том, что до Вас немного не доходит что Вы тут пишите...
Почему Print(i) ? Вы упорно продолжаете печатать в журнале переменную счетчика циклов, либо повторно обращаться к рандому...

Конечно Random выдаст инфу из без массива, но ведь задача состоит в том, чтобы научиться работать именно с массивом. Т.е. как его заполнять данными и как их оттуда извлекать...
В этом состоит суть урока.

Подумайте ещё... ;)
И пересмотрите ещё раз внимательно урок, ведь там есть ответы на Ваши вопросы.



Xbms всё великолепно и ясно у вас расписано на видео я уже всё понял поехали дальше ;)!!!




Добавлено: 08-10-2013 23:02:43

Xbms здравствуйте есть вопрос по уроку 1.5! Есть массив:
double a[30];

И есть внешняя переменная COUNT которая говорит сколько мест из 30 будет заполнено через цикл да!!! То есть если COUNT 10 то я заполню толко 10 индексов массива от 0 до 9 да!!! То есть COUNT по любому должен быть Изменено пользователем elruso
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



double a[30];

А если я передумал я хочу больше 30 -ти мест!!! Надо лесть в код и менять? Как можно контролировать индекс массива?


extern int N=30;
.
.
.
double a[N];
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано




double a[30];

А если я передумал я хочу больше 30 -ти мест!!! Надо лесть в код и менять? Как можно контролировать индекс массива?


extern int N=30;
.
.
.
double a[N];




Да я пробовал!!! Но он не хочет N выдаёт ошибку!!!
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Всем привет, читая код экспертов уже несколько раз встречал фразы типа:


while (!IsTradeAllowed()) Sleep(5000);
if(!IsConnected())


Вопрос, что обозначает ! в данном контексте?
функции возвращают значение TRUE, a !TRUE=FALSE?

других вариантов у меня нет)))

п.с. у меня 8.35 утра, сейчас пойду спать, надеюсь усну не мучаясь этим вопросом)))
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Всё нашёл функцию ArrayResize!!!
И вот так можно контролировать индекс массива через внешнюю переменную

extern int N 100;
double a[];

int start(){

int count = ArrayResize(a,N);

for(count=0; count
а[count]=iLow(NULL,0,N);

}

}return(0);





Добавлено: 09-10-2013 01:42:10


Всем привет, читая код экспертов уже несколько раз встречал фразы типа:


while (!IsTradeAllowed()) Sleep(5000);
if(!IsConnected())


Вопрос, что обозначает ! в данном контексте?
функции возвращают значение TRUE, a !TRUE=FALSE?

других вариантов у меня нет)))

п.с. у меня 8.35 утра, сейчас пойду спать, надеюсь усну не мучаясь этим вопросом)))



(==) - если равно?
(!=) - если не равно!
If(count != 0) // если не равно 0 то.... Изменено пользователем elruso
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Всё нашёл функцию ArrayResize!!!
И вот так можно контролировать индекс массива через внешнюю переменную

extern int N 100;
double a[];

int start(){

int count = ArrayResize(a,N);

for(count=0; count
а[count]=iLow(NULL,0,N);

}

}return(0);





Добавлено: 09-10-2013 01:42:10


Всем привет, читая код экспертов уже несколько раз встречал фразы типа:


while (!IsTradeAllowed()) Sleep(5000);
if(!IsConnected())


Вопрос, что обозначает ! в данном контексте?
функции возвращают значение TRUE, a !TRUE=FALSE?

других вариантов у меня нет)))

п.с. у меня 8.35 утра, сейчас пойду спать, надеюсь усну не мучаясь этим вопросом)))



(==) - если равно?
(!=) - если не равно!
If(count != 0) // если не равно 0 то....


Всё верно, дружище!
Так держать! :)
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



Всё нашёл функцию ArrayResize!!!
И вот так можно контролировать индекс массива через внешнюю переменную

extern int N 100;
double a[];

int start(){

int count = ArrayResize(a,N);

for(count=0; count
а[count]=iLow(NULL,0,N);

}

}return(0);





Добавлено: 09-10-2013 01:42:10


Всем привет, читая код экспертов уже несколько раз встречал фразы типа:


while (!IsTradeAllowed()) Sleep(5000);
if(!IsConnected())


Вопрос, что обозначает ! в данном контексте?
функции возвращают значение TRUE, a !TRUE=FALSE?

других вариантов у меня нет)))

п.с. у меня 8.35 утра, сейчас пойду спать, надеюсь усну не мучаясь этим вопросом)))



(==) - если равно?
(!=) - если не равно!
If(count != 0) // если не равно 0 то....


Всё верно, дружище!
Так держать! :)


Xbms СПАСИБО! :d
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Здравствуйте. Я посмотрел 3 видео урок. Огромное спасибо за уроки. По данному примеру пробую написать что нибудь свое)) В моей версии при прохождении цены верхней границы TMA открывается ордер на Бай. При быстрой движении цены срабатывает тейк профит допустим в 15 пунктов и тут же открывается другой ордер на бай, но при этом до верхней границе TMA 10 пунктов. Как можно сделать так чтобы ордер открывался только на границе TMA или +2-3 пункта.

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Здравствуйте. Я посмотрел 3 видео урок. Огромное спасибо за уроки. По данному примеру пробую написать что нибудь свое)) В моей версии при прохождении цены верхней границы TMA открывается ордер на Бай. При быстрой движении цены срабатывает тейк профит допустим в 15 пунктов и тут же открывается другой ордер на бай, но при этом до верхней границе TMA 10 пунктов. Как можно сделать так чтобы ордер открывался только на границе TMA или +2-3 пункта.



double pAsk  =  Ask + DistanceSet*Point;


DistanceSet это внешняя переменная int! и вставишь pAsk когда напишишь OrderSend(Symbol(), OP_BUYSTOP, Lots, pAsk, Slippage................... ;)
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Здравствуйте. Я посмотрел 3 видео урок. Огромное спасибо за уроки. По данному примеру пробую написать что нибудь свое)) В моей версии при прохождении цены верхней границы TMA открывается ордер на Бай. При быстрой движении цены срабатывает тейк профит допустим в 15 пунктов и тут же открывается другой ордер на бай, но при этом до верхней границе TMA 10 пунктов. Как можно сделать так чтобы ордер открывался только на границе TMA или +2-3 пункта.



Несколько сумбурно написано, видать была спешка :)
Я понял так: Цена "проскочила" верхний канал ТМА, у тебя открылся BUY, далее он закрылся через 15 пунктов, далее ты пишешь, что до верхней границы ещё 10 пунктов... Хммм... Насколько я знаю ТМА, сразу он не скорректируется выше цены, а ещё пока побудет внизу. Отсюда выходит, что вопрос не имеет смысла.

А в остальном elruso практически прав, ставлю плюс, быстро схватываешь, молодец.
Есть потенциал, учись дальше! :)

Только один момент... pAsk нужно привести к нормальному виду (NormalizeDouble), иначе будет ошибка при установке ордера.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



Здравствуйте. Я посмотрел 3 видео урок. Огромное спасибо за уроки. По данному примеру пробую написать что нибудь свое)) В моей версии при прохождении цены верхней границы TMA открывается ордер на Бай. При быстрой движении цены срабатывает тейк профит допустим в 15 пунктов и тут же открывается другой ордер на бай, но при этом до верхней границе TMA 10 пунктов. Как можно сделать так чтобы ордер открывался только на границе TMA или +2-3 пункта.



Несколько сумбурно написано, видать была спешка :)
Я понял так: Цена "проскочила" верхний канал ТМА, у тебя открылся BUY, далее он закрылся через 15 пунктов, далее ты пишешь, что до верхней границы ещё 10 пунктов... Хммм... Насколько я знаю ТМА, сразу он не скорректируется выше цены, а ещё пока побудет внизу. Отсюда выходит, что вопрос не имеет смысла.

А в остальном elruso практически прав, ставлю плюс, быстро схватываешь, молодец.
Есть потенциал, учись дальше! :)


Ваша школа Xbms :d

Добавлено: 09-10-2013 20:52:39

Xbms я хотел спросить у Вас, в разделе советники на сайте в конце описания практически каждого советника есть такая фраза:
Цитата

Для корректной работы советника торговый терминал должен быть включенным с открытия рынка вечером в воскресенье до его закрытия вечером в пятницу.


А в чём проблема я не понимаю? Вы можете объяснить этот нюанс?
Допустим мой советник торгует толко 3 часа в азиатскую сессию да или любую другую какая разница, то есть он не торгует 24 часа в сутки, всего 3, что я не могу открыть терминал ну допустим за час раньше установить советник и пойти спокойно спать? Ну а утром я его сниму допустим!!! А сегодня им торговать не буду , но завтра вечером я его опять поставлю!!! в чём проблема не пойму? С кодом что-то? Он что какой-то временный учёт ведёт какимто оброзом и может ошибиться? Что может случиться? Изменено пользователем elruso
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


А в чём проблема я не понимаю? Вы можете объяснить этот нюанс?
Допустим мой советник торгует толко 3 часа в азиатскую сессию да или любую другую какая разница, то есть он не торгует 24 часа в сутки, всего 3, что я не могу открыть терминал ну допустим за час раньше установить советник и пойти спокойно спать? Ну а утром я его сниму допустим!!! А сегодня им торговать не буду , но завтра вечером я его опять поставлю!!! в чём проблема не пойму? С кодом что-то? Он что какой-то временный учёт ведёт какимто оброзом и может ошибиться? Что может случиться?


Видимо в том, что 99% людей используют советник, для автоматической торговли, и не имеют желания каждый день его дергать без нужды.
а Вы являетесь исключением, раз хотите вставать ночью и включать его.
Всё же просто. Но и никто не мешает включать\выключать когда хочется.
Это совет, а не четкое правило.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



А в чём проблема я не понимаю? Вы можете объяснить этот нюанс?
Допустим мой советник торгует толко 3 часа в азиатскую сессию да или любую другую какая разница, то есть он не торгует 24 часа в сутки, всего 3, что я не могу открыть терминал ну допустим за час раньше установить советник и пойти спокойно спать? Ну а утром я его сниму допустим!!! А сегодня им торговать не буду , но завтра вечером я его опять поставлю!!! в чём проблема не пойму? С кодом что-то? Он что какой-то временный учёт ведёт какимто оброзом и может ошибиться? Что может случиться?


Видимо в том, что 99% людей используют советник, для автоматической торговли, и не имеют желания каждый день его дергать без нужды.
а Вы являетесь исключением, раз хотите вставать ночью и включать его.
Всё же просто. Но и никто не мешает включать\выключать когда хочется.
Это совет, а не четкое правило.


Что Вы хотите сказать 99% людей платят услугу VPS сервера? или держат свои компьютера включёнными неделями? хаха! не понял я твой ответ дружище! ну до ладно!!!
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...