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

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


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

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

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

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

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

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

Перейти

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

Перейти

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

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

Уважаемый xbms! Планируются ли уроки по созданию и работе с DLL? На мой взгляд, очень важная тема.

Вопрос к форумчанам: Где можно найти уроки по данной теме?

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

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


Уважаемый xbms! Планируются ли уроки по созданию и работе с DLL? На мой взгляд, очень важная тема.

Вопрос к форумчанам: Где можно найти уроки по данной теме?



Смотри здесь: http://tradelikeapro.ru/category/uroki-po-mql/page/2/
Ссылка на сообщение
Поделиться на другие сайты

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


Смотри здесь:


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

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



Смотри здесь:


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


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

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

пробовал реализовать в советнике тралл, но при запуске он не подхватывает позицию. Хотя по условиям все ок.
Писал по уроку. Может где ошибку допустил или это связано с тем, что теперь у нас тело советника обрабатывается в void OnTick()? Если из-за void OnTick(), то как поправить? тоже самое относится и к функции подсчета ордеров

Вот код:
void Trailing()
{
for (int i=0; i {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber () == Magic)
{
if(OrderType()==OP_BUY)
{
if(Bid - OrderOpenPrice() > TrailingStop*Point)
{
if (OrderStopLoss() {
TrailingSL = NormalizeDouble(Bid - TrailingStop*Point, Digits);
if (OrderStopLoss() != TrailingSL)
{
bool res= OrderModify(OrderTicket(), OrderOpenPrice(), TrailingSL, 0, 0);
}

}
}

}
if(OrderType()==OP_SELL)
{

if(OrderOpenPrice() - Ask > TrailingStop*Point)
{
if (OrderStopLoss() TrailingSL = NormalizeDouble(Ask + TrailingStop*Point, Digits);
if (OrderStopLoss() != TrailingSL)
{
bool res = OrderModify(OrderTicket(), OrderOpenPrice(), TrailingSL, 0, 0);
}

}


}

}
}
}
}

___________________________________________________________________
например:
int CountBuy()
{
int count = 0;

for(int i = OrdersTotal() - 1; i>0; i--)
{
if(OrderSelect (i,SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType () == OP_BUY)
count++;
}
}
return(count);
}

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

Обучение языку MQL4 под MetaTrader 4 Опубликовано
SpyRF пробуй так
В трале: if (OrderStopLoss()
в пересчёте: for(int i = OrdersTotal() - 1; i>0; i--) вместо > - >=
Ссылка на сообщение
Поделиться на другие сайты

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


SpyRF пробуй так
В трале: if (OrderStopLoss()
в пересчёте: for(int i = OrdersTotal() - 1; i>0; i--) вместо > - >=


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

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

В журнал пишет чего-нибудь? если нет, то исполнение не доходит до модификации. надо принты расставлять... и искать баг.

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

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


В журнал пишет чего-нибудь? если нет, то исполнение не доходит до модификации. надо принты расставлять... и искать баг.


А как прописать в теле советника вызывается ли функция вообще?
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
SpyRF, да просто пишешь:

Print (" ");

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

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

DarkWanderer, если вы не владеете на нужном уровне си то можно всегда по аналогии, соблюдая соглашения о вызовах, переделать библиотеку под другую среду разработки, Delphi к примеру.

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

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


DarkWanderer, если вы не владеете на нужном уровне си то можно всегда по аналогии, соблюдая соглашения о вызовах, переделать библиотеку под другую среду разработки, Delphi к примеру.

К сожалению, я владею только mql. Но всё равно спасибо за информацию. =)
Ссылка на сообщение
Поделиться на другие сайты

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

Подскажите как в советнике лучше всего обрабатывать чужие, закрытые индикаторы ?
То есть есть чужой индикатор, который на графике рисует всякие значки, с вписанным в них всякими
параметрами. Хочется совой на истории проверить работу по этому индикатору, появился значок открытия - открываемся по этой цене + стоп в цену значка стопа и тд и тп.

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

Обучение языку MQL4 под MetaTrader 4 Опубликовано
AndreyGold значки обычно рисуют через внешние буферы, причём разные значки и разных цветов в разных буферах, но бывает рисуют через графические объекты. Поэтому в слепую не подскажешь...
Если через буферы, то в свойствах индюка - Цвета будет нумерация буферов и их цвета. По ним можно прикинуть к какому буферу подключаться. если через графические объекты, то выводите список объектов на экран и ищите те, которые рисует индюк и через их название получаете доступ к свойствам, в том числе цене.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

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

Может кому-то поможет или нет: в общем почему у меня не работал трал и функция?! А все потому что я при установке ордеров не указывал магик, а магик как основа выбора нужного ордера в функциях была.

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

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

Тупой вопрос - не могу врубиться как ставить БУ в случае продажи при плавающем спреде - получается же 0 там не будет, если только случайно спред не совпал.

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

Обучение языку MQL4 под MetaTrader 4 Опубликовано
AndreyGold да, тяжело понять... Если Вам необходимо закрыть ордер с результатом ровно 0,00$, то действительно - не получится. в принципе как и с результатом например = 1,23$.
Наверно не в этом дело? Если у Вас один ордер, то уровень БУ = цена покупки +- спред, но Вам не запрещается добавить к спреду ещё 2 пп на скольжение стопа.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

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

И получается, что этот момент надо еще держать в голове когда смотришь на % прибыльных сделок и соотношение Прибыли к Риску по факту (выход, что средний размер сделки в +, будет кривой). ~x(

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

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

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

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

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

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

Войти

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

Войти

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


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

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