Ваши вопросы по языку MQL4

mobidik

-----
Наткнулся на интересный индюк, поможет в поиске кода необходимого символа в выбранном шрифте:

PS. и в догонку, коды символов mql:
 

Вложения

  • 1.png
    1.png
    70,4 КБ · Просмотры: 113
  • fonts.mq4
    20,3 КБ · Просмотры: 46
  • 2.png
    2.png
    67,2 КБ · Просмотры: 90
  • Коды значков.png
    Коды значков.png
    53,6 КБ · Просмотры: 83
Последнее редактирование:

vetallic

Местный знаток
всем привет,
запутался с зигзагом, подскажите какой параметр указывает за выбор волны,
- нужно взять параметры не текущей а пару волн назад...
 

Ugar

Гуру форума
всем привет,
запутался с зигзагом, подскажите какой параметр указывает за выбор волны,
- нужно взять параметры не текущей а пару волн назад...
Никакой. Отсчитывать надо от последней. Искать экстремумы и считать их.
 

kamilkz

Почетный гражданин
Здравствуйте.
Вопрос следующий:
хочу проверить изменение баланса после выполнения некой функции (Function ()).
В код советника вписываю следующее:
Balance = AccountBalance();
Function ();
If (Balance <= AccountBalance()) и т.д.
Правильно? Если не правильно, то, как сделать это корректно?
У меня подозрение: AccountBalance() не успеет измениться, если даже если Function (), выполнит какое-то действие (допустим закроет какой-то ордер). Ведь для, допустим закрытия ордера, требуется некое время и за это время AccountBalance() не меняется.
 

ansol

Местный знаток
Ведь для, допустим закрытия ордера, требуется некое время и за это время AccountBalance() не меняется.

Если OrderClose вернул TRUE, то баланс успешно изменится. т.е. надо проверять состояние операции OrderClose и все будет ОК.
 

ansol

Местный знаток
А данное выражение будет работать или же
Balance всегда будет равен AccountBalance() не зависимо от результата выполнения Function ()

Будет работать. Это AccountBalance() всегда равен фактическому балансу в МТ4, а переменная будет такой, какое значение присвоили до того, как баланс изменился.
 

Milord

Местный знаток
Всем привет, вопрос про котировки на истории?

всем привет!
у меня возник вопрос относительно исторических котировок, открывал как то МТ4, и вдруг увидел что по паре EUR/USD можно увидеть начиная с 1971 года котировки, как такое возможно :not-good:если история создания валюты Евро выглядит так:
1 января 1999 года в 0.00 часов по европейскому времени страны европейского Экономического и валютного союза (ЭВС) ввели единую валюту - евро (EUR). С этого момента жестко зафиксировались курсы национальных валют стран-участниц по отношению к евро, а евро стала самостоятельной полноправной денежной единицей. На этом этапе параллельно и равноправно функционировали и евро и национальные валюты. Торги по евро начались 4 января 1999 года.
 

ansol

Местный знаток
Это вы у ДЦ спросите, в ктором такие котировки дают :)
 

Vyacheslav88

Элитный участник
Уважаемые программисты, подскажите как прописать autorefresh в индикатор.
 

vladradon

Программист
Если OrderClose вернул TRUE, то баланс успешно изменится. т.е. надо проверять состояние операции OrderClose и все будет ОК.
Только сегодня с коллегами пришлось проработать нюанс: функции типа OrderClose, OrderSend, OrderSelect и т.п. пока возвращают только цифровые значения : -1 при какой-то ошибке, 0 - при вообще не сработавшей функции и 1 при правильно отработавшей функции. Варианты true и false не работают, хоть и прописаны уже в документации по аналогии с 5-м языком! Т.е. если нужно знать, отработала ли правильно какая-то функция, рез снимаем в инт-формате, а не в бууле.
 

ansol

Местный знаток
Только сегодня с коллегами пришлось проработать нюанс: функции типа OrderClose, OrderSend, OrderSelect и т.п. пока возвращают только цифровые значения : -1 при какой-то ошибке, 0 - при вообще не сработавшей функции и 1 при правильно отработавшей функции. Варианты true и false не работают, хоть и прописаны уже в документации по аналогии с 5-м языком! Т.е. если нужно знать, отработала ли правильно какая-то функция, рез снимаем в инт-формате, а не в бууле.

Не так только.
Возвращаемое значение

Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().


Это написано в хелпе по OrderSend() и коды возврата здесь "Справочник MQL4 / Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера"
 
Последнее редактирование:

vladradon

Программист
Не так только.
Возвращаемое значение

Возвращает номер тикета, который назначен ордеру торговым сервером или -1 в случае неудачи.
Точнее возвращает каждая команда какое-то значение (это касается не только тикетов) и в случае неудачи работы какой-то из команд, возвращается -1. Иначе должно быть возвращено какое-то положительное значение или 0. Но и возврат тикета при открытии ордеров (к примеру) может выдавать не правильные значения (бывало на 5-ке) и их тоже приходилось отдельно анализировать для грамотной работы алгоритма.))) Но на данный момент хотел обозначить то, что нужно использовать цифровые данные возврата оераций, а не бууловские, которые в документации к языку прописаны.)))
 

ansol

Местный знаток
Но на данный момент хотел обозначить то, что нужно использовать цифровые данные возврата оераций, а не бууловские, которые в документации к языку прописаны.)))
В исходном посте речь шла об OrderClose() и его влиянии на AccountBalance() - к чему ваше словоблудие - непонятно. Есть хелп для таких элементарных вещей, а не то. что вы там с пацанами обкашляли.
Вот ваша ахинея:
Только сегодня с коллегами пришлось проработать нюанс: функции типа OrderClose, OrderSend, OrderSelect и т.п. пока возвращают только цифровые значения : -1 при какой-то ошибке, 0 - при вообще не сработавшей функции и 1 при правильно отработавшей функции.
А выше указано, что по этому поводу говорит справка. И MQL5 в этой теме приплетать глупо, тема про MQL4
Еще вопросы?
 

vladradon

Программист
В исходном посте речь шла об OrderClose() и его влиянии на AccountBalance() - к чему ваше словоблудие - непонятно. Есть хелп для таких элементарных вещей, а не то. что вы там с пацанами обкашляли.
Вот ваша ахинея:

А выше указано, что по этому поводу говорит справка. И MQL5 в этой теме приплетать глупо, тема про MQL4
Еще вопросы?
Для таких знатоков, как ты: идет объединение языков 4-ки и 5-ки и часть функций уже работает одинаково, но в документации к 4-ке уже прописаны новые данные, а команды и функции еще по-старому работают и именно это я хотел обозначить! А который язык: 4-й или 5-й - какая разница? Я оба знаю достаточно хорошо, чтобы давать советы!
 
Последнее редактирование:

ansol

Местный знаток
Для таких знатоков, как ты: идет объединение языков 4-ки и 5-ки и часть функций уже работает одинаково, но в документации к 4-ке уже прописаны новые данные, а команды и функции еще по-старому работают и именно это я хотел обозначить! А который язык: 4-й или 5-й - какая разница? Я оба знаю достаточно хорошо, чтобы давать советы!

Справка с тобой не согласна, она считает, что ты ни хрена не знаешь, опыт показывет, что справка права :D а ты несешь ахинею
 

vladradon

Программист
Справка с тобой не согласна, она считает, что ты ни хрена не знаешь, опыт показывет, что справка права :D а ты несешь ахинею
Ахинею ты начал нести, когда у тебя "OrderClose()" "true" начал возвращать. Так что иди снова за справкой к твоему любимому психиатру.))
 
Последнее редактирование:

volodymyr67

Гуру форума
Всем приет !

Уважаемые !!!
Подскажите пожалоста , функцыю реверс и как её прикрутить в советник !
 

_SERG_

Активный участник
Уважаемые !!!
Подскажите пожалоста , функцыю реверс и как её прикрутить в советник !
Возьми Кимовский скрипт Реверс переназови функцию Start() в Revers() и сохрани в ".mqh", через #include <Revers.mqh> подключи в сову, и допиши вызовы, где ты считаешь, что функция должно отрабатывать. Ну и ещё надо бы поработать, одну позицию реверсить, или все рыночные.
(По простому.)
Выборочный реверс, через репозитарий лучше делать, но им управлять надо. Короче курим.
 
Последнее редактирование:

Sobolh

Прохожий
Здравствуйте. Я в программированнии новичек. И уже столкнулся с проблемкой.
В индикаторе пытаюсь сделать так, чтоб при нажатии (Granitca true) и если
в данную секунду, значение индикатора EUR-USD меньше (Znatcenie), то линия индикатора -
непоказывалась - полностью, до того времени как значение не станет - (Granitca false).
А получается, что линия индикатора скрывается только на отдельных
участках, где значение было меньше, чем - (Znatcenie), а выше показывается.
Изменял значения в строках ( 90-95 ).
Просьба знатоков если возможно подсказать.
 

Вложения

  • Zero Point.mq4
    6 КБ · Просмотры: 25
Верх