TimeToCalendar в AVX-компиляторе очень сильно опережает любые другие реализации.
Для анализа компилятора предоставляю исходник воспроизведения ситуации, когда удаление безобидной строки увеличивает в два раза AVX-производительность кода, который очень далеко в очереди по выполнению.
Для анализа компилятора предоставляю исходник воспроизведения ситуации, когда удаление безобидной строки увеличивает в два раза AVX-производительность кода, который очень далеко в очереди по выполнению.
в ней преобразование в string, конкатенация,поиск в массиве и вывод в журнал..каждое по отдельности может втормозить, а уж вместе тем более. И кеши они срывают, конвееры прерывают.
Для анализа компилятора предоставляю исходник воспроизведения ситуации, когда удаление безобидной строки увеличивает в два раза AVX-производительность кода, который очень далеко в очереди по выполнению.
Если ее не удалять, а сделать невызываемой, то ускорения не будет. Т.е. ускорение достигается не за счет отсутствия вызова этой строки, а за счет генерации другого кода компилятором, когда этой строки нет в самом исходнике.
3 свопа за вторник-среду и 3 свопа за среду-четверг.
Разве это правильно?
Bild 4709. Что-то со свопами поменялось, но по прежнему за эти 2 дня берется *6 своп. Хотя если тестировать отдельно каждый день, то все норм, а если за несколько дней - нет.
А в целом объем свопов увеличился в тесте за 6 лет. Проанализировал логи. Оказалось, что вместо *3 свопа берется *5 при переходе со среды на четверг.
По Buy все дни берет по 1 свопу, а 2024-05-16 5 свопов:
Отчеты Тестера не показываю длительность сделок. Вот те же сделки из нормального отчета: (видно, что позиция жила менее 1 дня, а не 3-5 дней)
N
Ticket
Magic
OpenTime
CloseTime
LengthTime
TurnOver
Symbol
Type
Lots
OpenPrice
StopLoss
TakeProfit
ClosePrice
Commission
Swap
Profit
Comment
Pips
Slippage
Balance
10215
20429
100010213
2024.05.14 15:32:01.414
2024.05.15 15:39:23.065
1d 00:07:21.651
216 369.00
EURUSD
sell
1.00
1.07876
1.08493
-1.00 (-1.00)
-617.00
-617
1 000 003 160.10
10216
20431
100010214
2024.05.15 15:39:23.065
2024.05.15 17:35:10.165
01:55:47.100
217 012.00
EURUSD
buy
1.00
1.08493
1.08519
26.00
26
1 000 003 186.10
10217
20433
100010215
2024.05.15 17:35:10.165
2024.05.16 09:53:07.627
16:17:57.462
217 268.00
EURUSD
sell
1.00
1.08519
1.08749
-5.00 (-5.00)
-230.00
-230
1 000 002 951.10
10218
20435
100010216
2024.05.16 09:53:07.627
2024.05.16 18:54:55.050
09:01:47.423
217 493.00
EURUSD
buy
1.00
1.08749
1.08744
-5.00
-5
1 000 002 946.10
10219
20437
100010217
2024.05.16 18:54:55.050
2024.05.17 05:30:04.085
10:35:09.035
217 299.00
EURUSD
sell
1.00
1.08744
1.08555
-1.00 (-1.00)
189.00
189
1 000 003 134.10
По Sell все дни берет по 1 свопу = 0.7, а 2024-05-23 5 свопов:
Нормальный отчет:
N
Ticket
Magic
OpenTime
CloseTime
LengthTime
TurnOver
Symbol
Type
Lots
OpenPrice
StopLoss
TakeProfit
ClosePrice
Commission
Swap
Profit
Comment
Pips
Slippage
Balance
10227
20453
100010225
2024.05.22 18:45:32.718
2024.05.22 21:18:03.612
02:32:30.894
216 691.00
EURUSD
sell
1.00
1.08425
1.08266
159.00
159
1 000 003 702.70
10228
20455
100010226
2024.05.22 21:18:03.612
2024.05.23 10:30:01.150
13:11:57.538
216 590.00
EURUSD
buy
1.00
1.08266
1.08324
-3.50 (-3.50)
58.00
58
1 000 003 757.20
10229
20457
100010227
2024.05.23 10:30:01.150
2024.05.23 16:45:00.415
06:14:59.265
216 696.00
EURUSD
sell
1.00
1.08324
1.08372
-48.00
-48
1 000 003 709.20
10230
20459
100010228
2024.05.23 16:45:00.415
2024.05.24 10:52:53.487
18:07:53.072
216 619.00
EURUSD
buy
1.00
1.08372
1.08247
-0.70 (-0.70)
-125.00
-125
1 000 003 583.50
10231
20461
100010229
2024.05.24 10:52:53.487
2024.05.27 15:03:41.301
3d 04:10:47.814
216 720.00
EURUSD
sell
1.00
1.08247
1.08473
-1.00 (-1.00)
-226.00
-226
1 000 003 356.50
Тестирование проделанной работы видимо в MQ отсутствует... в предыдущий раз то же самое было. Исправили исправленное, которое опять исправлять надо /
Forester #: Bild 4709. Что-то со свопами поменялось, но по прежнему за эти 2 дня берется *6 своп. Хотя если тестировать отдельно каждый день, то все норм, а если за несколько дней - нет.
А в целом объем свопов увеличился в тесте за 6 лет. Проанализировал логи. Оказалось, что вместо *3 свопа берется *5 при переходе со среды на четверг.
По Buy все дни берет по 1 свопу, а 2024-05-16 5 свопов:
Отчеты Тестера не показываю длительность сделок. Вот те же сделки из нормального отчета: (видно, что позиция жила менее 1 дня, а не 3-5 дней)
N
Ticket
Magic
OpenTime
CloseTime
LengthTime
TurnOver
Symbol
Type
Lots
OpenPrice
StopLoss
TakeProfit
ClosePrice
Commission
Swap
Profit
Comment
Pips
Slippage
Balance
10215
20429
100010213
2024.05.14 15:32:01.414
2024.05.15 15:39:23.065
1d 00:07:21.651
216 369.00
EURUSD
sell
1.00
1.07876
1.08493
-1.00 (-1.00)
-617.00
-617
1 000 003 160.10
10216
20431
100010214
2024.05.15 15:39:23.065
2024.05.15 17:35:10.165
01:55:47.100
217 012.00
EURUSD
buy
1.00
1.08493
1.08519
26.00
26
1 000 003 186.10
10217
20433
100010215
2024.05.15 17:35:10.165
2024.05.16 09:53:07.627
16:17:57.462
217 268.00
EURUSD
sell
1.00
1.08519
1.08749
-5.00 (-5.00)
-230.00
-230
1 000 002 951.10
10218
20435
100010216
2024.05.16 09:53:07.627
2024.05.16 18:54:55.050
09:01:47.423
217 493.00
EURUSD
buy
1.00
1.08749
1.08744
-5.00
-5
1 000 002 946.10
10219
20437
100010217
2024.05.16 18:54:55.050
2024.05.17 05:30:04.085
10:35:09.035
217 299.00
EURUSD
sell
1.00
1.08744
1.08555
-1.00 (-1.00)
189.00
189
1 000 003 134.10
По Sell все дни берет по 1 свопу = 0.7, а 2024-05-23 5 свопов:
Нормальный отчет:
N
Ticket
Magic
OpenTime
CloseTime
LengthTime
TurnOver
Symbol
Type
Lots
OpenPrice
StopLoss
TakeProfit
ClosePrice
Commission
Swap
Profit
Comment
Pips
Slippage
Balance
10227
20453
100010225
2024.05.22 18:45:32.718
2024.05.22 21:18:03.612
02:32:30.894
216 691.00
EURUSD
sell
1.00
1.08425
1.08266
159.00
159
1 000 003 702.70
10228
20455
100010226
2024.05.22 21:18:03.612
2024.05.23 10:30:01.150
13:11:57.538
216 590.00
EURUSD
buy
1.00
1.08266
1.08324
-3.50 (-3.50)
58.00
58
1 000 003 757.20
10229
20457
100010227
2024.05.23 10:30:01.150
2024.05.23 16:45:00.415
06:14:59.265
216 696.00
EURUSD
sell
1.00
1.08324
1.08372
-48.00
-48
1 000 003 709.20
10230
20459
100010228
2024.05.23 16:45:00.415
2024.05.24 10:52:53.487
18:07:53.072
216 619.00
EURUSD
buy
1.00
1.08372
1.08247
-0.70 (-0.70)
-125.00
-125
1 000 003 583.50
10231
20461
100010229
2024.05.24 10:52:53.487
2024.05.27 15:03:41.301
3d 04:10:47.814
216 720.00
EURUSD
sell
1.00
1.08247
1.08473
-1.00 (-1.00)
-226.00
-226
1 000 003 356.50
Тестирование проделанной работы видимо в MQ отсутствует... в предыдущий раз то же самое было. Исправили исправленное, которое опять исправлять надо /
Одним из способов улучшить функцию свойств TimeToStruct(TimeCurrent()).year можно добавить возможность обращения к году напрямую через функцию TimeCurrent().year . Таким образом, можно избежать необходимости создания дополнительной переменной типа MqlDateTime для получения года.
Я в последнюю неделю активно использую чат-группу, и вот что я скажу - это очень неудобно!
Нет возможности обратиться к конкретному участнику, приходится копировать его ник, хотя обычно для этих целей есть специальная кнопка.
Нет списка участников, или я его не вижу.
Нет возможности отвечать на часть фразы, что очень неудобно, особенно когда люди много пишут и сразу на все темы.
Нет поиска, что важно, если идёт обсуждение важной информации и к ней надо вернуться.
Нет возможности редактировать своё сообщение. Да, я в последнее время делаю часто опечатки, замечаю позже, и уже не могу их исправить после отправки. А это может влиять на смысл предложения.
Хорошо бы сделать возможность сохранять чаты в файл pdf или как то иначе.
Если я хочу пригласить человека, который запретил ему писать всем, то я этого не могу сделать без общения с ним, хотя это же не ему в личку дальше пойдут сообщение, нужно - хотя бы дать возможность ему отправлять приглашение с информационным сообщением, отклонит, ну и ладно.
Баг с тиковыми данными в истории MQ Demo: Почти час цена тиков резко меняется на +-350 пт. Прошу поправить, чтобы можно было нормально тестировать на ваших демо данных. Файл 201711.tkc обновлял - не помогло.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2024.11.27 16:57
Волшебство.
Убираем в исходнике (см. вложение) эту строку.
TimeToCalendar в AVX-компиляторе очень сильно опережает любые другие реализации.
Для анализа компилятора предоставляю исходник воспроизведения ситуации, когда удаление безобидной строки увеличивает в два раза AVX-производительность кода, который очень далеко в очереди по выполнению.
Строка для поиска: Uluchshenie 105.Для анализа компилятора предоставляю исходник воспроизведения ситуации, когда удаление безобидной строки увеличивает в два раза AVX-производительность кода, который очень далеко в очереди по выполнению.
Строка для поиска: Uluchshenie 105.а это совсем не безобидная строка ;-)
в ней преобразование в string, конкатенация,поиск в массиве и вывод в журнал..каждое по отдельности может втормозить, а уж вместе тем более. И кеши они срывают, конвееры прерывают.
а это совсем не безобидная строка ;-)
Для анализа компилятора предоставляю исходник воспроизведения ситуации, когда удаление безобидной строки увеличивает в два раза AVX-производительность кода, который очень далеко в очереди по выполнению.
Если ее не удалять, а сделать невызываемой, то ускорения не будет. Т.е. ускорение достигается не за счет отсутствия вызова этой строки, а за счет генерации другого кода компилятором, когда этой строки нет в самом исходнике.
Пожалуйста, уберите лишние подсказки в Metaeditor.
https://www.mql5.com/ru/forum/1111/page3595#comment_55261383
К случаям, упомянутым в посте по ссылке выше, можно добавить объявление переменных тоже. Я думаю, смысл вы поняли, вам там виднее.
Demo MQ. По прежнему в тестере берется *3 своп 2 раза в неделю
https://www.mql5.com/ru/forum/474452#comment_54821872
3 свопа за вторник-среду и 3 свопа за среду-четверг.
Разве это правильно?
А в целом объем свопов увеличился в тесте за 6 лет. Проанализировал логи. Оказалось, что вместо *3 свопа берется *5 при переходе со среды на четверг.
По Buy все дни берет по 1 свопу, а 2024-05-16 5 свопов:

