Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1507

 
Подскажите пожалуйста, как с аккаунта Байбит перекинуть деньги в Среду MQL5?
 
Максим Пирожков #:
Подскажите пожалуйста, как с аккаунта Байбит перекинуть деньги в Среду MQL5?
Вывести деньги там, и завести сюда.  Но здесь деньги будут на Вашем аккаунте, и использовать их можно будет только для оплаты здешних сервисов.
 

Подскажите, как из сервиса(советника) нажать кнопку развернуть окно т.е график ? Есть функция  ChartGetInteger с параметром  CHART_IS_MAXIMIZED , но это свойство доступно только для чтения. Может какой то не программный способ существует ?

Как я делаю. 0) Закрываю все окна. 1) Открываю чарт через ChartOpen 2) Загружаю на него шаблон с помощью ChartApplyTemplate. Окно всегда не развернуто до максимума. Если таких окон под 100, выглядит как то не очень. Всегда для оценки работы советника приходиться разворачивать окно советника самому.

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
pivomoe #:
Подскажите, как из сервиса(советника) нажать кнопку развернуть окно т.е график ?

Не могу проверить, но:

#include <WinAPI\WinUser.mqh>

int hWnd = (int)ChartGetInteger(0, CHART_WINDOW_HANDLE, 0);
ShowWindow(hWnd, SW_SHOWMAXIMIZED);
 
trader6_1 #:

Не могу проверить, но:

только ещё нужен GetParent один или два раза (сколько не помню :-) ) 

и это от билда, авторы вполне могут поменять структуру вложенности окон.

то есть так делать нехорошо, только от безысходности

 
Maxim Kuznetsov #:
только ещё нужен GetParent
void arrangeHorizontal() {
   long y = TerminalInfoInteger(TERMINAL_TOP);
   long h = TerminalInfoInteger(TERMINAL_BOTTOM);
   int hWnd = (int)ChartGetInteger(0, CHART_WINDOW_HANDLE, 0);
   SetWindowPos(GetParent(hWnd), 0, 0, 0, 225, h - y, 0);
}
 
trader6_1 #:
GetParent

Спасибо ребята. Совместил ваши ответы, немного пояндексил и получилось:

#include <WinAPI\WinUser.mqh>

void arrangeHorizontal3()
  {
   int hWnd = (int)ChartGetInteger(0, CHART_WINDOW_HANDLE, 0);
   ShowWindow (GetParent(hWnd),3); 
  }
 
Здравствуйте!
Создаю кнопку с помощью библиотеки Controls\Button.mqh и панель с помощью: Controls\Dialog.mqh
for(int i=0; i<SymbolsTotal(true);i++){ 
btn1.Create(0,"btn"+(string) i,0,0,0+BTN_HEIGHT+btn_left,0,0+BTN_WIDTH*btn_line);
ExtDialog.Add(btn1);
}

И далее созданную кнопку я добавляю в панель и немного сдвигаю панель в итоге получается:



Из этого следуют два вопроса
1) Как привязать все кнопки, если при их создание используется переменная "i" равная количеству символов?
2) Как запретить двигать панель созданную через библиотеку ?

 

Здравствуйте!

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

for(int i=0; i<SymbolsTotal(true);i++){ 
   btns[i].Create(0,"btn"+(string) i,0,0,0+BTN_HEIGHT+btn_left,0,0+BTN_WIDTH*btn_line);
   ExtDialog.Add(btns[i]);
}
 
Yuriy Bykov #:

Здравствуйте!

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

Попробовал, выбивает критическую ошибку "Array out of range"

Причина обращения: