Обсуждение статьи "Удивите ваших MQL5-клиентов эффективным коктейлем технологий!"

 

Опубликована статья Удивите ваших MQL5-клиентов эффективным коктейлем технологий!:

MQL5 предоставляет программистам полный набор функций и объектно-ориентированный API, благодаря которым они могут делать в среде MetaTrader все что угодно. Тем не менее, веб-технологии – это очень универсальный инструмент, который может помочь в ситуациях, когда вам нужно создать нечто совершенно особое, вы хотите удивить ваших клиентов или у вас просто нет времени на изучение определенной части стандартной библиотеки MQL5. В данной статье вы узнаете, как можно управлять временем разработки при создании вашего уникального коктейля технологий.

Figure 5. jQuery dialog

Автор: Jordi Bassaganas

 
Сильно внимательно не читал, но просмотрел все в поисках центральной мысли. Что это и о чем? О генерации вебстраниц из mql5, ли это "Основы html для всех"? Какой-то Datepicker, Timepicker... как их прикрутить к советнику для MT5?
 

что это было вообще?  призыв валить с MQL на Java ?

 

Главное написано, что код прошел валидацию, а толком не работает, видно за магарыч - теперь понял, что на первой картинке.

 
Спасибо за интересную статью. Надеюсь автор не будет против небольшого увеличения юзабилити данного примера. Я сделал это с помощью движка Hlaiman, выкладываю немного измененный файл news-watcher-csv.html. Добавил функции обнаружения установленных на компьютере терминалов и сохранения новостного календаря в формате CSV в папку данных выбранного пользователем терминала.


Выбор терминала

Изменения news-watcher-csv.html:


Инициализация Hlaiman, обнаружение терминалов на компьютере пользователя, создание соответствующих элементов интерфейса.

var hlaim_app = new ActiveXObject("hlaim.Application");
if(hlaim_app != null) {
        var hlaim_plugin = hlaim_app.LoadModuleObject("mt45.dll");
        var hlaim_terminals = document.getElementById("base-terminal");
        if(hlaim_plugin && hlaim_plugin.TerminalsCount > 0 && hlaim_terminals)
        for(i = 0; i < hlaim_plugin.TerminalsCount; i++) {
                var new_term = document.createElement("option");
                if(new_term) {
                        new_term.text = hlaim_plugin.Terminals[i];
                        new_term.value = i;
                        hlaim_terminals.add(new_term);
                }
        }
}

Небольшие изменения функции кнопки "ОК" диалога

Ok: function() {
var fso, f1, ht; 
        fso = new ActiveXObject("Scripting.FileSystemObject");
        ht = document.getElementById("base-terminal");
        if(fso && ht) {
                csv_term = new String(ht.options[ht.selectedIndex].text);
                csv_path = csv_term.slice(0, csv_term.indexOf("terminal")) +
                "MQL5\\files\\news_watcher.csv";
                f1 = fso.CreateTextFile(csv_path, true); 
                f1.Write (csv);
                fso = null;
        }  
        $( this ).dialog( "close" );
}

Элемент интерфейса для выбора терминала

<div class="form-field">
        <label>Select terminal:</label>
        <select id="base-terminal">
        </select>
</div>

*Используемый HTML5-код прошел валидацию в W3C Markup Validation Service. Для работы данного примера необходимо установить Hlaiman EA Generator. Чтобы узнать больше о Hlaiman EA Generator ознакомьтесь со статьей Создание нейросетевых торговых роботов на базе MQL5 Wizard и Hlaiman EA Generator

Возможности движка Hlaiman позволяют разработчикам MQL в полной мере воспользоваться всей мощью веб технологий в своих приложениях. Такой коктейль технологий может быть использован например для создания комплексных, мультитерминальных, кроссплатформенных советников.

Файлы: