
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
xnsnet, ещё раз благодарю. Ваша поправка весьма существенна!
Всегда рад помоч:) Вам так же спасибо за проявленный интерес к моему вопросу:) По крайней мере я нашел для себя выход в том чтобы не создавать промежуточную память между управляемой средой и скриптом MQL, а использовать буфер внутри, конечно это еще спорно, что лучше, но тем нее менее, это выход.
Хорошо, буду постить, хотя редактирование позволяет сократить используемое пространство темы:)
Реально не хватает такой функции как подобия stackalloc аналогично C# было бы гораздо проще пользоваться памятью в терминале из вне и не вытаскивать палки из колес, с одним исключением, чтобы память была распределена из кучи. Но в связи с тем, что используются нулевые окончания это выбивается из стандартов языка. Хотя честно говоря я эти стандарты не очень понимаю, ANSI в строках с нулевым окончанием, это жестоко. Мои предпочтения относятся больше к Unicode, да и в .NET это стандарт, из-за которого приходится гонять туда сюда, из анси с нулем в юникод с фиксированной длинной:)
Метод тыка всегда оставался и остается единственным ключем к знанию не раскрытого. А вообще я бы сравнил MQL с языком который сужает возможности, похоже на ограничение, которое используется в целях управления. Не будь таких жестких правил, у меня бы все использование скриптов заканчивалось например на таком коде:
Хитро продуманный план удался:)
В связи со всем этим я могу сказать много чего, я сам протестировал такие подходы, память управляется терминалом и действительна только та строка которая объявлена. В обоих примерах не создастся тысяча строк, а будет использовано только две строки, третяя выгружается. И для создания буфера строки вполне применим такой способ. Раз нет иного способа разметить память для своих нужд в среде MQL, это самый подходящий. Но это проще чем размечать промежуточную память для передачи данных в обратную сторону, а потом ее выгружать с помощью контекста, но намного быстрее в своем контексте.
Реально не хватает такой функции как подобия stackalloc аналогично C# было бы гораздо проще пользоваться памятью в терминале из вне и не вытаскивать палки из колес, с одним исключением, чтобы память была распределена из кучи. Но в связи с тем, что используются нулевые окончания это выбивается из стандартов языка. Хотя честно говоря я эти стандарты не очень понимаю, ANSI в строках с нулевым окончанием, это жестоко. Мои предпочтения относятся больше к Unicode, да и в .NET это стандарт, из-за которого приходится гонять туда сюда, из анси с нулем в юникод с фиксированной длинной:)
Метод тыка всегда оставался и остается единственным ключем к знанию не раскрытого. А вообще я бы сравнил MQL с языком который сужает возможности, похоже на ограничение, которое используется в целях управления. Не будь таких жестких правил, у меня бы все использование скриптов заканчивалось например на таком коде:
Хитро продуманный план удался:)