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

 

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

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

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

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

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

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

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

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

 
LRA:

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

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

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

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

Спасибо.

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

 

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


 

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

 

 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);   // отжать

         }

      }

  }