Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Предлагаю миграцию double MarketInfo(string symbol, int type) осуществлять в виде набора функций возвращающих различные типы данных, согласно спецификации входных параметров
К примеру вот такие функции:
int MarketInfoInt(string symbol, int type);
string MarketInfoStr(string symbol, int type)....
Когда-то общался с разработчиками по поводу ПЕРЕГРУЗКИ и результатов функций, но они отказались это делать (а жаль).
PS
Исходя из этого наилучшим решением на этот момент думаю будет являться библиотека MarketInfo в которой буду находится все требуемые функции.
Кстати, именно так я и поступил у себя :)
На мой взгляд для работы с ТФ в условиях миграции необходимы две функции:
1. Преобразует число секунд в ТФ - скажем ENUM_TIMEFRAMES SecondToPeriod(int Value);
2. Преобразует период в секунды - скажем int PeriodToSecond(ENUM_TIMEFRAMES Value).
Что в своем модуле миграции я с успехом и сделал еще в самом начале (при этом есть еще и вариант с DLL).
PS
Для максимального соответствия MQL4 лично я избавился от всех нестандартных для него периодов
функция хороша и полезна, но вот исполнение....
я бы так сделал
во всех функция просто необходимо определить размер массивов
просто как азъ буки веди.
функция хороша и полезна, но вот исполнение..... ересь наиполнеешая
ваша работа??
ГДЕ БРЕАК!!!!!! горе програмисты!!!
во всех функция просто необходимо определить размер массивов
просто как азъ буки веди.
Не всегда, смотрим раздел Доступ к таймсериям и индикаторам:
Функции для работы с таймсериями и индикаторами. Таймсерия отличается от обычного массива тем, что индексация элементов таймсерии производится от конца массива к началу (от самых свежих данных к самым старым). Для копирования значений таймсерий и индикаторов рекомендуется использовать только динамические массивы, так как функции копирования самостоятельно распределяют необходимый размер массивов-приемников значений.
Из этого правила есть важное исключение: если копирование таймсерий и значений индикаторов необходимо делать часто, например, при каждом вызове OnTick() в экспертах или при каждом вызове OnCalculate() в индикаторах, то в этом случае лучше использовать статически распределенные массивы, так как операции распределения памяти под динамические массивы требуют дополнительного времени и это скажется при тестировании и оптимизации экспертов.
Не всегда, смотрим раздел Доступ к таймсериям и индикаторам:
как показывает моя практика это лучше сделать чем нет.
иначе появлется ошибка доступа к данным
особенно с глобальными массивами.
во первых потому что в массиве с обозначенным размером индексация статическая и нету эти опасных моментов массивов перевертышей
во вторых более экономно выделяется место под массивы
а в третих вероятность появление ошибки доступа к массиву снижается в разы
поэтому я считаю что для данных функций просто необходима функция определения размера массива
функция хороша и полезна, но вот исполнение....
я бы так сделал
В статью внесены изменения:
Что-то я сильно стал сомневаться в работоспособности вот этой конструкции. Как не пытался понять логику блока, не смог (а я сильно старался)...