Новая версия платформы MetaTrader 5 build 4150: экспорт торгового отчета и новые методы машинного обучения в MQL5 - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
не про платформу, но про сайт
с недавних пор (день-полтора), последние сообщения в форуме приобрели загадочный вид:
именно последние, и при первом открытии (кнопка F5 "обновить" это дело исправляет)
что-то намудрили в JS с асинхронной загрузкой (и/или кешированием?).
В 4120 не отображаются коэффициенты маржи:
в 4073:
Сервер MetaQuotes-Demo
Можно выставить ордер с deviation
Попытался протестировать deviation в тестере:
Добавил задержку в 10 секунд, чтобы цена успела измениться с момента отправки ордера.
При deviation=0 результат
При deviation = 1 или 2, 5,10 результат точно такой же. А должны бы часть ордеров отклонится из за проскальзывания цены выше, чем указано в deviation.
П.С.deviation = 1пт например, должен был бы часто отклонять ордера. 5пт реже, 100пт почти никогда, может при гэпах.
Т.е. установка deviation вообще не влияет на результат. Он вообще запрограммирован в тестере? Если да, то как им правильно пользоваться?
проверил этот советник с deviation = 1, на демо счете (в терминале, а не в тестере). Как и ожидалось, иногда возникают реквоты:
HH 0 23:55:29.150 Trades '77187221': order #2233369358 buy 0.1 / 0.1 EURUSD at 1.09529 done in 94.942 ms
DS 0 23:55:29.350 Trades '77187221': instant buy 0.1 EURUSD at 1.09529 sl: 1.09478 tp: 1.09578 (deviation: 1)
HQ 0 23:55:29.440 Trades '77187221': requote 1.09525 / 1.09526 (instant buy 0.1 EURUSD at 1.09529 sl: 1.09478 tp: 1.09578 (deviation: 1))
JS 0 23:55:29.440 Trades '77187221': instant buy 0.1 EURUSD at 1.09525 sl: 1.09474 tp: 1.09574 (deviation: 1)
CQ 0 23:55:29.540 Trades '77187221': requote 1.09523 / 1.09524 (instant buy 0.1 EURUSD at 1.09525 sl: 1.09474 tp: 1.09574 (deviation: 1))
FR 0 23:55:29.710 Trades '77187221': instant buy 0.1 EURUSD at 1.09523 sl: 1.09472 tp: 1.09572 (deviation: 1)
QN 0 23:55:29.800 Trades '77187221': accepted instant buy 0.1 EURUSD at 1.09523 sl: 1.09472 tp: 1.09572 (deviation: 1)
RM 0 00:10:27.249 Core 1 2023.05.29 00:05:40 requote 1.07206 / 1.07263 (instant buy 0.1 EURUSD at 1.07266 sl: 1.07156 tp: 1.07256)
FN 0 00:10:27.249 Core 1 2023.05.29 00:05:40 requote 1.07206 / 1.07263 (instant buy 0.1 EURUSD at 1.07266 sl: 1.07156 tp: 1.07256)
CP 0 00:10:27.249 Core 1 2023.05.29 00:05:40 OrderSend error 4756
JK 0 00:10:27.249 Core 1 2023.05.29 00:05:43 instant buy 0.1 EURUSD at 1.07263 sl: 1.07157 tp: 1.07257 (1.07207 / 1.07263)
Эксперт:
ДЦ MetaQuotes Demo.
Тест с задержкой 100мс.
Сначала тестируем с ТП и СЛ = 0 (т.е. отступ от цены ASK или BID будет = 0), потом с отступом 20. С тестом при отступе 20 пт все нормально. Каждый запрос обрабатывается 100мс.
При отступе=0 проблемы с Invalid stop, когда они случаются, то задержка в 100мс не применяется, но в реальности она будет, т.к. цена установлена правильной и получить Invalid stops она может стать только спустя 100 мс, если цена изменится, но тестер узнает цену заглядывая вперед, но не делая паузу в 100мс.
В результате из за разных пауз, эксперт начинает обрабатываться разные тики.
И при 0 пт и при 20 пт отступа отправляется по 2 запроса на сервер. На каждый должно тратиться по 100мс (или по 200мс на оба запроса). При отступе 20пт так и есть, при отступе 0 пт, нет.
См. комментарии ниже в местах где происходят пропуски задержек в 100 мс.
Отступ = 0
EURUSD : real ticks begin from 2023.05.29 00:00:00
2023.05.29 00:02:41 2023.05.29 00:02:41.107 a: 1.07251 b: 1.07178
2023.05.29 00:02:41 requote 1.07178 / 1.07241 (instant buy 10 EURUSD at 1.07251 sl: 1.07178 tp: 1.07178)
2023.05.29 00:02:41 requote 1.07178 / 1.07241 (instant buy 10 EURUSD at 1.07251 sl: 1.07178 tp: 1.07178)
2023.05.29 00:02:41 failed instant sell 10 EURUSD at 1.07178 sl: 1.07251 tp: 1.07251 [Invalid stops]
Следущий тик через 37 секунд, поэтому отличие пауз не сказалось на результате.
Отступ = 20пт
EURUSD : real ticks begin from 2023.05.29 00:00:00
2023.05.29 00:02:41 2023.05.29 00:02:41.107 a: 1.07251 b: 1.07178
2023.05.29 00:02:41 requote 1.07178 / 1.07241 (instant buy 10 EURUSD at 1.07251 sl: 1.07158 tp: 1.07198)
2023.05.29 00:02:41 requote 1.07178 / 1.07241 (instant buy 10 EURUSD at 1.07251 sl: 1.07158 tp: 1.07198)
2023.05.29 00:02:41 instant sell 10 EURUSD at 1.07178 sl: 1.07271 tp: 1.07231 (1.07178 / 1.07241)
2023.05.29 00:02:41 deal #2 sell 10 EURUSD at 1.07178 done (based on order #2)
2023.05.29 00:02:41 deal performed [#2 sell 10 EURUSD at 1.07178]
2023.05.29 00:02:41 order performed sell 10 at 1.07178 [#2 sell 10 EURUSD at 1.07178]
2023.05.29 00:03:18 instant buy 10 EURUSD at 1.07254 sl: 1.07165 tp: 1.07165 (1.07165 / 1.07254)
2023.05.29 00:03:18 deal #2 buy 10 EURUSD at 1.07254 done (based on order #2)
2023.05.29 00:03:18 deal performed [#2 buy 10 EURUSD at 1.07254]
2023.05.29 00:03:18 order performed buy 10 at 1.07254 [#2 buy 10 EURUSD at 1.07254]
2023.05.29 00:03:18 instant sell 10 EURUSD at 1.07165 sl: 1.07254 tp: 1.07254 (1.07165 / 1.07254)
2023.05.29 00:03:18 deal #3 sell 10 EURUSD at 1.07165 done (based on order #3)
2023.05.29 00:03:18 deal performed [#3 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:18 order performed sell 10 at 1.07165 [#3 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:59 stop loss triggered #2 buy 10 EURUSD 1.07254 sl: 1.07165 tp: 1.07165 [#4 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:59 deal #4 sell 10 EURUSD at 1.07165 done (based on order #4)
2023.05.29 00:03:59 deal performed [#4 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:59 order performed sell 10 at 1.07165 [#4 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:59 take profit triggered #3 sell 10 EURUSD 1.07165 sl: 1.07254 tp: 1.07254 [#5 buy 10 EURUSD at 1.07254]
2023.05.29 00:03:59 deal #5 buy 10 EURUSD at 1.07235 done (based on order #5)
2023.05.29 00:03:59 deal performed [#5 buy 10 EURUSD at 1.07235]
2023.05.29 00:03:59 order performed buy 10 at 1.07235 [#5 buy 10 EURUSD at 1.07254]
2023.05.29 00:03:18 instant buy 10 EURUSD at 1.07254 sl: 1.07145 tp: 1.07185 (1.07165 / 1.07254)
2023.05.29 00:03:18 deal #3 buy 10 EURUSD at 1.07254 done (based on order #3)
2023.05.29 00:03:18 deal performed [#3 buy 10 EURUSD at 1.07254]
2023.05.29 00:03:18 order performed buy 10 at 1.07254 [#3 buy 10 EURUSD at 1.07254]
2023.05.29 00:03:18 instant sell 10 EURUSD at 1.07165 sl: 1.07274 tp: 1.07234 (1.07165 / 1.07254)
2023.05.29 00:03:18 deal #4 sell 10 EURUSD at 1.07165 done (based on order #4)
2023.05.29 00:03:18 deal performed [#4 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:18 order performed sell 10 at 1.07165 [#4 sell 10 EURUSD at 1.07165]
2023.05.29 00:03:59 requote 1.07159 / 1.07246 (instant buy 10 EURUSD at 1.07235 sl: 1.07165 tp: 1.07165)
2023.05.29 00:03:59 requote 1.07159 / 1.07246 (instant buy 10 EURUSD at 1.07235 sl: 1.07165 tp: 1.07165)
2023.05.29 00:03:59 failed instant sell 10 EURUSD at 1.07165 sl: 1.07235 tp: 1.07235 [Invalid stops]
Invalid stops - не произвел задержку в 100мс
Применена пауза 100мс только для одного запроса 227+100 = 327. Поэтому ниже обработан тик 331мс,
а не 430 мс, как в правом столбце
2023.05.29 00:03:59 requote 1.07159 / 1.07246 (instant buy 10 EURUSD at 1.07235 sl: 1.07145 tp: 1.07185)
2023.05.29 00:03:59 requote 1.07159 / 1.07246 (instant buy 10 EURUSD at 1.07235 sl: 1.07145 tp: 1.07185)
2023.05.29 00:03:59 requote 1.07170 / 1.07245 (instant sell 10 EURUSD at 1.07165 sl: 1.07255 tp: 1.07215)
2023.05.29 00:03:59 requote 1.07170 / 1.07245 (instant sell 10 EURUSD at 1.07165 sl: 1.07255 tp: 1.07215)
пауза на 2 сделки по 100 мс: 227 + 100 + 100 = 427
2023.05.29 00:03:59 requote 1.07168 / 1.07241 (instant buy 10 EURUSD at 1.07244 sl: 1.07165 tp: 1.07165)
2023.05.29 00:03:59 requote 1.07168 / 1.07241 (instant buy 10 EURUSD at 1.07244 sl: 1.07165 tp: 1.07165)
2023.05.29 00:03:59 failed instant sell 10 EURUSD at 1.07165 sl: 1.07244 tp: 1.07244 [Invalid stops]
применена пауза для одного запроса 331+100=431мс
поэтому тик на 430мс (который обработан в правом столбце) пропущен
обработан только тик на 870 мс ниже
2023.05.29 00:03:59 instant buy 10 EURUSD at 1.07241 sl: 1.07148 tp: 1.07188 (1.07168 / 1.07241)
2023.05.29 00:03:59 deal #5 buy 10 EURUSD at 1.07241 done (based on order #5)
2023.05.29 00:03:59 deal performed [#5 buy 10 EURUSD at 1.07241]
2023.05.29 00:03:59 order performed buy 10 at 1.07241 [#5 buy 10 EURUSD at 1.07241]
2023.05.29 00:03:59 instant sell 10 EURUSD at 1.07168 sl: 1.07261 tp: 1.07221 (1.07168 / 1.07241)
2023.05.29 00:03:59 deal #6 sell 10 EURUSD at 1.07168 done (based on order #6)
2023.05.29 00:03:59 deal performed [#6 sell 10 EURUSD at 1.07168]
2023.05.29 00:03:59 order performed sell 10 at 1.07168 [#6 sell 10 EURUSD at 1.07168]
2023.05.29 00:04:25 instant buy 10 EURUSD at 1.07241 sl: 1.07159 tp: 1.07159 (1.07159 / 1.07241)
2023.05.29 00:04:25 deal #6 buy 10 EURUSD at 1.07241 done (based on order #6)
2023.05.29 00:04:25 deal performed [#6 buy 10 EURUSD at 1.07241]
2023.05.29 00:04:25 order performed buy 10 at 1.07241 [#6 buy 10 EURUSD at 1.07241]
2023.05.29 00:04:25 take profit triggered #6 buy 10 EURUSD 1.07241 sl: 1.07159 tp: 1.07159 [#7 sell 10 EURUSD at 1.07159]
2023.05.29 00:04:25 deal #7 sell 10 EURUSD at 1.07160 done (based on order #7)
2023.05.29 00:04:25 deal performed [#7 sell 10 EURUSD at 1.07160]
2023.05.29 00:04:25 order performed sell 10 at 1.07160 [#7 sell 10 EURUSD at 1.07159]
2023.05.29 00:04:26 requote 1.07166 / 1.07239 (instant sell 10 EURUSD at 1.07159 sl: 1.07241 tp: 1.07241)
2023.05.29 00:04:26 requote 1.07166 / 1.07239 (instant sell 10 EURUSD at 1.07159 sl: 1.07241 tp: 1.07241)
2023.05.29 00:04:25 instant buy 10 EURUSD at 1.07241 sl: 1.07139 tp: 1.07179 (1.07159 / 1.07241)
2023.05.29 00:04:25 deal #7 buy 10 EURUSD at 1.07241 done (based on order #7)
2023.05.29 00:04:25 deal performed [#7 buy 10 EURUSD at 1.07241]
2023.05.29 00:04:25 order performed buy 10 at 1.07241 [#7 buy 10 EURUSD at 1.07241]
2023.05.29 00:04:26 requote 1.07166 / 1.07239 (instant sell 10 EURUSD at 1.07159 sl: 1.07261 tp: 1.07221)
2023.05.29 00:04:26 requote 1.07166 / 1.07239 (instant sell 10 EURUSD at 1.07159 sl: 1.07261 tp: 1.07221)
2023.05.29 00:04:26 requote 1.07172 / 1.07238 (instant buy 10 EURUSD at 1.07239 sl: 1.07171 tp: 1.07171)
2023.05.29 00:04:26 requote 1.07172 / 1.07238 (instant buy 10 EURUSD at 1.07239 sl: 1.07171 tp: 1.07171)
2023.05.29 00:04:26 failed instant sell 10 EURUSD at 1.07171 sl: 1.07239 tp: 1.07239 [Invalid stops]
Применена пауза 100мс только для одного запроса 082+100 = 182. Поэтому ниже обработан тик 235мс
2023.05.29 00:04:26 requote 1.07172 / 1.07238 (instant buy 10 EURUSD at 1.07239 sl: 1.07151 tp: 1.07191)
2023.05.29 00:04:26 requote 1.07172 / 1.07238 (instant buy 10 EURUSD at 1.07239 sl: 1.07151 tp: 1.07191)
2023.05.29 00:04:26 requote 1.07167 / 1.07237 (instant sell 10 EURUSD at 1.07171 sl: 1.07259 tp: 1.07219)
2023.05.29 00:04:26 requote 1.07167 / 1.07237 (instant sell 10 EURUSD at 1.07171 sl: 1.07259 tp: 1.07219)
пауза на 2 сделки по 100 мс: 082+ 100 + 100 = 282
2023.05.29 00:04:26 failed instant buy 10 EURUSD at 1.07237 sl: 1.07167 tp: 1.07167 [Invalid stops]
2023.05.29 00:04:26 requote 1.07162 / 1.07238 (instant sell 10 EURUSD at 1.07167 sl: 1.07237 tp: 1.07237)
2023.05.29 00:04:26 requote 1.07162 / 1.07238 (instant sell 10 EURUSD at 1.07167 sl: 1.07237 tp: 1.07237)
Применена пауза 100мс только для одного запроса 235+100 = 335. Поэтому ниже обработан тик 485мс
2023.05.29 00:04:26 requote 1.07162 / 1.07238 (instant buy 10 EURUSD at 1.07237 sl: 1.07152 tp: 1.07192)
2023.05.29 00:04:26 requote 1.07162 / 1.07238 (instant buy 10 EURUSD at 1.07237 sl: 1.07152 tp: 1.07192)
2023.05.29 00:04:26 requote 1.07167 / 1.07238 (instant sell 10 EURUSD at 1.07172 sl: 1.07257 tp: 1.07217)
2023.05.29 00:04:26 requote 1.07167 / 1.07238 (instant sell 10 EURUSD at 1.07172 sl: 1.07257 tp: 1.07217)
2023.05.29 00:04:26 failed instant buy 10 EURUSD at 1.07238 sl: 1.07167 tp: 1.07167 [Invalid stops]
2023.05.29 00:04:26 failed instant sell 10 EURUSD at 1.07167 sl: 1.07238 tp: 1.07238 [Invalid stops]
лишь иногда после больших пауз между тиками (>200мс) сходится.
Для справки. Полный список тиков без пропусков из за пауз (можно получить, если закомментирвать торговые команды):
2023.05.29 00:02:41.107 a: 1.07251 b: 1.07178
2023.05.29 00:02:41.107 a: 1.07241 b: 1.07178
2023.05.29 00:03:18.390 a: 1.07254 b: 1.07165
2023.05.29 00:03:59.227 a: 1.07235 b: 1.07165
2023.05.29 00:03:59.281 a: 1.07246 b: 1.07159
2023.05.29 00:03:59.331 a: 1.07244 b: 1.07165
2023.05.29 00:03:59.380 a: 1.07245 b: 1.0717
2023.05.29 00:03:59.430 a: 1.07241 b: 1.07168
2023.05.29 00:04:25.870 a: 1.07241 b: 1.07159
2023.05.29 00:04:25.972 a: 1.0724 b: 1.0716
2023.05.29 00:04:26.031 a: 1.07239 b: 1.07166
2023.05.29 00:04:26.082 a: 1.07239 b: 1.07171
2023.05.29 00:04:26.131 a: 1.07238 b: 1.07167
2023.05.29 00:04:26.181 a: 1.07238 b: 1.07172
2023.05.29 00:04:26.235 a: 1.07237 b: 1.07167
2023.05.29 00:04:26.295 a: 1.07237 b: 1.07172
2023.05.29 00:04:26.390 a: 1.07238 b: 1.07162
2023.05.29 00:04:26.485 a: 1.07238 b: 1.07167
2023.05.29 00:04:26.545 a: 1.07238 b: 1.07162
2023.05.29 00:04:26.620 a: 1.07237 b: 1.07162
2023.05.29 00:04:26.680 a: 1.07237 b: 1.07167
Так же кждой отклоненной сделке печатается 2 раза одинаковое сообщение. На работу не влияет, но забивает логи дублирующей информацией.
Но этого не происходит, логи со сделками точно такие же, как с OrderSend(), т.е. режим с задержками для OrderSendAsync() не реализован.
Хорошо бы сделать... это даже проще, чем с OrderSend()
Эксперт:
ДЦ MetaQuotes Demo.
Тест с задержкой 100мс.
Сначала тестируем с ТП и СЛ = 0 (т.е. отступ от цены ASK или BID будет = 0), потом с отступом 20. С тестом при отступе 20 пт все нормально. Каждый запрос обрабатывается 100мс.
При отступе=0 проблемы с Invalid stop, когда они случаются, то задержка в 100мс не применяется, но в реальности она будет, т.к. цена установлена правильной и получить Invalid stops она может стать только спустя 100 мс, если цена изменится, но тестер узнает цену заглядывая вперед, но не делая паузу в 100мс.
В результате из за разных пауз, эксперт начинает обрабатываться разные тики.
И при 0 пт и при 20 пт отступа отправляется по 2 запроса на сервер. На каждый должно тратиться по 100мс (или по 200мс на оба запроса). При отступе 20пт так и есть, при отступе 0 пт, нет.
См. комментарии ниже в местах где происходят пропуски задержек в 100 мс.
Пока обедал, понял, что после 1-й торговой команды, проходит 100мс и эксперт к началу 2-й команды получает новые цены и уже может сразу же отклонить вторую, если цены не совпадают, т.е. ждать дополнительно 100 мс не нужно.
Будем считать, что все сделано правильно.
А вот OrderSendAsync () - хорошо бы сделать.
Анонс теперь - смена шапки.
Выделенные строки - не одно и то же.
Макрос.
Без макроса.
Возможно ли вариант с макросом привести к восприятию комментария? Спасибо.
Строка для поиска: Uluchshenie 080.Сортировка истории по символам работает не корректно( нет истории по некоторым символам, хотя если выбрать "Все символы" то сделки, позиции, ордера присутствуют как положено во всей истории)Билд 4137 от 18.01.24 года.
2 скриншота, видно, что выбор символа из списка-отсутствует, хотя история присутствует.
2 скриншота, видно, что выбор символа из списка-отсутствует, хотя история присутствует.
В меню "текущий символ" соответствует символу, на строке которого нажали ПКМ.