[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 259
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Должен закрыться по стоп-лоссу. Форекс открывается в 00:00 по гринвичу.
Но закроется не по цене стопЛосса, а по первой цене, которая может быть намного ниже стопЛосса! А тейкПрофит закрывают точно. Потому лучше не оставлять со стопЛоссом, а ещё лучше не оставлять позиций на выходные!
Как можно узнать адрес своей пользовательской функции? То есть если у меня по листингу
то как узнать адрес myFunc? Нужно для того, чтобы понять как узнать адрес WndProc (описываю пользовательской функцией) для передачи далее в параметр класса.
Должен закрыться по стоп-лоссу. Форекс открывается в 00:00 по гринвичу.
Далеко не факт, вполне может закрыться и по первой котировке. Надо читать документы, а в них ДЦ пишут, что им вздумается.
Как можно узнать адрес своей пользовательской функции? То есть если у меня по листингу
то как узнать адрес myFunc? Нужно для того, чтобы понять как узнать адрес WndProc (описываю пользовательской функцией) для передачи далее в параметр класса.
Кто сказал, что у нее вапще есть адрес? это же MQL4-функция: она даже не скомпилирована в прямом смысле слова, а прогоняется через интерпретатор во время выполнения программы.
Почему не эксперт не модифицирует ордера?
Вот функция:
Вызываю в старте так:
Кто сказал, что у нее вапще есть адрес? это же MQL4-функция: она даже не скомпилирована в прямом смысле слова, а прогоняется через интерпретатор во время выполнения программы.
Вот где собака зарыта. Тогда мне просто жаль потраченных 2-3 недель из-за выбора самостоятельного оконного интерфейса для робота в рамках только MQL4+WinAPI без самописных dll. Жаль что я не понял этого раньше, жаль своего кода и своих наработок.
Подытоживаем. Перекрывающееся (т.е. не дочернее) окно без выноса кода в свою dll создать невозможно, потому что при описании WNDCLASS (или WNDCLASSEX)
в указанных стрелочкой строках при упаковке структуры в интовый массив
передаётся адрес оконной процедуры, т.е. обработчика мыши и клавиатуры для этого окна. Оконную процедуру на MQL4 можно реализовать как пользовательскую функцию, но адрес её получить в рамках интерпретатора невозможно, поэтому и передавать нечего. Максимум, что возможно на MQL4 - использовать стандартные оконные классы, но они подразумевают в себе использование только в качестве дочерних окон. Если говорить простым языком, созданное индикатором такое окно нельзя будет ухватить мышкой и вывести за границы терминала (т.к. это будет дочернее окно), в то время как перекрывающееся окно за границы терминала вывести можно. Дочерние же окна на стандартных оконных классах уже реализованы на mt4gui.dll, если кому надо. А вот перекрывающееся со своим обработчиком мыши и клавиатуры - невозможно.
Просьба модераторам вывести этот диалог и все связанные сообщения в отдельную тему типа "как создать окно на MQL4", чтобы другие не наступали на те же грабли и могли найти её в поисковике.
Добрый день!
Может кто знает брокер считывает ip адрес компьютера трейдера только в режиме online или есть техническая возможность также выгрузить историю из какой-нибудь папки в МТ4?
Решил реализовать "горячие клавиши" (без использования управляющих клавиш типа Ctrl, Alt, Shift). Но код не работает.
Отчего он может не работать? По идее, смайлик должен меняться. Я задавал 81 (код клавиши Q), но там можно что угодно задать. Вот коды клавиш:
Добавлено: не может вызвать PeekMessage - системная ошибка 127 "не найдена указанная процедура". RegisterHotKey возвращает 1 (true). Пытался глянуть вызвать RtlGetLastWin32Error() с NativeAPI после PeekMessage, так выполнение до неё даже не доходит. А указать
- выходит ошибка компиляции.