www.horizontautomatics.ru

Программирование, автоматизация.

Обсуждение проектов для терминала

Модератор: Евгений

Re: Обсуждение проектов для терминала

Сообщение v_minkov » 13 июл 2015, 10:57

Добрый день Евгений.
Как Ваши успехи?
Нужна помощь?
Удачи
Владимир
v_minkov
 
Сообщения: 15
Зарегистрирован: 27 июн 2015, 10:49

Re: Обсуждение проектов для терминала

Сообщение Евгений » 13 июл 2015, 15:30

Добрый день!
Немного об успехах:
-доработал библиотеку MTbuilder.dll теперь можно создавать проекты для MT4 и MT5. Надо добавить все на обновление и пере собрать установочный пакет. Думаю вторник-среда сделаю.
-ушел от использования файла конфигурации, благодаря этому теперь работает штатный тестер. Видимо у MetaTrader есть небольшой баг, если эксперт использует дополнительный бинарный файл то при использовании тестера появляется ошибка доступа к файлу.

Помощь будет обязательно нужна, хотелось бы совместно добавить несколько блоков с использованием ресурса R терминала. Добавлю на обновление программу и начнем практически создавать блоки.
Аватара пользователя
Евгений
Администратор
 
Сообщения: 321
Зарегистрирован: 08 окт 2014, 11:36

Re: Обсуждение проектов для терминала

Сообщение v_minkov » 13 июл 2015, 15:45

Отлично!
Действительно мне не удалось запустить в тестере ни один эксперт со скриптами R/
Готов помочь по мере способностей.
Удачи Вам
Владимир
v_minkov
 
Сообщения: 15
Зарегистрирован: 27 июн 2015, 10:49

Re: Обсуждение проектов для терминала

Сообщение v_minkov » 18 июл 2015, 17:45

Добрый день.
Как складывается судьба Вашего проекта? Не то чтобы подталкиваю, но очень хочется попробовать как это будет работать.
Если нужна помощь , пишите.
Удачи
Владимир
v_minkov
 
Сообщения: 15
Зарегистрирован: 27 июн 2015, 10:49

Re: Обсуждение проектов для терминала

Сообщение Евгений » 20 июл 2015, 10:39

Владимир привет!
Тестовая сборка: http://horizontautomatics.ru/Downloads/index.php?id=2

Сейчас многие блоки не работают, надо править mql текст блоков.
Как у Вас с mql?
Аватара пользователя
Евгений
Администратор
 
Сообщения: 321
Зарегистрирован: 08 окт 2014, 11:36

Re: Обсуждение проектов для терминала

Сообщение v_minkov » 20 июл 2015, 14:50

Добрый день.
Пишу все на mql4.
Что нужно делать? Поясните.
Удачи
Владимир
v_minkov
 
Сообщения: 15
Зарегистрирован: 27 июн 2015, 10:49

Re: Обсуждение проектов для терминала

Сообщение Евгений » 21 июл 2015, 09:03

Для начала посмотрим как работает FBD блок на примере простого блока "вычитание вещественных чисел"
Лист 1.jpg
Лист 1.jpg (10.51 КБ) Просмотров: 2240


Блок запрашивает из массива значение "вход 1" и "вход 2" вычисляет разность и сохраняет значение в этом же массиве.
Массив данных это одномерный массив переменных следующей структуры:
Код: Выделить всё
struct SUzel
  {
   bool         _bool;      //значение узла
   int          _int;       //значение узла
   double       _float;     //значение узла
   datetime     _datetime;  //значение узла
   string       _string;    //значение узла
  };


mql код блока "вычитание вещественных чисел" следующий
Код: Выделить всё
class CFBD0 : CFBD
  {

public:
  ushort   uzel1;
  ushort   uzel2;
  ushort   uzel3;
                     CFBD0(int Cod, ushort iIn1, ushort iIn2, ushort iOut)
                        {
                            this.m_type=              Cod;      //FBD код                     
                           this.uzel1=               iIn1;
                           this.uzel2=               iIn2;
                           this.uzel3=               iOut;
                           return;
                        }       
                           
                      virtual int Run()    // Исполнить
                      {
                       Uzel[uzel3]._float=Uzel[uzel1]._float-Uzel[uzel2]._float;
                       return (0);
                      }     
                 
  }; 

Код представляет из себя описание класса.
В конструкторе класса передается:
int Cod - код блока, по сути его нигде не используем в перспективе можно его убрать совсем;
ushort iIn1 - индекс в массиве для "вход 1";
ushort iIn2 - индекс в массиве для "вход 2";
ushort iOut - индекс в массиве для "выход".

Метод класса Run выполняет работу блока.

Вот собственно и весь mql код для блока "вычитание вещественных чисел", что непонятно спрашивай.
Аватара пользователя
Евгений
Администратор
 
Сообщения: 321
Зарегистрирован: 08 окт 2014, 11:36

Пред.

Вернуться в Horizont для Metatrader

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1