Конструирование MQL5-программ в визуальном редакторе HiAsm (MQL-Studio for HiAsm). - страница 2

 
toropchin:
А программисты разве не могут пользоваться визуальным редактором?

Ну лично мое мнение:

Для типичных задач - может и да, для чего-нибудь посерьезнее - нет.
Хоть я люблю новые движения, но например если я в код недельку не буду заглядывать, потом пропадает умение видеть картину в целом.
Так что пока, программирование - это упорное смотрение в строчки кода :)
Еще раз повторюсь, для неспецифичных задач не подойдет, т.к. неспецифичную программу разбить на блоки врятли получится, либо уйдет много времени.

 
mrProF:

если я в код недельку не буду заглядывать, потом пропадает умение видеть картину в целом.
Так что пока, программирование - это упорное смотрение в строчки кода :)

Как раз для удобного видения картины представление в виде схемы и создано.
 
toropchin:
Как раз для удобного видения картины представление в виде схемы и создано.
Обычно я для себя составляю отдельно схему, например в Visio и т.п.
Но как говорится: "На вкус и цвет - все фломастеры разные" :)
Закончим спор, вы не объективны в данном вопросе, т.к. имеете материальную заинтересованность и являетесь разработчиком сего продукта :)
 
toropchin:
Как раз для удобного видения картины представление в виде схемы и создано.

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

Программист на то и программист что за строчками кода видит суть, а костыли отучают видеть её в коде и приучают видеть её вкартинках. Теряется квалификация.

Насчёт не совсем простых кодов, попробуйте воспроизвести вот этот код:

//+------------------------------------------------------------------+
//|                                            ch01_simple_model.mq5 |
//|                            Copyright 2010, Vasily Sokolov (C-4). |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, Vasily Sokolov (C-4)."
#property link      "http://www.mql5.com"
#property version   "1.00"

#include <Arrays\List.mqh>

// Base model
class CModel:CObject
{
protected:
   string            m_name;
public:
        void              CModel(){m_name="Model base";}
        bool virtual      Processing(void){return(true);}
};

class cmodel_macd : public CModel
{
public:
   void              cmodel_macd(){m_name="MACD Model";}
   bool              Processing(){Print("Processing ", m_name, "...");return(true);}
};

class cmodel_moving : public CModel
{
public:
   void              cmodel_moving(){m_name="Moving Average";}
   bool              Processing(){Print("Processing ", m_name, "...");return(true);}
};

//Create list of models
CList *list_models;

void OnInit()
{
   int rezult;
   // Great two pointer
   cmodel_macd          *m_macd;
   cmodel_moving        *m_moving;
   list_models =        new CList();
   m_macd   =           new cmodel_macd();
   m_moving =           new cmodel_moving();
   //Check valid pointer
   if(CheckPointer(m_macd)==POINTER_DYNAMIC){
      rezult=list_models.Add(m_macd);
      if(rezult!=-1)Print("Model MACD successfully created");
      else          Print("Creation of Model MACD has failed");
   }
   //Check valid pointer
   if(CheckPointer(m_moving)==POINTER_DYNAMIC){
      rezult=list_models.Add(m_moving);
      if(rezult!=-1)Print("Model MOVING AVERAGE successfully created");
      else          Print("Creation of Model MOVING AVERAGE has failed");
   }
}

void OnTick()
{
   CModel               *current_model;
   for(int i=0;i<list_models.Total();i++){
      current_model=list_models.GetNodeAtIndex(i);
      current_model.Processing();
   }
}

void OnDeinit(const int reason)
{
   delete list_models;
}

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

ЗЫ чтоб долго не парится с пониманием чужого кода вкратце опишу: код создаёт список  указателей на объекты нескольких классов, а именно класса

cmodel_macd и cmodel_moving 
 
Urain:

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

Программист на то и программист что за строчками кода видит суть, а костыли отучают видеть её в коде и приучают видеть её вкартинках. Теряется квалификация.

Насчёт не совсем простых кодов, попробуйте воспроизвести вот этот код:

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

Конечно, код получится совсем не таким, как приведённый здесь. Поставьте мне задачу на словах и я её реализую в виде схемы.
 
toropchin:
Конечно, код получится совсем не таким, как приведённый здесь. Поставьте мне задачу на словах и я её реализую в виде схемы.

Те указав номер i в списке можно получить указатель на искомый объект не заботясь типе объекта.

CModel               *current_model;
   for(int i=0;i<list_models.Total();i++){
      current_model=list_models.GetNodeAtIndex(i);
      current_model.Processing();
   }
 

На сайте нельзя понять.

Программу надо покупать или она так может работать?

Без лицензии Ваша программа будет работать?

А то мне лень качать, устанавливать, а она потом чего нибудь начнет просить.


 
gisip:

На сайте нельзя понять.

Программу надо покупать или она так может работать?

Без лицензии Ваша программа будет работать?

А то мне лень качать, устанавливать, а она потом чего нибудь начнет просить.


Да, программа будет работать без лицензии. Предусмотрен полнофункциональный демо режим. Но я планирую выдавать бесплатные лицензии на период развития пакета. На сайте появится страничка, на которой каждый сможет получить бесплатную лицензию.
 
Urain:

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

Программист на то и программист что за строчками кода видит суть, а костыли отучают видеть её в коде и приучают видеть её вкартинках. Теряется квалификация.

Согласен с выше-процитированным оратором. На моей памяти была не одна попытка создания средства визуального проектирования не визуального алгоритма в различных языках. Пользы чуть.

Максимум полезного - визуальная разработка структуры классов, например, наподобие Together C++. Для программиста такое средство почти бесполезно. Хотя, для продвинутого пользователя-эксперто-писателя может пригодиться.

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

Все ИМХО.

 
Dima_S:

Согласен с выше-процитированным оратором. На моей памяти была не одна попытка создания средства визуального проектирования не визуального алгоритма в различных языках. Пользы чуть.

Максимум полезного - визуальная разработка структуры классов, например, наподобие Together C++. Для программиста такое средство почти бесполезно. Хотя, для продвинутого пользователя-эксперто-писателя может пригодиться.

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

Все ИМХО.

Не соглашусь. Для программирования схем потоковой обработки данных (сигналов) визуальные средства программирования мне кажутся удобными.
Причина обращения: