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

 
Interesting:

Разработчики  любом случае попросят все локализовать, создать заявку в СД, прикрепить эксперта и описать все максимально подробно.

На то они и разработчики (ну Вы же их знаете), а телепаты сегодня отдыхают. :)

Да всё нормально.)) Сейчас локализую.))

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

То есть, я бы хотел узнать, Access violation write (0xкод) и Access violation read  (0xкод)  в каких случаях возникает? Я приблизительно месяц эту программу не трогал. Значит после какого-то билда эта проблема начала проявлять себя. Возможно разработчики ужесточили проверки и теперь нужно писать код более грамотно. Только где искать теперь ошибку в ~20 000 строк кода? )))

 
tol64:

Да всё нормально.)) Сейчас локализую.))

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

То есть, я бы хотел узнать, Access violation write (0xкод) и Access violation read  (0xкод)  в каких случаях возникает? Я приблизительно месяц эту программу не трогал. Значит после какого-то билда эта проблема начала проявлять себя. Возможно разработчики ужесточили проверки и теперь нужно писать код более грамотно. Только где искать теперь ошибку в ~20 000 строк кода? )))

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

Господа, подскажите пожалуйста, какой есть компактный способ (м.б. функции существуют) для выявления самого большого/маленького значения одного из существующих буферов? Не просто выявления, а ещё и определения, что это за буфер с самым большим/маленьким значением.

Допустим у нас 4 буфера, тогда самое простое, что приходит на ум, это сравнивать сначала 1-й с остальными (типа if(one[0]<two[0] && one[0]<three[0]&& ...etc.)). Если ложно, то затем второй сравнить таким же макаром и так далее. Но это как-то громоздко выглядит..

 
Cmu4:

Господа, подскажите пожалуйста, какой есть компактный способ (м.б. функции существуют) для выявления самого большого/маленького значения одного из существующих буферов? Не просто выявления, а ещё и определения, что это за буфер с самым большим/маленьким значением.

Допустим у нас 4 буфера, тогда самое простое, что приходит на ум, это сравнивать сначала 1-й с остальными (типа if(one[0]<two[0] && one[0]<three[0]&& ...etc.)), затем второй сравнить таким же макаром и так далее. Но это как-то громоздко выглядит..

ArrayMinimum возвращает индекс минимального значения массива, по аналогии работает и ArrayMaximum.

если нужно сравнить несколько буферов то получив экстремальные значения потом можно их сравнить с помощью if или fmin, fmax.

 
Cmu4:
Как думаете, этот способ меньше ресурсов требует, чем простой перебор, о котором я писал выше?

Без вариантов,

хотя нет, если массивы в которых ведётся поиск имеют длину 3-4 бара и массивов 2-3 то перебрать будет быстрее.

 
Urain:

ArrayMinimum возвращает индекс минимального значения массива, по аналогии работает и ArrayMaximum.

если нужно сравнить несколько буферов то получив экстремальные значения потом можно их сравнить с помощью if или fmin, fmax.

Сейчас почитал описание функций... 

ArrayMinimum из другой оперы - т.к. мне нужно сравнивать значение 0 бара, и поиск истории массива не нужен.

fmin сравнивает только два буфера, смысл в ней? С таким же успехом я могу воспользоваться стандартным if.. Но тогда получается много условий.. 4 сложных на минимум и столько же на максимум.. 

 
Cmu4:

Сейчас почитал описание функций... 

ArrayMinimum из другой оперы - т.к. мне нужно сравнивать значение 0 бара, и поиск истории массива не нужен.

fmin сравнивает только два буфера, смысл в ней? С таким же успехом я могу воспользоваться стандартным if.. Но тогда получается много условий.. 4 сложных на минимум и столько же на максимум.. 

fmin сравнивает не буфера а два значения.

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

Теперь ответьте вам нужно это только для нулевых значений ? или же это действие нужно повторять для множества параллельных значений ?

 
Urain:

fmin сравнивает не буфера а два значения.

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

Теперь ответьте вам нужно это только для нулевых значений ? или же это действие нужно повторять для множества параллельных значений ?

Это нужно для советника, который торгует с рынка. Соответственно нужно сравнивать значения всех буферов на текущем баре.

Вот скрин индикатора, на нулевом баре которого нужно найти максимальный и минимальный буффер:

 

 
Cmu4:

Это нужно для советника, который торгует с рынка. Соответственно нужно сравнивать значения всех буферов на текущем баре.

Вот скрин индикатора, на нулевом баре которого нужно найти максимальный и минимальный буффер:

 

Тогда проще простого, присвойте по порядку все нулевые значения буферов в один массив (можно даже заданный статично тк количество буфферов зарание известно) и уже к этому сводному массиву применяйте функции ArrayMinimum ArrayMaximum, в результате получите порядковый номер буфера в порядке присвоения.
 
Urain:
Тогда проще простого, присвойте по порядку все нулевые значения буферов в один массив (можно даже заданный статично тк количество буфферов зарание известно) и уже к этому сводному массиву применяйте функции ArrayMinimum ArrayMaximum, в результате получите порядковый номер буфера в порядке присвоения.
Спасибо, это подойдёт! :)
Причина обращения: