Скачать MetaTrader 5

Нужна помощь!Скомпилировать индикатор с #property strict.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Только что поставил MetaTrader 5? Изучи его подробно!
Ivan Likhtar
141
Ivan Likhtar 2015.05.13 07:14 
Может кто попробует скомпилировать индикатор с #property strict что бы он нормально отображался на графике.
Просто после компиляции он не отоброжаеться на графике.

Очень нужно.Заранее спасибо

Файл удален . Администрация

George Merts
3609
George Merts 2015.05.13 07:15  
В сервис "Работа". Учитывая, что тут очень не любят декомпилированные версии.
George Merts
3609
George Merts 2015.05.13 07:16  
Там при компиляции - выдается целых 11 варнингов. Причем, несколько - весьма критических. Во-первых, их надо исправить.
George Merts
3609
George Merts 2015.05.13 07:30  
А во-вторых, да нихрена твой индикатор не должен работать ! У него сразу заполняется индикаторный массив по хрен знает какому значению, при том, что память там - еще не размещена. Неудивительно, что МТ4 охреневает.    Фтоппку его ! В сервис Работа, и за немного денежек - все исправят.
Dmitry Fedoseev
42907
Dmitry Fedoseev 2015.05.13 07:40  
George Merts:
А во-вторых, да нихрена твой индикатор не должен работать ! У него сразу заполняется индикаторный массив по хрен знает какому значению, при том, что память там - еще не размещена. Неудивительно, что МТ4 охреневает.    Фтоппку его ! В сервис Работа, и за немного денежек - все исправят.

Это как так "помять не размечена"? Это вы о чем?

Что с того что массивы заполняются? 

Dmitry Fedoseev
42907
Dmitry Fedoseev 2015.05.13 07:41  
Ivan Likhtar:
Может кто попробует скомпилировать индикатор с #property strict что бы он нормально отображался на графике.
Просто после компиляции он не отоброжаеться на графике.

Очень нужно.Заранее спасибо

Это стрикт иногда требует полной переделки алгоритма. Так-что на шару не выйдет. Да и зачем? Для маркета что ли?

Да еще декомпил, сейчас придет модератор и всех трахнет. 

George Merts
3609
George Merts 2015.05.13 09:04  
Dmitry Fedoseev:

Это стрикт иногда требует полной переделки алгоритма. Так-что на шару не выйдет. Да и зачем? Для маркета что ли?

Так потому и требует, что  идут обращения к индексам массивов, которых нету.

Dmitry Fedoseev:

Это как так "помять не размечена"?  

Это вы о чем?

Что с того что массивы заполняются? 

Да о том, что индекс массива не должен выходить за его пределы.

Не, оно понятно, что местным крутым программерам индексы в массиве - не указ, но я ж - ламер... И по-ламерски считаю, что обращение к массиву возможно лишь к существующим индексам.

Dmitry Fedoseev
42907
Dmitry Fedoseev 2015.05.13 09:20  
George Merts:

Так потому и требует, что  идут обращения к индексам массивов, которых нету.

Да о том, что индекс массива не должен выходить за его пределы.

Не, оно понятно, что местным крутым программерам индексы в массиве - не указ, но я ж - ламер... И по-ламерски считаю, что обращение к массиву возможно лишь к существующим индексам.

Ясно. Лишь бы что-нибудь сказать.
George Merts
3609
George Merts 2015.05.13 09:24  
Dmitry Fedoseev:
Ясно. Лишь бы что-нибудь сказать.

А по делу, Дмитрий ?

В первом же цикле заполнения индикаторных массивов идет запись значения EMPTY_VALUE, которая может быть записана по индексу, равном  Bars(). Ты считаешь, что это нормальное общание к массиву ?

Dmitry Fedoseev
42907
Dmitry Fedoseev 2015.05.13 09:36  
George Merts:

А по делу, Дмитрий ?

В первом же цикле заполнения индикаторных массивов идет запись значения EMPTY_VALUE, которая может быть записана по индексу, равном  Bars(). Ты считаешь, что это нормальное общание к массиву ?

По делу. В Эмкуле с памятью не работают. Здесь массивы, их масштабируют. Что касается индикаторов, в них буферы их даже не масштабируют, для них указывают что это буферы и все.

Для компиляции без стрикт - нормально, без стрикт даже глупо заморачиваться скурпулезым вычислением индексов. 

В данном индикаторе этот промах, конечно, является серьезной ошибкой. Потому-что из-за него идет расчет не одного нулевого бара, а двух баров. Да там и покруче ошибочки есть. Какой-то массив который и не буфер и размер ему не указан, но он и не нужен, его можно удалить, ему присвоение только выполняется, из него не читается.

George Merts
3609
George Merts 2015.05.13 09:52  
Dmitry Fedoseev:

По делу. В Эмкуле с памятью не работают. Здесь массивы, их масштабируют. Что касается индикаторов, в них буферы их даже не масштабируют, для них указывают что это буферы и все.

Ну так объявление переменной - это выделение памяти для нее на стеке, а оператор  new - это оператор для динамического выделения памяти в куче...

Разве не так ?

Для компиляции без стрикт - нормально, без стрикт даже глупо заморачиваться скурпулезым вычислением индексов. 

Ну... Я считаю, что это недопустимо в ЛЮБОМ случае. Стрикт, не стрикт (по умолчанию лично у меня стрикт включен всегда, я всегда компилирую без единого варнинга, и еще и использую дополнительно гору ассертов, и это меня не раз выручало в сложных случаях...

Ну и верно говоришь - там и покруче ошибки есть... Удивляюсь, как он раньше работал...

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий