всем привет, появилось немного свободного времени, решил переписать свои индикаторы.
в МКЛ4 перемены там появился ООП
собсно вопрос:
помогите создать массив массивов и как обращаться к нему?
пример на волнах:
есть класс ВОЛНА, в нем соответственно есть подволны
как создать массив экземпляров класса ВОЛНА чтобы в каждом экземпляре этого класса был доп массив с подволнами, и как обращаться к определенной подволне определенной волны?
дык вот ищу и никак ((
загвоздка во вложенности объекта в объект ((
волна имеет подволны которые в свою очередь на меньшем тф становятся сами волнами в которых свои подволны которые на еще меньшем тф становятся волнами со своими подволнами и так до минутного тф…
в итоге получаем кучу объектов вложенных друг в друга с заранее неизвестным их количеством…
вот и ломаю голову
Вероятнее всего в MQL5. Именно там, насколько мне известно, появились объекты.
Посмотрите в папку "\MQL5\Include\Arrays\" терминала.
Там есть несколько файлов с реализациями массивов различных типов. В том числе там есть файл ArrObj, который реализует массив объектов.
Если пройтись поиском по исходникам, которые идут с терминалом, то сможете найти примеры применения, ну или на форумах глянуть.
Вот мой пример, который примерно похож на вашу задачу:
Представитель «большой тройки» металлургов отчитался за 1 квартал Северсталь (CHMF) ➡️ Инфо и показатели 🔶 Результаты за 1 квартал — выручка: ₽145,3 млрд (-19%); —...
Чтобы заработать на выплатах компаний, важно выбрать правильный момент. От этого зависит, как быстро вы зафиксируете результат и на какой срок вложите капитал. Цена акций на следующий день...
В Т-Инвестициях сейчас идёт акция — можно получить дополнительный пакет акций при выполнении простых условий. Что нужно сделать:
— купить от 100 акций $MGKL до 30 апреля
—...
Долларовые российские облигации: ищем интересные идеи
Доходности российских долларовых облигаций, после достижения локального минимума в сентябре 2025 г., скорректировались вверх и сейчас торгуются в сравнительно широком боковике. Какие уровни...
khornickjaadle, электро проект генерит пока копеечную выручку и EBITDA, хотя маржинальность там хорошая (особенно если сопутку учитывать). Основная выручка — это оптовая реализация. И основные проб...
В Британии выявили закономерности инсайдерской торговле при президентстве Трампа BBC (Лондон) опубликовала статью с подозрением инсайдерской торговли.
В этой статье говорится о втором п...
⚙️ Северсталь: давление со всех сторон Представитель «большой тройки» металлургов отчиталсяза 1 квартал Северсталь (CHMF)➡️ Инфо и показатели 🔶Результаты за 1 квартал — выручка: ₽145,3 млрд (-19%); —...
Математика против истерики: как нейросети вскрыли реальную стоимость S&P 500 и рубля Прошлый выпуск на Sponsr получился по-настоящему «мясным» — и по контексту, и по практике. Мы разобрали инфляци...
Математика против истерики: как нейросети вскрыли реальную стоимость S&P 500 и рубля Прошлый выпуск на Sponsr получился по-настоящему «мясным» — и по контексту, и по практике. Мы разобрали инфляци...
Обращаться как с обычными массивами, плюс свои операции docs.mql4.com/ru/array
А вообще там доки не ахти, хрен что найдешь. Рекомендую найти готовый индикатор и смотреть как в нем что реализовано.
загвоздка во вложенности объекта в объект ((
волна имеет подволны которые в свою очередь на меньшем тф становятся сами волнами в которых свои подволны которые на еще меньшем тф становятся волнами со своими подволнами и так до минутного тф…
в итоге получаем кучу объектов вложенных друг в друга с заранее неизвестным их количеством…
вот и ломаю голову
Вероятнее всего в MQL5. Именно там, насколько мне известно, появились объекты.
Посмотрите в папку "\MQL5\Include\Arrays\" терминала.
Там есть несколько файлов с реализациями массивов различных типов. В том числе там есть файл ArrObj, который реализует массив объектов.
Если пройтись поиском по исходникам, которые идут с терминалом, то сможете найти примеры применения, ну или на форумах глянуть.
Вот мой пример, который примерно похож на вашу задачу:
#include <Object.mqh>
#include <Arrays\ArrayObj.mqh>
class CLeg: public CObject
{
private:
long _digits;
double _ticksize;
void Deinit();
public:
CLeg(JSONObject *obj);
~CLeg(void);
double Size;
string Symbol;
double LastPrice();
double Normalize(const double price) const;
};
class CLegs: public CArrayObj
{
public:
CLegs(JSONArray *obj);
~CLegs(void);
CLeg* operator[](const int index) const { return((CLeg*)CArrayObj::At(index)); }
};
CLeg в вашем случае — это волна CWave
СLegs в вашем случае — это волны CWaves.
Новая волна добавляем в список например так:
//Constructor
CLegs::CLegs(JSONArray *obj)
{
FreeMode(true);
for(int i = 0; i < obj.size(); i++)
Add(new CLeg(obj.getObject(i)));
}