Страница 3 из 3
#51
1 минуту назад, lova сказал:

Автор начиная с какой-то версии забил на MT4. Поэтому пришлось извращаться, чтобы заставить последнюю версию автора для MT5 работать под MT4

Я понял что пришлось. В мт5 он перестал использовать встроенные элементы интерфейса терминала и перешёл на чистую графику. По моему опыту в некоторых случаях библиотека под мт4 от автора работает шустрее чем её аналог под мт5, но не во всём. 

#52

Ну мне чего-то не хватало в тех библиотеках под MT4. Но при этом это что-то уже было в библиотеках под MT5. Сейчас уже не вспомню, уже больше года прошло с тех пор.

#53
В 10.05.2019 в 14:58, lova сказал:

Нисколько не навязывая библиотеку, просто для примера - панелька с 3 кнопками.

3_Buttons.ex4 549 \u043a\u0411 · 15 загрузок
3_Buttons.mq4 20 \u043a\u0411 · 32 загрузки

Доброго времени суток! Уважаемый, не могли бы Вы показать пример кода с использованием данной библиотеки, когда мы нажимаем кнопку в одном окне (панели) и в ответ на её нажатие открывается другое окно (панель). У Вас так сделано в советнике BTM_Trade - когда нажимаем кнопку BUY или SELL, то открывается дополнительное окно для задания свойств перед открытием ордера. Буду очень благодарен за помощь.

 

 

Screenshot.png

#54

Давно не заглядывал на форум.

Вот пример такого кода. По нажатию на кнопку "Панель 2" открывается дополнительная панель. По нажатию на кнопку OK или Cancel - закрывается.

3_buttons.ZIP25 скач.

Изменено 4 мая, 2021 пользователем lova

#55

PanelTradeNEW.mq52 скач. 

Ребят, подскажите пожалуйста как вызвать метод у класса.

Например мне надо вызвать метод 

void CTradePanel::BuyClick(void)  1231 строка

тут


   if(id==CHARTEVENT_OBJECT_CLICK && sparam==lv_btnBuyname) {
      Print("lv_btnBuyname");

258 строка.

 

Изменено 21 июля, 2022 пользователем 967030@mail.ru

#56
2 часа назад, 967030@mail.ru сказал:

PanelTradeNEW.mq5 118 \u043a\u0411 · 0 загрузок  

Ребят, подскажите пожалуйста как вызвать метод у класса.

Например мне надо вызвать метод 

void CTradePanel::BuyClick(void)  1231 строка

тут


   if(id==CHARTEVENT_OBJECT_CLICK && sparam==lv_btnBuyname) {
      Print("lv_btnBuyname");

258 строка.

 

Метод, если он не статический, можно вызвать у объекта класса, а не у самого класса.

У вас объявлена глобальная переменная TradePanel в 204 строке, она видна из любой строки кода.

Именно у этого объекта вы, я подозреваю, хотите вызвать соответствующий метод.

вот так:

TradePanel.BuyClick();

#57
8 часов назад, Rigal сказал:

Метод, если он не статический, можно вызвать у объекта класса, а не у самого класса.

У вас объявлена глобальная переменная TradePanel в 204 строке, она видна из любой строки кода.

Именно у этого объекта вы, я подозреваю, хотите вызвать соответствующий метод.

вот так:

TradePanel.BuyClick();

Не... так не работает почему. 

1 Интелсенс не видит метод.

решил проблему,

 заменил тип инкапсуляции с protected на public.

Видимо терем перегрелся) спасибо!!

 

Сорри это старая версия.  тот что там описывал чтобы работало в тестере стратегии лежит не на этом компе. но можно взять из файла выше. префикс NEW.

Спасибо!!

 

PanelTrade.mq53 скач.

#58
9 минут назад, 967030@mail.ru сказал:

Не... так не работает почему. 

1 Интелсенс не видит метод.

решил проблему,

 заменил тип инкапсуляции с protected на public.

Видимо терем перегрелся) спасибо!!

 

Сорри это старая версия.  тот что там описывал чтобы работало в тестере стратегии лежит не на этом компе. но можно взять из файла выше. префикс NEW.

Спасибо!!

 

PanelTrade.mq5 116 \u043a\u0411 · 0 загрузок

Я подозреваю, оно предполагалось быть protected: кнопку кликать из кода обычно не надо, это, вероятно, обработка клика, которая вызывается изнутри класса.

оно не меняет решения - но просто заставляет задуматься, а то ли вы делаете, что задумывалось

зы: код не читал, рассуждаю абстрактно

Страница 3 из 3

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025