Прошу переназначить горячую клавишу <Ctrl+O> на пункт меню "Открыть каталог данных"!!! - страница 2

 
Комбинатор: Поищите по форуму ShellExecuteW. А путь данных можно получить с помощью функции MQL. Скрипт получится строчек в 10.

А Ctrl+O хорошая идея, т.к. команда используется частенько и наверное гораздо чаще чем опции терминала. 


Спасибо за идею. Скрипт действительно получился простой. Назначил на него горячую клавишу <Ctrl+O> и в принципе получил то, что хотел.
И хотя проблема решена, но молчание разработчиков по этому простому, но важному вопросу настораживает..., ну прям как в анекдоте: "Ложки-то нашлись, но осадок остался..." :)

//+------------------------------------------------------------------+
//|                                             Open Data Folder.mq5 |
//|                      Copyright © 2014, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2014, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

#import "shell32.dll" // Подключить DLL (входит в состав windows)  
   int ShellExecuteW(int hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd);
#import

#define SW_RESTORE               9

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
   string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
// Print("Открыть каталог данных терминала: ", terminal_data_path);

   ShellExecuteW(0, "explore", terminal_data_path+"\\MQL5", "", "", SW_RESTORE);
  
}
Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
Файлы:
 
Karputov Vladimir: Вы пытаетесь приписать терминалу не свойственные ему рутинные операции из редактора MetaEditor. В терминале MetaTrader количество вызов каталога данных на порядок меньше, чем в редакторе MetaEditor.
Могу лишь вернуть Вам обратно Ваше утверждение, поменяв в нем местами слова MetaEditor и MetaTrader.

Вы пытаетесь приписать редактору MetaEditor не свойственные ему рутинные операции из терминала.
В терминале MetaTrader количество вызов каталога данных на порядок больше, чем в редакторе MetaEditor
.

А если учесть, что абсолютное большинство пользователей терминала в своей жизни так ни разу и не вызовут редактор MetaEditor (кол-во вызовов равно 0), то вообще получается деление на 0, т.е. бесконечность. И что прикажите делать им, например, чтобы установить/обновить индикатор или эксперт, просмотреть результаты работы в папке \MQL5\Files и т.д. и т.п.? Вот и приходится им продолжать кликать File->Открыть каталог данных по сто раз на дню, чтобы добраться до нужного расположения...
 
Eugene Myzrov:
Могу лишь вернуть Вам обратно Ваше утверждение, поменяв в нем местами слова MetaEditor и MetaTrader.

Вы пытаетесь приписать редактору MetaEditor не свойственные ему рутинные операции из терминала.
В терминале MetaTrader количество вызов каталога данных на порядок больше, чем в редакторе MetaEditor
.

А если учесть, что абсолютное большинство пользователей терминала в своей жизни так ни разу и не вызовут редактор MetaEditor (кол-во вызовов равно 0), то вообще получается деление на 0, т.е. бесконечность. И что прикажите делать им, например, чтобы установить/обновить индикатор или эксперт, просмотреть результаты работы в папке \MQL5\Files и т.д. и т.п.? Вот и приходится им продолжать кликать File->Открыть каталог данных по сто раз на дню, чтобы добраться до нужного расположения...

У меня всегда открыт MetaEditor. Более того, количество запусков MetaEditor'a больше, чем количество запусков MetaTrader'a 5. Именно с позиции такого своего опыта я утверждаю, что открытие каталога данных из MetaTrader'a 5 не свойственная задача.

А пути решения проблем у всех разнятся.

 
Karputov Vladimir:
Подавляющему большинству пользователей про ME вообще мало что известно, поэтому полагаю что в терминале эта функция гораздо востребованней.
 

Устанавливаем скрипт, и назначаем на него "Ctrl+O", будет то что выпрашивается у метаквотов )

//+------------------------------------------------------------------+
//|                                                     OpenData.mq4 |
//|                                                      sanyooooook |
//|                                                 http://sn-bot.ru |
//+------------------------------------------------------------------+
#property copyright "sanyooooook"
#property link      "http://sn-bot.ru"
// биткоин адрес для благодарностей 1M5FPLHLvHmnLsB2Kbn84K3BYnKvw1Vbvi
#property version   "1.00"
#property strict

#import "shell32.dll"
   int ShellExecuteW(int,string,string,int,string,int);
#import

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   string s=TerminalInfoString(TERMINAL_DATA_PATH);
   ShellExecuteW(0,"open",s,0,"",1);

  }
//+------------------------------------------------------------------+
Файлы:
OpenData.mq4  2 kb
 
Комбинатор: Подавляющему большинству пользователей про ME вообще мало что известно, поэтому полагаю что в терминале эта функция гораздо востребованней.
Но модераторы в упор не видят эту статистику и продолжают утверждать обратное с упорством, как говориться, достойным лучшего применения...
 
Alexandr Bryzgalov: Устанавливаем скрипт, и назначаем на него "Ctrl+O", будет то что выпрашивается у метаквотов )
да, спасибо, проблема уже была решена (выше был приложен скрипт), только вместо операции "open" я использовал операцию "explore"

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
   ShellExecuteW(0,"explore", terminal_data_path+"\\MQL5", "", "", SW_RESTORE);
}
 
Eugene Myzrov:
да, спасибо, проблема уже была решена (выше был приложен файл скрипта), только вместо команды "open" я использовал "explore"

что-то не посмотрел ранешние сообщения
 
Eugene Myzrov:
Но модераторы в упор не видят эту статистику и продолжают утверждать обратное с упорством, как говориться, достойным лучшего применения...

Вы статистику где берёте? Из форумов MQL4/MQL5?

"Интернет-опрос показал, что интернетом пользуются 100 процентов опрошенных" (ц)

 
Slawa: Вы статистику где берёте? Из форумов MQL4/MQL5? "Интернет-опрос показал, что интернетом пользуются 100 процентов опрошенных" (ц)
Полагаю, что мы пользуемся одинаковыми источниками, плюс немного здравого смысла, который почему-то подсказывает мне, что в любой области деятельности, подвластной автоматизации, действует правило: один ко многим. И трейдинг, полагаю, здесь не исключение, т.е. среди пользователей терминала MT4/MT5 на одного программиста приходится несколько пользователей-непрограммистов. Эта логика и позволяет мне утверждать, что абсолютное большинство пользователей терминала MT4/MT5 в своей жизни так ни разу и не откроют редактор MetaEditor...
Причина обращения: