Ошибки, баги, вопросы - страница 1845
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вопрос-просьба к разработчикам.
Очень не хватает возможности при переключении тайфреймов сохранять некоторые переменные или массивы, чтоб не происходила их переинициализация. Или это можно как-то сделать через OnDeinit определяя код причины REASON_CHARTCHANGE?
Просто у меня в теле программы происходят достаточно громоздкие вычисления, независящие от таймфрейма, не хочется их каждый раз пересчитывать. По моим ощущениям весьма не хватает особого типа глобальных переменных , которые не переинициализируются при смене таймфрейма. Я с бубнами научился это делать с простыми переменными без применения глобальных переменных терминала, но со структурами или массивами даже не представляю как это реализовать и похоже на то, что такой возможности просто не существует. Можно, конечно, через ресурсы, но это как -то очень по кривому.
каким образом?
Например так:
Например так:
Не об этом же спрашивали, но, возможно, это устроит автора вопроса, на который есть однозначный ответ - НИКАК.
В Сервисдеске нет отказа в этом
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.04.02 10:34
Возможно ли компенсировать отсутствие указателей на массив вводом возможности возврата массива функцией?Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.04.01 10:20
Когда-то типу string был добавлен оператор []Возможно ли со стороны разработчиков добавить оператор = для массивов?
Поскольку указателей нет, то подобный оператор сделал бы язык более гибким - нашлись ситуации, когда это было бы ОЧЕНЬ удобно.
Попробуйте использовать индикатор. Там глобальные переменные не переинициализируются при смене ТФ (насколько я помню). Или через файл.
Всё с точностью до наоборот:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Инициализация глобальных переменных программы и другие полезные знания.
Artyom Trishkin, 2016.12.05 20:27
Ответ получен от СД:
Думаю, можно смело использовать такую особенность глобальных переменных советников.
Попробуйте использовать индикатор. Там глобальные переменные не переинициализируются при смене ТФ (насколько я помню). Или через файл.
Индикатор и использую. Переинициализируются. Файл - вообще не вариант, медленно и синхронизацию сложно качественную обеспечить. Тогда уж лучше через ResourceCreate. Но это все ведь жутко не удобно. Если у меня несколько десятков массивов, некоторые по несколько Мб, я должен писать как минимум две функции записи и считывания, создавать обработчик в OnDeinit. Да я уже с этим всем экспериментировал, столкнулся с проблеммой синхронизации, т.к. ресурсы и файлы живут своей отдельной жизнью в условиях многопоточности. Зачем лепить горбатого, когда просто не хватает возможности непереинициализации при определенном событии, в моем случае смена таймфрейма.
Индикатор и использую. Переинициализируются. Файл - вообще не вариант, медленно и синхронизацию сложно качественную обеспечить. Тогда уж лучше через ResourceCreate. Но это все ведь жутко не удобно. Если у меня несколько десятков массивов, некоторые по несколько Мб, я должен писать как минимум две функции записи и считывания, создавать обработчик в OnDeinit. Да я уже с этим всем экспериментировал, столкнулся с проблеммой синхронизации, т.к. ресурсы и файлы живут своей отдельной жизнью в условиях многопоточности. Зачем лепить горбатого, когда просто не хватает возможности непереинициализации при определенном событии, в моем случае смена таймфрейма.
Всё с точностью до наоборот:
Но, блин, если мне нужна эта фишка в индикаторе!
Например так:
спасибо за пример, но создавать объект сложного типа из-за одного массива как раз и не хотелось бы, все это напоминает излишний код ))
Не об этом же спрашивали, но, возможно, это устроит автора вопроса, на который есть однозначный ответ - НИКАК.
В Сервисдеске нет отказа в этом
будем надеяться, что введут эту возможность, хотя более привычно было бы ввести указатель для массивов
Всё с точностью до наоборот: