Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1174
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Второе и следующие измерения массива не могут быть динамическими. Следовательно как объявлен массив, к примеру int Mas[][7]; так и принимать его надо MyFun(int &Mas[][7])
Спасибо. Моих мозгов не хватило.
Здравствуйте программисты. В очередной раз обращаюсь за Вашей помощью. Есть стандартный индикатор из которго нужно получить единственное значение. Индикатор вроде подключил и скопировал массив его значений в буфер double buf_atr[] Распечатка в журнал ArrayPrint(buf_atr) показывает такие значения:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
КАК МНЕ ОБРАТИТЬСЯ К ЯЧЕЙКЕ МАССИВА В КОТОРОЙ ЗНАЧЕНИЕ 0.00030 ??Получается это значение не на текущей свече 0 а на предыдущей уже сформированной 1
Вроде все работает но как обратиться к ячейке массива для дальнейше работы с ней я не знаю;(
Здравствуйте программисты. В очередной раз обращаюсь за Вашей помощью. Есть стандартный индикатор из которго нужно получить единственное значение. Индикатор вроде подключил и скопировал массив его значений в буфер double buf_atr[] Распечатка в журнал ArrayPrint(buf_atr) показывает такие значения:
0.00032 0.00037 0.00039 0.00039 0.00041 0.00039 0.00037 0.00036 0.00034 0.00035 0.00035 0.00035 0.00034 0.00030
КАК МНЕ ОБРАТИТЬСЯ К ЯЧЕЙКЕ МАССИВА В КОТОРОЙ ЗНАЧЕНИЕ 0.00030 ??Получается это значение не на текущей свече 0 а на предыдущей уже сформированной 1
Вроде все работает но как обратиться к ячейке массива для дальнейше работы с ней я не знаю;(
РАБОТАЕТ УРА!!! НУЖНО ОБРАЩАТЬСЯ К buf_atr[buf_size-1] ЧЕГО Я ТОЛЬКО НЕ ПЕРЕПРОБОВАЛ. БОЛЬШОЕ ВАМ ЧЕЛОВЕЧЕСКОЕ СПАСИБО Vitaly Muzichenko
Обязателен ли mql стиль, array reference ?
Dialog.mqh
Создал свой класс CAppDialogPTR - наследник от CAppDialog - подскажите как правильно переопределить объекты m_background, m_caption ... из класса CDialog для доступа к ним из своего класса?
Dialog.mqh
Никак. Эти объекты закрыты от непосредственного изменения в Вашем классе, о чем говорит ключевое слово private. Работать с ними напрямую нельзя. Используйте методы класса CDialog которые работают с этими полями.
Никак. Эти объекты закрыты от непосредственного изменения в Вашем классе, о чем говорит ключевое слово private. Работать с ними напрямую нельзя. Используйте методы класса CDialog которые работают с этими полями.
Допустим.
У созданного экземпляра класса CAppDialogPTR - есть контролы (класса CWndContainer -> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind))); }) через которые можно получить доступ к m_background, m_caption
1) Какой синтаксис обращения (ссылки на память) на созданный объект?:
"CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2);"
Допустим.
У созданного экземпляра класса CAppDialogPTR - есть контролы (класса CWndContainer -> CWnd* Control(const int ind) const { return(dynamic_cast<CWnd *>(m_controls.At(ind))); } ) через которые можно получить доступ к m_background, m_caption
1) Какой синтаксис обращения (ссылки на память) на созданный объект?:
Получить доступ к контралам адресно через коллекцию m_controls Вы все равно не сможете, потому что она также закрыта, к тому же не известно какой именно индекс соответствует тому или иному контролу. Тут идея в том, что CDialog закрывает доступ к элементами из которых он состоит, но дает управлять основными свойствами в согласованном виде. Например обращаться к m_caption и менять его текст напрямую мы не можем, зато можем изменить его текст через метод Caption(const string text).
То, что Вы хотите это хак по сути. В принципе при использовании любой поделки от MQ возникает желание сделать тот или иной хак, поэтому тут Вы не одиноки. Наверное самым простым способом будет скопировать либу в отдельный каталог и переместить private секцию в protected. Это грубо и тупо, но сработает. Другие варианты едва ли - слишком жесткий код.
Получить доступ к контралам адресно через коллекцию m_controls Вы все равно не сможете, потому что она также закрыта, к тому же не известно какой именно индекс соответствует тому или иному контролу. Тут идея в том, что CDialog закрывает доступ к элементами из которых он состоит, но дает управлять основными свойствами в согласованном виде. Например обращаться к m_caption и менять его текст напрямую мы не можем, зато можем изменить его текст через метод Caption(const string text).
То, что Вы хотите это хак по сути. В принципе при использовании любой поделки от MQ возникает желание сделать тот или иной хак, поэтому тут Вы не одиноки. Наверное самым простым способом будет скопировать либу в отдельный каталог и переместить private секцию в protected. Это грубо и тупо, но сработает. Другие варианты едва ли - слишком жесткий код.
Изменить исходники MQ и вытащить методы в публичные понятно что не наш метод :).
Но я могу обратиться в свойствам Caption после объявление глобальной переменной panel:
Но мало того что это както не красиво выглядит, так этот код за классом CAppDialogPTR. А как аналогично мне сделать тоже самое внутри класса CAppDialogPTR ?