Мой подход. Ядро - Движок. - страница 30

 
Georgiy Merts:

Тебе уже не раз говорили, что в твоем коде разобраться весьма непросто. Даже тем, кто имеет немалый опыт. Использовать все возможности - еще труднее (как раз потому, что в любом месте куча всего доступна через глобальную область). Люди, слабо разбирающиеся в программирование это не смогут.

Вот причем здесь мой код? 

Судя по всему, публика вообще не "врубается" о чем речь. Надо бы пример привести. 

И так. Я сделаю движок простого окна и дам к нему файл подключения и инструкцию.

Кому интересно, подключат тестовый советник к движку.

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

 
Реter Konow:

Есть ручной трейдинг. Есть алгоритмический. Полу-автоматического трейдинга почти не существует.

Если мы создадим полуавтоматический трейдинг, он будет принадлежать нам. То есть, - он станет принадлежать нише алготрейдинга.

Если полуавтоматический трейдинг создаст какая нибудь фирма для пользователей торгующих вручную на какой нибудь платформе, то переход от ручного трейдинга к полу-автоматическому будет осуществлен там.

Короче, - задача заинтересовать трейдеров торгующих вручную во всем Мире, полуавтоматическим трейдингом.

И всем нам зарабатывать на этом.

Т.е. Ваш GUI для разработчиков, так?
 
Реter Konow:

Судя по всему, публика вообще не "врубается" о чем речь. Надо бы пример привести. 

это страница 30.

к странице 100 возможно начнется конструктив )

 

Вот движок, несущий простейший GUI, файл тестового советника и файлы подключения.

1. Файлы External Connection и Connection properties поместить в папку инклюд. Файл TestApp v1.0.mq4  поместить в папку Experts.

2. Движок поместить в папку индикаторов.

3. Открыть файл тестового советника TestApp v1.0.mq4 .

4. Открыть файл External Connection.

5. Закинуть движок на график.

6. Скомпилировать и сохранить тестовый советник. Потом тоже закинуть на график.

//----------------------------------------------

Появится окно с большой кнопкой. При нажатии на нее, будет появляться Алерт. 

Алерт находится в файле подключения External Connection. Внутри него можно поменять текст. Можно вызывать польз.функцию на событиях нажатия/отжатия.

//=====================================================================================================================
//WINDOW:   Simple button | element: BUTTON  | name: Hello world!  |  Location: Window's Main Frame
//=====================================================================================================================
case BUTTON3___Hello_world_:
               //------------------------------------------------------------------------------------------------------
               //What to do when button pressed or released?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                case pressed:  Alert("Button pressed!");   break;  <------ Здесь можно установить любой польз.код, который сработает на событии нажатия.
  
                case released: Alert("Button released!");  break;  <------ Здесь можно установить любой польз.код, который сработает на событии отжатия.
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
  
   }

Файл Connection properties модифицировать нельзя. Открывать необязательно.

Файлы:
 

Должно появится такое окно.

Кнопки на панели задач не несут функций и являются просто декорацией.

Имеется также окно контекстного меню. Оно открывается двойным кликом. Из него вызывается окно с кнопкой.

Тестовый советник символизирует пользовательское приложение. Движок - это подключаемый GUI.

 

Вот это вот называется "простой способ добавления готового гуи в своего советника":

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {

   //******************************************************************************************************
   //------------------------------------------------------------------------------------
   if(id == CHARTEVENT_CUSTOM + DRIVE_IS_READY)EventChartCustom(0, INIT_GUI,   0,0,NULL);
   //------------------------------------------------------------------------------------
   if(id == CHARTEVENT_CUSTOM + SYNC_P_CORE)
     {
      
      P_CORE[lparam][_NEW_VALUE]      = sparam;
      P_CORE[lparam][_LAST_VALUE]     = P_CORE[lparam][_CURRENT_VALUE];
      P_CORE[lparam][_CURRENT_VALUE]  = sparam;
      //------------------------------------ 
      On_Gui_Event(lparam,sparam);
      //------------------------------------
     } 
   //******************************************************************************************************
}

====

В общем-то не проблема отделить гуи от эксперта. Но если уж делать, то можно же совсем нормально сделать - в OnChartEvent() только события пользовательские ловить и больше ничего. То есть все эти сто веревок файлов не нужны. И между прочим вот это вот очень опосредованно относится к гуи, это скорее к возможностям терминала относится. А гуи не особо так показано. Вообще не показано как оно создается.

 
Dmitry Fedoseev:

Вот это вот называется "простой способ добавления готового гуи в своего советника":

====

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

Знаете, я поражаюсь. Детский сад какой то. Я говорю о возможности завоевать область ручного трейдинга и предлагаю воспользоваться созданным для этого инструментом, а публика преследует цель доказать мне, что я плохо программирую и у меня плохая графика и плохие решения. 

Вроде взрослые люди, но понимание - совсем не взрослое.

Установите по инструкции и попробуйте. Потом это все можно расширять и добавлять GUI и функционал.

 
Dmitry Fedoseev:

... То есть все эти сто веревок файлов не нужны.

То есть, ничего не зная о технологии и не попробывав, вы сразу заявляете что нужно и что не нужно... УмнО.

 
Dmitry Fedoseev:

... И между прочим вот это вот очень опосредованно относится к гуи, это скорее к возможностям терминала относится. А гуи не особо так показано. Вообще не показано как оно создается.

GUI создается в моем конструкторе. Я хотел показать, как он подключается и взаимодействует с советником.

 
Реter Konow:

Знаете, я поражаюсь. Детский сад какой то. Я говорю о возможности завоевать область ручного трейдинга и предлагаю воспользоваться созданным для этого инструментом, а публика преследует цель доказать мне, что я плохо программирую и у меня плохая графика и плохие решения. 

Вроде взрослые люди, но понимание - совсем не взрослое.

Установите по инструкции и попробуйте. Потом это все можно расширять и добавлять GUI и функционал.

В том то и дело, что детский сад. Не поймаете вы здесь ни одной рыбешки с такой наживкой. 

А как программируете. Сами делайте вывод - все еще пытаться доказывать, что ООП отстой, а мои массивы - это авангард мира... кто бы тут говорил про детский сад.

В общем чуда пока не произошло.

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