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

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


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

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


Посмотрите этот код:


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

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

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

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

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

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

Перейти

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

Перейти

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

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


А вот скрин с моей ТС Скобарь :



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

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



А вот скрин с моей ТС Скобарь :



Скобарь,
можешь поделиться индикатором, который у тебя на скрине в подвале?

Пользуясь случаем,хочу поблагодарить тебя за "Победу" - через нее должен пройти каждый.Этот инд.должен подойти в твою ТС. Я его использую повсеместно!!!
индикатор iP_aaRG_v8. Автор предлагает:
Работать только на М5. Вход в позу после выхода сигнальной линии за границы канала,и дальнейшем входе
в канал. Выход - достижение границ канала изнутри.Я вхожу на М5 но и на других он норм работает.
В открытом коде у меня нет.

iP_aaRG_v8b.ex4

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

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


Пользуясь случаем,хочу поблагодарить тебя за "Победу" - через нее должен пройти каждый.Этот инд.должен подойти в твою ТС. Я его использую повсеместно!!!
индикатор iP_aaRG_v8. Автор предлагает:
Работать только на М5. Вход в позу после выхода сигнальной линии за границы канала,и дальнейшем входе
в канал. Выход - достижение границ канала изнутри.Я вхожу на М5 но и на других он норм работает.
В открытом коде у меня нет.



Спасибо! Потестирую его - может и пригодится. Его вид в подвале уж очень похож на график цены, заключённой в канал ТМА. :d
Как я уже обнаружил - настроек он вообще не имеет, а при установке на график показывает лишь часть истории ... :-/
Ссылка на сообщение
Поделиться на другие сайты

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

Здравствуйте. В тестере OnChartEvent не работает, каким образом заставить кнопки работать в тестере стратегий? С уважением Владимир

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

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

Здравствуйте уважаемые программисты. Пытаюсь модифицировать советник под себя. Сейчас он выставляет только TP для всех ордеров, (хочу еще добавить, чтобы выставлял SL). Подскажите почему он удаляет все стоплоссы, выставленные вручную? Спасибо.

Modify_SL__TP.mq4

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

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

Добрый вечер. Скрипт старенький. Перекомпилировал, ошибок не написал. Однако работать не хочет. При перетаскивании на график пишет 'SetOrderSell' is not expert and cannot be executed. Помогите хоть с чего начинать?

SetOrderSell.mq4

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

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

Добрый день!
1) Начните с перевода - 'SetOrderSell' is not expert and cannot be executed.
'SetOrderSell' не эксперт и не может быть выполнен.
2) Далее, смотрим код "17.07.2008 Скрипт устанавливает отложенный ордер SELL."
3) Переносим скрипт из папки "Experts" в папку "Scripts"

Удачных продаж!

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

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

Доброго времени суток уважаемые! Пожалуйста подскажите, что делаю не так. При выставлении значения Spread меньше чем реальный, советник все равно открывает ордер
if (CountTrades() == 0 && Bid > MA1 && BuyPossible == true && Bid > Buylevel)
{
int vspread = MarketInfo(Symvol,MODE_SPREAD);
if (MA3 > MA2 && vspread
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES));

}


Добавлено: 07-10-2016 05:15:56

Пробовал и такой вариант, тоже почему то не катит
if (CountTrades() == 0 && Bid > MA1 && BuyPossible == true && Bid > Buylevel)
{
int vspread = ((Ask - Bid)/Point);
if (MA3 > MA2 && vspread
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES));

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

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

Добрый день!
Что выводит на экран Comment()?

if (CountTrades() == 0 && Bid > MA1 && BuyPossible == true && Bid > Buylevel)
{
int vspread = MarketInfo(Symvol,MODE_SPREAD);
Comment(vspread," ",Spread);
if (MA3 > MA2 && vspread
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES));

}

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

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

18 10


Добавлено: 07-10-2016 05:41:51

и по логике он не должен открывать

Добавлено: 07-10-2016 05:52:54

при компиляции на строку int vspread = MarketInfo(Symvol,MODE_SPREAD); пишет possible loss of data due to type conversion (возможный убыток данных из-за преобразования типа ) Изменено пользователем master.man
Ссылка на сообщение
Поделиться на другие сайты

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

Понятно, MarketInfo(Symvol,MODE_SPREAD) возвращает double, переменная vspread имеет тип int.
Сделайте явное приведение типа MarketInfo к int
int vspread = (int)MarketInfo("EURUSD",MODE_SPREAD);

Удачных торгов!

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

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


так это и есть весь код, в тестере работает как надо, на реале фильтр спреда игнорирует...


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

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

все заработало! это я незаметил одну деталь, а советник простой сеточник по машкам, выложить?


Добавлено: 07-10-2016 07:52:16

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

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

Здравствуйте. Подскажите, пожалуйста, возможные ошибки лимитных и стоп-ордеров. Перебирать все ошибки от GetLastError() смысла нет. Также необходимо, для выполнения 8 задания по MQL, узнать информацию о возможных ошибках при закрытии ордеров. Может кто делал и может подсказать?

Просмотрел меньше половину ошибок, более не смог. И нашел всего, на мой взгляд, три подходящих:
1. ERR_INVALID_STOPS; // Неправильные стопы
2. ERR_INVALID_TRADE_VOLUME; // Неправильный объем
3. ERR_TRADE_TOO_MANY_ORDERS; // Количество открытых и отложенных ордеров достигло предела, установленного брокером

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

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

Помогите добавить в советник учет спреда и параметр минимальная прибыль


Немного посидел, тыкву почесал и появилась версия 01 добавил описания параметров и попытался сделать общий тейкпрофит

Я не программист я интуитивно. Не закидывайте помидорами.

buysell00.mq4
buysell01.mq4

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

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

подскажите за что в советнике отвечает данное условие?

if(TypeOrder==OP_BUY)
{
OrderPrice = Ask;
TPPrice = OrderPrice + TakeProfit*DigitFactor*Point;
}
if(TypeOrder==OP_SELL)
{
OrderPrice = Bid;
TPPrice = OrderPrice - TakeProfit*DigitFactor*Point;
}

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


if(TypeOrder==OP_BUY)
{
OrderPrice = Ask;
TPPrice = OrderPrice + TakeProfit*DigitFactor*Point+4;
}
if(TypeOrder==OP_SELL)
{
OrderPrice = Bid;
TPPrice = OrderPrice - TakeProfit*DigitFactor*Point+4;
}



Добавлено: 08-10-2016 03:10:58


Добрый день!
Я хочу вам помочь, но не понял задание. Опишите подробнее.



Извиняюсь, что сумбурно оформил свою просьбу. Советник закрывает позиции на несколько пунктов раньше не доходя до общего безубытка. Я выдвинул предположение, что это происходит из-за того что советник не учитывает спред. Следователь хочется чтоб он его учитывал при закрытии серии ордеров. И дополнительно хочится задать количество пунктом которые мы желаем получить к безубытку + спред + ну и наш профит.

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

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

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

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

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

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

Войти

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

Войти

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


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

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