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

 
IgorM:

да именно это и ищу:

ктонить решил эту задачу?

дело в том, что в очередной раз хотелось бы портировать на mql5 С++ код, но в очередной раз спотыкаюсь "о грабли" с динамическими массивами mql5

PS: хоть топик заводи с надеждой, что коллективным разумом победим эти грабли... 

У меня стимул пропал решать именно в той постановке. Спортивный интерес угас, а для практики конструкция будет очень тормознутая (проверено), т.к. придётся всё делать через указатели, а они в mql5 работают медленно, ибо не указатели вовсе а хендлы, ссылающиеся на скрытую системную таблицу реальных указателей.

Но это касается только "универсальной реализации", для массивов с неизвестной заранее произвольной размерностью.  Что касается частных случаев массивов с фиксированной размерностью (2х, 3х, 4х, 5и и т.д.-мерных), то для них возможны скоростные реализации, причём с плотной упаковкой элементов.  Я для себя двумерный сделал, большие размерности пока не понадобились.  Бесплатно делать для общественности пока влом. Для маркета может и сделал бы, но пока не реализованы ex5-библиотеки классов скрыть реализацию не удастся. Поэтому - либо делай сам, либо заказывай. Умельцев способных это сделать много, на мне свет клином не сошёлся. Но в принципе мог бы и я взяться за хорошую цену.

 
MetaDriver: Бесплатно делать для общественности пока влом.
понятно, спасибо, но чет опять хочется МТ5 еще на пару месяцев забросить, значит буду юзать как и ранее .dll от С++
 

К моему пред. посту = добавка..

Похоже, память вся вышла после компиляций.. Старые экземпляры советника - не удаляются??

Чарты и логи чищу влёт - за ненадобностью..

а в боте - всего-то буферов на 480 байт.. да переменных - с десяток..


 
IgorM:
понятно, спасибо, но чет опять хочется МТ5 еще на пару месяцев забросить, значит буду юзать как и ранее .dll от С++

Что мешает самому сделать? Недостаток умений? И как ты собираешься наращивать квалификацию, если не будешь браться за новые для себя задачки? 

Там же ничего сложного нет. Сядь, подумай, сделай.

--

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

 
MetaDriver:

Что мешает самому сделать? Недостаток умений? И как ты собираешься наращивать квалификацию, если не будешь браться за новые для себя задачки? 

Там же ничего сложного нет. Сядь, подумай, сделай.

дык ничего и не мешает, знаю, что могу, наверное сознательны пытаюсь снизить свою квалификацию )))) - лето обленился совсем, пора опять за старое - за программирование браться

спасибо за своевременный пинок! :) 

ЗЫ: только заметил, что в mql5 появилась перегрузка операций, а помнится Рашид однозначно сказал, что перегрузки операций нет и не будет

Документация по MQL5: Основы языка / Функции / Перегрузка операций
Документация по MQL5: Основы языка / Функции / Перегрузка операций
  • www.mql5.com
Основы языка / Функции / Перегрузка операций - Документация по MQL5
 
OrderSendAsync -  планируется , в тестере стратегий,  до норм состояния довести?
 
IgorM:

ЗЫ: только заметил, что в mql5 появилась перегрузка операций, а помнится Рашид однозначно сказал, что перегрузки операций нет и не будет

Вот еще бы с обработкой исключений такое же произошло бы, было бы совсем хорошо!

Уже больше трех месяцев не могу выловить косяк, непонятно чей, в эксперте - примерно раз или два в неделю вываливается с сообщением о том, что "array out of range".

Все мыслимые проверки воткнул в это место - бесполезно, а когда эксперт удаляется с этим сообщением, как я могу узнать, почему это произошло?!

Хрен его знает, как с этим бороться! Нет исключений, дайте какой-нибудь другой механизм!

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

Блин, зла не хватает, уперлись как ...

 
falkov:

Уже больше трех месяцев не могу выловить косяк, непонятно чей, в эксперте - примерно раз или два в неделю вываливается с сообщением о том, что "array out of range". 

Разве в этой ошибке не указывается номер строки и позиции, где она произошла?

 
marketeer:

Разве в этой ошибке не указывается номер строки и позиции, где она произошла?

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

Место мне известно, мне не понятно, почему это происходит!

Проверяю и размер массива перед этой строчкой и другие переменные на выход за границы.

А все равно пару раз в неделю эксперт вываливается.

Скорее всего, это моя ошибка, я и не против этого. Я против того, что у меня нет никаких механизмов выяснить, где собака порылась.

В то-же время есть простой и удобный механизм исключений. Они и были как-раз введены для подобных случаев.

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

Какой-то несуразный аргумент, на мой взгляд.

 
Блин.., Чем дальше в лес, тем больше дров. Фиг с ним, что в тестере стратегий, OrderSendAsync работает как  OrderSend. Так еще и при реквоте, ни OnTrade ни OnTradeTransaction не реагирует на этот реквот. На живом сервере  OnTradeTransaction возвращает реквот. 
Причина обращения: