Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1285
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если 1440 ордеров в день, то должна быть проверка на начало минуты, или проще на появление минутного бара. И в этот момент открывать. У Вас ее нет, поэтому советник открывает позицию на каждом тике, что само по себе жесткое условие, по условию на нашем символе по текущей котировке. Это условие может и не соблюдаться, и тики будут пропускаться. И в какой то момент возникает критическая ошибка.
Так же тип исполнения ордера (приказа совершить сделку на создание позиции) Все или ничего.
Понял. Спасибо за помощь.
Я то же так сразу подумал, что советнику трудно открывать так много ордеров. Я пытался ограничить количество ордеров вот этим кодом
То есть открывать открывать ордер только в 10:00. Но результат - прежний.
2020.10.27 10:25:17.548 Core 1 272 Mb memory used including 36 Mb of history data, 64 Mb of tick data
Что я делаю не так?
Выделил цветом код который я добавил и поменял
Вот что написано в лог файле
FD 0 10:57:05.453 Core 1 agent process started on 127.0.0.1:3000
CS 0 10:57:05.453 Core 1 connecting to 127.0.0.1:3000
JD 0 10:57:05.953 Core 1 connected
OD 0 10:57:05.975 Core 1 authorized (agent build 2650)
JL 0 10:57:05.980 Tester EURUSD,M1 (Alpari-MT5-Demo): testing of Experts\ГРААЛЬ.ex5 from 2020.09.01 00:00 to 2020.09.10 00:00
ON 0 10:57:05.997 Core 1 common synchronization completed
CJ 0 10:57:06.223 Tester quality of analyzed history is 100%
LM 0 10:57:06.248 Core 1 MetaTester 5 started on 127.0.0.1:3000
EJ 0 10:57:06.248 Core 1 initialization finished
LS 0 10:57:06.248 Core 1 login (build 2650)
KO 0 10:57:06.248 Core 1 4372 bytes of account info loaded
LI 0 10:57:06.248 Core 1 1482 bytes of tester parameters loaded
FN 0 10:57:06.248 Core 1 1724 bytes of input parameters loaded
OK 0 10:57:06.248 Core 1 423 bytes of symbols list loaded (72 symbols)
HO 0 10:57:06.248 Core 1 expert file added: Experts\ГРААЛЬ.ex5. 13680 bytes loaded
CP 0 10:57:06.248 Core 1 4077 Mb available, 50 blocks set for ticks generating
DI 0 10:57:06.248 Core 1 calculate profit in pips, initial deposit 10000, leverage 1:100
LP 0 10:57:06.248 Core 1 successfully initialized
RI 0 10:57:06.248 Core 1 15 Kb of total initialization data received
DN 0 10:57:06.248 Core 1 Intel Core i5-6400 @ 2.70GHz, 7883 MB
IG 0 10:57:06.248 Core 1 EURUSD: symbol to be synchronized
RS 0 10:57:06.248 Core 1 EURUSD: symbol synchronized, 3720 bytes of symbol info received
OL 0 10:57:06.248 Core 1 EURUSD: load 27 bytes of history data to synchronize in 0:00:00.003
EK 0 10:57:06.248 Core 1 EURUSD: history synchronized from 2019.01.02 to 2020.10.23
LK 0 10:57:06.248 Core 1 EURUSD,M1: history cache allocated for 628432 bars and contains 619175 bars from 2019.01.02 06:00 to 2020.08.31 23:59
LH 0 10:57:06.248 Core 1 EURUSD,M1: history begins from 2019.01.02 06:00
LN 0 10:57:06.248 Core 1 EURUSD,M1 (Alpari-MT5-Demo): OHLC bar states generating. OnTick executed on the bar begin only
JM 0 10:57:06.248 Core 1 EURUSD,M1: testing of Experts\ГРААЛЬ.ex5 from 2020.09.01 00:00 to 2020.09.10 00:00 started with inputs:
LS 0 10:57:06.248 Core 1 StopLoss=30
PL 0 10:57:06.248 Core 1 TakeProfit=100
FJ 0 10:57:06.248 Core 1 Lot=0.1
DP 0 10:57:06.248 Core 1 final balance 10000.00 pips
EE 0 10:57:06.248 Core 1 EURUSD,M1: 39553 ticks, 10068 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:00:00.247 (including ticks preprocessing 0:00:00.016).
DE 0 10:57:06.248 Core 1 EURUSD,M1: total time from login to stop testing 0:00:00.278 (including 0:00:00.031 for history data synchronization)
NQ 0 10:57:06.248 Core 1 272 Mb memory used including 36 Mb of history data, 64 Mb of tick data
KE 0 10:57:06.248 Core 1 log file "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" written
OS 0 10:57:06.260 Core 1 connection closed
Подскажите пожалуйста!
Почему время сервера не обновляется по приходу новых тиков?
В момент запуска советника все срабатывает как надо, но дальше время то идёт, а в переменную новое значение текущей минуты не поступает.
Т.е. у меня советник работает в зависимости от числа полученного переменной int M = TimeMinute(TimeCurrent());
Собственно строка кода то из справочника и чёт не робит.
Например запустил в 12 минут - текущее время возвращаемое сервером соответствует времени в переменной, а дальше переменная так и остается на 12, хотя уже минут 15-20 на часах
Код полностью лучше, вернее где создаете функцию и в какой функции (ОнИнит, ОнТик, ОнТайм) получаете значение минут и вызываете функцию печати. Если в ОнИнит или вне полей терминальных функций, так и должно быть. Если в ОнТик то на каждом тике будет печатать и с новой минутой обновлять значение.
Valeriy Yastremskiy:
Код полностью лучше, вернее где создаете функцию и в какой функции (ОнИнит, ОнТик, ОнТайм) получаете значение минут и вызываете функцию печати. Если в ОнИнит или вне полей терминальных функций, так и должно быть. Если в ОнТик то на каждом тике будет печатать и с новой минутой обновлять значение.
Ну тут код полностью то вот всего на всего. В функции void OnTick() запускается в работу в самом начале первой строкой к исполнению приходит.
Срабатывает только в момент перекомпиляции или присоединению к графику/поле удаления/ . В остальное время переменная M держит в себе значение минуты полученной при первом запуске советника
Ну тут код полностью то вот всего на всего. В функции void OnTick() запускается в работу в самом начале первой строкой к исполнению приходит.
Срабатывает только в момент перекомпиляции или присоединению к графику/поле удаления/ . В остальное время переменная M держит в себе значение минуты полученной при первом запуске советника
Понял, Спасибо!
Надо было
поместить в тело функции, а не перед ней присваивать значение M
Понял, Спасибо!
Надо было
поместить в тело функции, а не перед ней присваивать значение M
Можно по разному. Глобальные и локальные переменные и их видимость прочитайте.
Добрый день. Пытаюсь получить угол трендовой линии по углу. Вот код:
angle всегда 0. Независимо использовать ли методы стандартной библиотеки или встроенные функции. При этом линия рисуется. Что не так? Как получить угол?
Добрый день. Пытаюсь получить угол трендовой линии по углу. Вот код:
angle всегда 0. Независимо использовать ли методы стандартной библиотеки или встроенные функции. При этом линия рисуется. Что не так? Как получить угол?
https://www.mql5.com/ru/forum/103591
Понятно, но как всё ж вычислить угол?
https://www.mql5.com/ru/forum/103591
Понятно, но как всё ж вычислить угол?
Ну Вы юморист.
Я перед кем тут распинался?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Nikolai Semko, 2020.10.26 00:34
Зачем боятся скорости. Это лишь условность для приведения типов.
Как вариант функции определения угла:
После MT5 ощущение от работы MT4 просто ужасное. Доступ к истории какой-то кастрированный. О тиках даже молчу.
Скажите, пожалуйста, такой выбор шрифта возможно сделать в индикаторе?