Ошибки, баги, вопросы - страница 3297

 
Михалыч Трейдинг #:

99% причина в компетентности программиста. Особенно после перехода с MT4 на MT5. Какие-нибудь индикаторные хендлы генерирует на каждом тике.

В общем, все подобные проблемы тормозов - дело рук кодера.

 
fxsaber #:

99% причина в компетентности программиста. Особенно после перехода с MT4 на MT5. Какие-нибудь индикаторные хендлы генерирует на каждом тике.

В общем, все подобные проблемы тормозов - дело рук кодера.

Все косяки - наших рук дело, это я понял. Не понял только почему бары не рисуются независимо от индикаторов?

Неужели такую важную функцию разработчики увязали с работой индикаторов? Ведь ВСЁ работает! Таймфреймы переключаются без задержек, все окна открываются/закрываются/вызываются и т.д. и т.п. Ну ВСЁ работает, кроме самого важного...

 
Михалыч Трейдинг #:

СПАСИБО!

Вспомнил - еще один вопрос меня мучает: тики МТ получает нормально, вовремя, индикаторы (допустим) не успевает посчитать (на 5К баров в окне???),

а какая связь с неотрисовкой баров??? Пусть бы индикатор не нарисовался, отстал, а бары-то причем?

То, что Вы описываете (неотрисовка баров) явный признак, что работает "тяжёлый" индикатор. Можно и на 100 барах такой цикл намудрить (не специально), что ничего работать не будет. Вариант с тестом Вам предложили отличный.

Бары не прорисовываются из-за того, что график и индикатор работают в одном потоке. Такова парадигма разработчиков - график ждёт, пока индикаторы не обработают все поступающие тики. Иначе может получится ситуация, что индикатор показывает значения по "старым" ценам, а график уже новые. А так всё синхронно. 
 
Andrey Miguzov #:
То, что Вы описываете (неотрисовка баров) явный признак, что работает "тяжёлый" индикатор. Можно и на 100 барах такой цикл намудрить (не специально), что ничего работать не будет. Вариант с тестом Вам предложили отличный.

Бары не прорисовываются из-за того, что график и индикатор работают в одном потоке. Такова парадигма разработчиков - график ждёт, пока индикаторы не обработают все поступающие тики. Иначе может получится ситуация, что индикатор показывает значения по "старым" ценам, а график уже новые. А так всё синхронно. 

Теперь окончательно понял куда/как и почему копать.

Ребята, большущее спасибо за помощь, да еще такую быструю!!! ПРОФИТОВ вам НЕМЕРЯНЫХ!

 

В тестере словил

2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00   Unhandled exception 0xC0000096
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00      crash -->  0000000002DE48D0 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00                 0000000002DE48D1 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00                 0000000002DE48D2 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00                 0000000002DE48D3 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00                 0000000002DE48D4 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00                 0000000002DE48D5 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00                 0000000002DE48D6 FB                sti        
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00   
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00   00: 0x0000000002DE48D0
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00   01: 0x000000014061177A
2023.03.07 22:53:01.447 Core 1  2022.01.01 00:00:00   
2023.03.07 22:53:01.447 Core 1  global initialization failed
2023.03.07 22:53:01.447 Core 1  global initialization critical error
2023.03.07 22:53:01.447 Core 1  tester stopped because expert initialization failed
2023.03.07 22:53:01.448 Core 1  disconnected
2023.03.07 22:53:01.448 Core 1  connection closed
2023.03.07 22:53:01.459 Tester  quality of analyzed history is 99%
 

Как понимать ошибку

2023.03.07 23:32:27.245 Core 1  OnTester critical error

В советнике

double OnTester()
{
        return(0.0);
}
 
Aleksey Vyazmikin #:

Как понимать ошибку

В советнике

Не воспроизводится.

 
fxsaber #:

Не воспроизводится.

Ну да, я же не весь код тут выложил. В коде обошел эту ошибку у себя вроде как.

Связана с OrderSend(), а точней блокировкой её когда заполнена MqlTradeRequest  и требуется модификация открытого ордера - почему то советник сходит с ума.

if(request_02.position!=0)Block_Open=true;

Я с ордерами конечно не так дружу - сижу ковыряю.

 
У меня в памяти сидит устойчивое требование к советнику, использующему индикаторы и редко торгующему, которое заключается в том, что индикаторы надо периодически опрашивать, иначе они как бы выгружаются из памяти. Это у меня искаженная память, и достаточно опрашивать индикаторы раз в сутки, или это было в MT4, а в MT5 уже такого нет, или же так и надо делать?
 
Aleksey Vyazmikin #:
У меня в памяти сидит устойчивое требование к советнику, использующему индикаторы и редко торгующему, которое заключается в том, что индикаторы надо периодически опрашивать, иначе они как бы выгружаются из памяти. Это у меня искаженная память, и достаточно опрашивать индикаторы раз в сутки, или это было в MT4, а в MT5 уже такого нет, или же так и надо делать?

разве проверка условий для открытия это не обращение к индикатору?

единственный момент что если на H1 и реже проверять новый бар, а там индикатор действительно заснул, то будет пропуск, на новом баре будут данные прошлого, редко но встречается, решение забыть раз и навсегда newbar