Скачать MetaTrader 5

Добавление кнопок в советник

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Artem Kolosov
194
Artem Kolosov  

Прошу помощи.

 Не могу разобраться как добавить в советник кнопки BUY/SELL. Чтобы они отражались на графике и при нажатии открывались ордера по рынку.

С помощью поиска ничего не нашел, буду благодарен если объясните или дадите ссылки на информацию. 

Vasyl Nosal
19171
Vasyl Nosal  
https://docs.mql4.com/ru/constants/chartconstants/enum_chartevents
LRA
724
LRA  
varyar84: как добавить в советник кнопки BUY/SELL. Чтобы они отражались на графике и при нажатии открывались ордера по рынку.

Пример панели SimplePanel с кнопками есть в навигаторе среди индикаторов

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

Открывается здесь:       и выглядит так    

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

Artem Kolosov
194
Artem Kolosov  
LRA:

Пример панели SimplePanel с кнопками есть в навигаторе среди индикаторов

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

Открывается здесь:       и выглядит так    

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

Спасибо.

Случайно не знаете можно ли сделать так, чтобы сделки через панель быстрой торговли открывались с определенным меджиком?

LRA
724
LRA  

Ну можно сделать (попробовал, получается) так: по ссылке, которую дал eevviill, есть простенький советник. Когда он запущен, происходит реакция на нажатие кнопок мыши по графику и на вкладку Эксперты выводится оператором Print сообщение с координатами. Делал так: на графике определил две области, при щелчке по которым советник выполняет требуемые операции покупки, продажи. Размер лота можно задать глобальной переменной, которую менять отдельным скриптом или вручную.


Dmitry Fedoseev
46495
Dmitry Fedoseev  

Это не сложно, и не больно

 

 int OnInit(){

   ObjectCreate(0,"But_Buy",OBJ_BUTTON,0,0,0);

   ObjectSetInteger(0,"But_Buy",OBJPROP_XDISTANCE,100);

   ObjectSetInteger(0,"But_Buy",OBJPROP_YDISTANCE,100);

   ObjectSetString(0,"But_Buy",OBJPROP_TEXT,"BUY");

   ObjectSetInteger(0,"But_Buy",OBJPROP_SELECTABLE,false);   

   ChartRedraw();

   return(INIT_SUCCEEDED);

  }


void OnDeinit(const int reason){

   ObjectDelete(0,"But_Buy");

   ChartRedraw();   

}


void OnTick(){


}


void OnChartEvent(const int id,

                  const long &lparam,

                  const double &dparam,

                  const string &sparam)

  {

      if(id==CHARTEVENT_OBJECT_CLICK){

         if(sparam=="But_Buy"){

            Alert("Клик на кнопке");

            Sleep(300);

            ObjectSetInteger(0,"But_Buy",OBJPROP_STATE,false);   // отжать

         }

      }

  }

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