Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Стандартная библиотека подразумевает, что контролы создаются на форме. Просто так они, вроде как, и вообще не должны работать. По крайней мере так было когда-то раньше.
Надо будет попробовать последние версии Кажарского из цикла статей про графические интерфейсы. Насколько быстро у него работает. И тогда еще раз писать разработчикам, чтобы подправили свое детище.
все ходят по одному кругу! ))) - именно из этого цикла статей про графические интерфейсы я и начал изучение возможностей MQL .... - опыт неудачный, часть примеров из статей уже не компилируются, автор выходит на связь, но обьем библиотеки очень большой, я не стал этой библиотекой пользоваться , хотя возможно у Вас получится
имхо или в течении недели изучить C# - примеров в сети уйма и дизайнер форм в VS такой же как в Делфи (на Делфи я писал ранее), или все таки использовать СБ - там хоть поддержка есть от разработчиков
все ходят по одному кругу! ))) - именно из этого цикла статей про графические интерфейсы я и начал изучение возможностей MQL .... - опыт неудачный, часть примеров из статей уже не компилируются, автор выходит на связь, но обьем библиотеки очень большой, я не стал этой библиотекой пользоваться , хотя возможно у Вас получится
имхо или в течении недели изучить C# - примеров в сети уйма и дизайнер форм в VS такой же как в Делфи (на Делфи я писал ранее), или все таки использовать СБ - там хоть поддержка есть от разработчиков
Жаль слышать, что та библиотека уже заворачивается. Я год или полтора назад ее пробовал, внешний вид панели мне понравился. Даже под МТ4 ее подправил и попробовал (из-за отличий в Canvas что-то сходу тоже не компилировалось) но потом, да, из-за сложности портирования под свою задачу, взял СБ. Подумал, что позже вернусь к графическим интерфейсам.
С# я вряд ли за неделю освою. Но поставить себе эту цель нужно, тем более уже есть нативная поддержка .NET библиотек. Вот и Вы подсказали, как его можно для своей конкретной задачи использовать.
А во втором случае надо
почему то не получилось с Вашим вариантом, может быть опять я накосячил )) ,
но получилось в итоге, что хотел - хочу без промежуточных указателей сразу в список сохранять данные, вот так работает и без утечек памяти:
тут как бы только начало моей идеи
хочу в свой шаблон запись и чтение в бинарный файл (хотя можно и в текстовый файл - не принципиально) реализовать, пока не соображу как можно с помощью шаблона поля class CData в файл записать - но очень хочется! ;)
хочу в свой шаблон запись и чтение в бинарный файл (хотя можно и в текстовый файл - не принципиально) реализовать, пока не соображу как можно с помощью шаблона поля class CData в файл записать - но очень хочется! ;)
Никогда не работал с CList и CObject, но исходники простые (кстати, там виртуальный метод Save по какой-то причине без модификатора const), поэтому сразу получилось.
ЗЫ Проще так написать
Тогда конструктор/деструктор не понадобятся. new/delete все же логично использовать там, где это, действительно, полезно. В остальном можно поступать так, как с FILE выше.
Никогда не работал с CList и CObject, но исходники простые, поэтому сразу получилось.
О! так быстро ответ получил! - БЛАГОДАРЮ! - будет чем ночью заняться.
я тоже исходники CList и CObject, читаю, проблем не наблюдаю, но тесты нужно проводить
ЗЫ: тут в общем что хочу получить... ну вроде как универсальный список:
1. в который можно добавлять структуры классы сразу при создании (реализовано - проверял мой пример data.AddValue(new CData(i,i*2.0)) - ОК)
2. в котором можно писать в файл и читать из файла "БД" (начал писать, пока конструктор шаблона вижу так
работаем без записи/чтения в файл №1 и №2 читаем БД при создании CDataBase с диска и запись на диск при вызове деструктора
....
ЗЫ:
ну и зачем все это? -пишу советников по стандартной схеме - магик и все манипуляции с ордерами через поиск ордера по магику, если ТС не по "101 индикатору", а сложнее то обычно 2 магика хватает, НО если ТС со отслеживанием 80 отложенных ордеров (10 сеток ордеров, сетки переоткрываются и ... если честно абсурдная ТС, но уже столкнулся с таким второй раз), то тут начинаются различного рода ухищрения - веду 80 ордеров по 80 сгенерированным магикам ))) - выкрутился, но не нравится мне все это
вот и хочу в итоге сделать маленькую БД в которую можно писать данные по ордерам (да все что угодно) и главное чтобы на саму БД вообще не обращать внимания - доступ как к элементам массива, чтение и запись в файл при запуске или выключении советника
кактотак )))
ЗЫ Проще так написать
Тогда конструктор/деструктор не понадобятся. new/delete все же логично использовать там, где это, действительно, полезно. В остальном можно поступать так, как с FILE выше.
Спасибо, но тут еще подумать нужно...вернее хочется сделать так чтобы не думать в дальнейшем ))) - в OnInit() создали БД, она прочитала файл, в DeInit() - убили БД, она записала файл, причем если проморгал delete в DeInit() , то терминал сам об этом сделает запись в журнал... по моему это исключает ошибки при работе с БД... в общем если сделаю там видно будет как удобно
если не затруднит, то зачем тут используем " :: " https://www.mql5.com/ru/docs/basis/operations/other
если не затруднит, то зачем тут используем " :: "
Иначе мне придется проверять, что в родительских классах нет одноименного метода. А даже если и нет, то если кто-то его добавит, код все равно останется рабочим.
По этой же причине использую всегда this для однозначности и читабельности.
ЗЫ Но в некоторых редких ситуациях :: и this лишают гибкости. Тут похожие тонкости на то, когда лучше писать тело метода внутри класса, а когда - снаружи. Помню, что со всем этим сталкивался, но примеров не приведу.
Иначе мне придется проверять, что в родительских классах нет одноименного метода. А даже если и нет, то если кто-то его добавит, код все равно останется рабочим.
По этой же причине использую всегда this для однозначности и читабельности.да это действительно практично и исключает появление багов, возьму на вооружение
Спасибо!
4. если флаг записи в файл m_fsave активен, то каждый раз вызывая метод AddValue() - производим дозапись в файл
Посмотрите формат записи CList. Вы его игнорируете.