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

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


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

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


Sany2912, смотря как вы устанавливаете отложки. Если это сетка, то можно искать с наименьшей (наибольшей) ценой и удалять. Т.е. если, ордеров больше чем макс_ордер, то ищем среди наших отложек самый первый по низшей-высшей цене и удаляем. Ну это как один из вариантов, можно комментировать и по комменту искать, можно и по другому, смотря какая у вас задача.



Вот вопрос, как раз и состоит в том, как искать среди наших отложек самый первый, например по тикету????? Если ордеров больше трех...
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Перейти

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

Перейти

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

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

Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.


Добавлено: 01-10-2015 06:54:49

что, гуру нет? или никто никогда этим не занимался? Изменено пользователем chadaevr
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
Sany2912 можно и по минимальному тикету. Делаете цикл перебора ордеров, фильтруете отложки по типу ордера, сравниваете тикет с переменной минТикет (которая изначально = 9999999999999) если текущий тикет меньше присваиваете минТикету. После цикла, если ордеров 4 - удаляете ордер по минТикету.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

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

Ребята, а как можно с нуля изучить HTML верстку сайта? Дайте, пожалуйста, какие-нибудь действенные советы по этому поводу! С чего начать? Как развиваться в этом направлении? Книги, курсы, онлайн...? 8->

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

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


Ребята, а как можно с нуля изучить HTML верстку сайта? Дайте, пожалуйста, какие-нибудь действенные советы по этому поводу! С чего начать? Как развиваться в этом направлении? Книги, курсы, онлайн...? 8->


Оффтоп конечно дикий, но вроде гугл еще не запретили. Миллионы сайтов про основы HTML. А если нужно быстро свой сайт поднять - одним HTML не обойдетесь, хотя основы нужно знать. Смотрите в сторону бесплатных CMS - движков для сайта, разбирайтесь с HTML, немного PHP, немного как работать c БД - понадобится для установки движка на хостинг. Не так сложно как кажется, было бы желание.
Ссылка на сообщение
Поделиться на другие сайты

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


Sany2912 можно и по минимальному тикету. Делаете цикл перебора ордеров, фильтруете отложки по типу ордера, сравниваете тикет с переменной минТикет (которая изначально = 9999999999999) если текущий тикет меньше присваиваете минТикету. После цикла, если ордеров 4 - удаляете ордер по минТикету.



Нет же, это не правильное решение, я уже так делал. Потому что одер удалится только один раз, программа регулярно удалять нужные ордера не будет! Вот самое лучшее решение, но оно работает только по отдельности (я имею ввиду если мы работаем только с ордерами байстоп или только с ордерами селстоп, а вместе покупка и продажа, как единый алгоритм, работать не будет). Сможете подсказать, почему код работает только с одним видом ордера???

int mas_tic_b[4];
int mas_tic_s[4];

if(BayStop() > 3) Delete();

void Delete()
{
for(int i = OrdersTotal()-1; i >= 0; i --)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == mag)
{
if(OrderType() == OP_BUYSTOP)
{
mas_tic_b = OrderTicket(); //заполняю массив тикетами
int index_min_ticeta_bay = ArrayMinimum(mas_tic_b, WHOLE_ARRAY, 0);//сортирую по минимальным значениям, получая индекс
int min_tic_bay = mas_tic_b[index_min_ticeta_bay];//подставляем индекс мин.значен. в массив, чтоб получить мин.тикет
bool del_bay = OrderDelete(min_tic_bay, clrNONE);//удал.нужный ордер.
}
if(OrderType() == OP_SELLSTOP)
{
mas_tic_s = OrderTicket();
int index_min_ticeta_sell = ArrayMinimum(mas_tic_s, WHOLE_ARRAY, 0);
int min_tic_sell = mas_tic_s[index_min_ticeta_sell];
bool del_sell = OrderDelete(min_tic_sell, clrNONE);
}
}
}
}
}
Изменено пользователем Sany2912
Ссылка на сообщение
Поделиться на другие сайты

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

Всем привет.
Решил освоить MQl по видео курсу.
Вопрос по уроку 3. При тестировании советника, сделки не открываются. Не могу понять в чем причина?

LES_3.mq4

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

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


Нет же, это не правильное решение, я уже так делал...

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

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

Разобрался в чем была причина.
#:-s


if (Bid >=PriceHigh && CountBuy() ==0) // >0
{
for(i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(),OrderLots(), Bid, Slippage, clrBlack);
Ссылка на сообщение
Поделиться на другие сайты

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


Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.



Добавлено: 01-10-2015 06:54:49


что, гуру нет? или никто никогда этим не занимался?


  • Какую библиотеку используете?

  • Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?

  • Вы пример своего года предоставить можете?

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

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

всё что я использую не работает, смысл скидывать? неужели ни у кого нет работающей системы?




Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.



Добавлено: 01-10-2015 06:54:49


что, гуру нет? или никто никогда этим не занимался?


  • Какую библиотеку используете?

  • Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?

  • Вы пример своего года предоставить можете?


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

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


всё что я использую не работает, смысл скидывать? неужели ни у кого нет работающей системы?




Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.



Добавлено: 01-10-2015 06:54:49


что, гуру нет? или никто никогда этим не занимался?


  • Какую библиотеку используете?

  • Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?

  • Вы пример своего года предоставить можете?



Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?
Ссылка на сообщение
Поделиться на другие сайты

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

второй вариант. база MySQL localhost на денвере.




всё что я использую не работает, смысл скидывать? неужели ни у кого нет работающей системы?




Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.



Добавлено: 01-10-2015 06:54:49


что, гуру нет? или никто никогда этим не занимался?


  • Какую библиотеку используете?

  • Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?

  • Вы пример своего года предоставить можете?



Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?
Ссылка на сообщение
Поделиться на другие сайты

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


второй вариант. база MySQL localhost на денвере.




всё что я использую не работает, смысл скидывать? неужели ни у кого нет работающей системы?




Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.



Добавлено: 01-10-2015 06:54:49


что, гуру нет? или никто никогда этим не занимался?


  • Какую библиотеку используете?

  • Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?

  • Вы пример своего года предоставить можете?



Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?


Вы к ней нормально подключаетесь и извлекаете информацию?
Вообще самый простой вариант - берете Microsoft Visual Studio пишите либу на С, которая будет делать все операции с БД, а затем подключаете к MQL. Изменено пользователем Qj
Ссылка на сообщение
Поделиться на другие сайты

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

подключение нормальное. извлечение - вопросительные знаки.
рекомендаций в интернете валом, включая и это. ничего не помогает в решении проблемы. можно увидеть работающий вариант?



Спойлер


второй вариант. база MySQL localhost на денвере.




всё что я использую не работает, смысл скидывать? неужели ни у кого нет работающей системы?




Добрый день :)
О гуру этого форума, явите чудо смертному :) подскажите, как извлечь инфу из базы данных MySQL в советника.
Библиотека есть, всё есть, но оно не работает. Кто может поделиться рабочим примером? Уже месяц копаемся, ищем способ, но бесполезно.
Буду весьма признателен.



Добавлено: 01-10-2015 06:54:49


что, гуру нет? или никто никогда этим не занимался?


  • Какую библиотеку используете?

  • Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?

  • Вы пример своего года предоставить можете?



Есть ли связь с базой данных из какой-нибудь IDE с того же компьютера на котором вы пробуете писать на mql?


Вы к ней нормально подключаетесь и извлекаете информацию?
Вообще самый простой вариант - берете Microsoft Visual Studio пишите либу на С, которая будет делать все операции с БД, а затем подключаете к MQL.
Ссылка на сообщение
Поделиться на другие сайты

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

Вопросительные знаки это 99 из 100 что у вас кривизна в выбранной кодовой странице. Скорее всего выгружается нормально а вот отображение делаете как попало в уникоде и т.д.
p.s. описание проблемы как "не работает" ничего не говорит, вспомните такой постулат как в правильно заданном вопросе содержится половина ответа

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

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

правильно заданный вопрос: хоть у кого нибудь есть работающий вариант?
до сих пор тишина :) неужели совсем никто не использует MySQL в настоящее время.



Вопросительные знаки это 99 из 100 что у вас кривизна в выбранной кодовой странице. Скорее всего выгружается нормально а вот отображение делаете как попало в уникоде и т.д.
p.s. описание проблемы как "не работает" ничего не говорит, вспомните такой постулат как в правильно заданном вопросе содержится половина ответа

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

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

Настройки индикаторов стандартные.CCI период 14.MACD 12,26,9.Таймфрейм от H1 и выше.Валютные пары любые.Условия входа в позицию.Если у индикатора CCI Красная линия ниже уровня -100 а у индикатора MACD столбики ниже нуля,ждем появления бычьей свечи и открываем позицию BUY.Если у индикатора CCI Красная линия выше уровня 100 а у индикатора MACD столбики выше нуля,ждем появления медвежьей свечи и открываем позицию SELL.Желательно добавить трейлинг стоп.Заранее благодарен.

Пример_покупки.jpg

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

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

Привет. Идея забавная. Ее бы только немного подкорректировать, что бы ловить не откаты, а основное движение, но это уже другая история...

Nightmare.mq4

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

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

Спасибо огромное!Идея не моя!Сов не много ни так открывает позиции

12.jpg

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

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

Да нет, именно так как показано у тебя на картинке.
CCI ниже -100
MACD ниже 0
Выжидается закрытие бычьей свечи и на открытие следующей выставляется ордер.

Какая здесь ошибка?


Добавлено: 03-10-2015 15:54:21

Никакой ошибки нет, прочитал твои условия еще раз все правильно.
Ссылка на сообщение
Поделиться на другие сайты

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


Да нет, именно так как показано у тебя на картинке.
CCI ниже -100
MACD ниже 0
Выжидается закрытие бычьей свечи и на открытие следующей выставляется ордер.

Какая здесь ошибка?


Добавлено: 03-10-2015 15:54:21

Никакой ошибки нет, прочитал твои условия еще раз все правильно.

Ну незнаю,например тут открытие происходит на второй бычьей свече,может попробовать убрать выжидание закрытия свечи?

2.jpg

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

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

Ну так все по правилам. Мы ждем закрытия первой бычьей и на ОТКРЫТИИ следующей после бычьей входим.

П.С. если не ждать закрытия бычьей свечи, то ты еще не знаешь, что она бычья =)))


Добавлено: 03-10-2015 20:25:49

kashmarik, покажи на скрине место открытия позиции по твоим правилам, которое ты считаешь вовремя. Изменено пользователем ASugler
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Войти

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

Войти

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


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

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