Отчеты Тестера не показываю длительность сделок. Вот те же сделки из нормального отчета: (видно, что позиция жила менее 1 дня, а не 3-5 дней)
По Sell все дни берет по 1 свопу = 0.7, а 2024-05-23 5 свопов:

Нормальный отчет:
Тестирование проделанной работы видимо в MQ отсутствует... в предыдущий раз то же самое было. Исправили исправленное, которое опять исправлять надо /
Bild 4709. Что-то со свопами поменялось, но по прежнему за эти 2 дня берется *6 своп. Хотя если тестировать отдельно каждый день, то все норм, а если за несколько дней - нет.
А в целом объем свопов увеличился в тесте за 6 лет. Проанализировал логи. Оказалось, что вместо *3 свопа берется *5 при переходе со среды на четверг.
По Buy все дни берет по 1 свопу, а 2024-05-16 5 свопов:
Отчеты Тестера не показываю длительность сделок. Вот те же сделки из нормального отчета: (видно, что позиция жила менее 1 дня, а не 3-5 дней)
По Sell все дни берет по 1 свопу = 0.7, а 2024-05-23 5 свопов:
Нормальный отчет:
Тестирование проделанной работы видимо в MQ отсутствует... в предыдущий раз то же самое было. Исправили исправленное, которое опять исправлять надо /
Напишу тут про чат-группы.
Я в последнюю неделю активно использую чат-группу, и вот что я скажу - это очень неудобно!
Почти час цена тиков резко меняется на +-350 пт. Прошу поправить, чтобы можно было нормально тестировать на ваших демо данных. Файл 201711.tkc обновлял - не помогло.