← К каталогу
Исходный код · ID 4501

!xps v8 panel

!xps v8 panel.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Исходный код представляет индикатор для MetaTrader, который создаёт графические панели на графике с помощью объектов-меток OBJ_LABEL. Основная функция start() формирует элементы интерфейса: левую и правую панели, информационные блоки, а также отображает текущую цену Bid, спред, символ инструмента и таймер до следующего бара.

При включении параметра show.account индикатор дополнительно выводит баланс, эквити и прибыль счёта. Имеется закомментированный блок авторасчёта Фибо-уровней, который не активен в текущей версии кода. Параметры PanelBgd2, Note1, Note2, FiboStart и FiboEnd управляют внешним видом и текстовыми настройками панели.

Код содержит вспомогательные функции создания объектов (CreateFX3_Labels, Create.left.panel, Create.right.panel и др.) и функцию удаления всех созданных объектов deinit(). Обработчик init() задаёт автоматический выбор таймфрейма в зависимости от текущего периода. Продукт не содержит торговой логики и не отправляет ордера.

Настройки программы

НастройкаОписание
PanelBgd2 Цвет фона графических элементов панели.
Note1 Текстовый параметр для отображения первой пользовательской заметки на панели.
Note2 Текстовый параметр для отображения второй пользовательской заметки на панели.
FiboStart Время начала периода для авторасчёта Фибо-уровней (закомментировано в текущей версии).
FiboEnd Время окончания периода для авторасчёта Фибо-уровней (закомментировано в текущей версии).
Получить полный код

Поиск по коду файла

#property indicator_chart_window

color    color1      = LimeGreen;
color    color2      = SlateGray;
color    color3      = White;
color    color4      = DodgerBlue;

color    TextColor2  = C'192,192,192';
color    TextColor3  = C'50,160,50';
color    TextColor4  = SlateGray;
color    BoxColor    = C'13,13,63';
color    BoxColor1   = C'30,20,40';
color    PanelBgd1   = C'7,40,80';
extern color    PanelBgd2   = C'42,62,82';//C'40,60,80';//C'40,80,120';

   bool   show.left.panel    = false;
extern   bool   show.right.panel   = true;
   bool   show.comment.box   = false;

   extern bool   show.account       = false;
   extern string  Note1 = "DST started on Sunday, 27 March 2011, 01:00 local standard time";
   extern string  Note2 = "DST ends on Sunday, 30 October 2011, 02:00 local daylight time"; 
   extern string FiboStart       = "01:00";
   extern string FiboEnd         = "01:00"; 

int         OpenBar;
double      LastHigh,
            LastLow,
            LastClose;
int         WhatWindow        = 0;
int         WhatWindow1       = 1;
int         WhatCorner0       = 0;
int         WhatCorner1       = 1;
int         WhatCorner2       = 2;
int         WhatCorner3       = 3;
int         Shift.up.down     = 0;
int         Shift.sideway     = 14;
bool        show.timer        =  true;
bool        show.extra.digit  =  false;  
int         BidFontSize       =  29;
string      BidFontType       =  "Arial Bold";
int         FontSize          =  11;
string      FontType          =  "Arial";
string      FontType2         =  "Arial Bold";
double      DecNos;
double      myPoint;
double      fibo;

double      AUTOSELECT;
double      col               =  White;

double      SetPoint() 

   { 
   double mPoint; 

   if (Digits < 4) 
   mPoint = 0.01; 
   else 
   mPoint = 0.0001; 

   return(mPoint); 
   }

   int init()
   {
      // код доступен только после оплаты
   }

   int deinit()
   {
   deleteObjects();
   return(0);
   }

   int start()
   {
      // код доступен только после оплаты
   }

    if(show.extra.digit){int digit=1;int digitshift=-3;int digitshift1=-5;int digitshift2=3;int fontsize=4;int sprd=1;}
    else{ digitshift=0;digitshift1=0;digitshift2=0;fontsize=0;sprd=0;}

   if (StringFind (Symbol(), "JPY", 0) != -1){ DecNos = 2+digit;}
   else if(Symbol()=="XAUUSD" || Symbol()=="XAGUSD"){ DecNos = 2+digit; }
   else { DecNos = 4+digit; } 

   int    counted_bars=IndicatorCounted();

   if(show.left.panel){

   Create.left.panel( "Panel001",5, 6); 
   ObjectSetText("Panel001", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel002",5,122); 
   ObjectSetText("Panel002", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel003",5,242); 
   ObjectSetText("Panel003", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel004",5,362); 
   ObjectSetText("Panel004", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel005",5,482); 
   ObjectSetText("Panel005", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel006",5,582); 
   ObjectSetText("Panel006", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel007",5,6); 
   ObjectSetText("Panel007", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel008",5,122); 
   ObjectSetText("Panel008", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel009",5,242); 
   ObjectSetText("Panel009", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel010",5,362); 
   ObjectSetText("Panel010", "g", 94, "Webdings", PanelBgd2);

   Create.left.panel( "Panel011",5,482); 
   ObjectSetText("Panel011", "g", 94, "Webdings", PanelBgd2);

   }//End show.panel

   if(show.right.panel){

   Create.right.panel( "Panel012",5, 20); 
   ObjectSetText("Panel012", "g", 90, "Webdings", PanelBgd2);

   Create.right.panel( "Panel013",5,122); 
   ObjectSetText("Panel013", "g", 90, "Webdings", PanelBgd2);

   Create.right.panel( "Panel014",5,242); 
   ObjectSetText("Panel014", "g", 90, "Webdings", PanelBgd2);

   Create.right.panel( "Panel015",5,362); 
   ObjectSetText("Panel015", "g", 90, "Webdings", PanelBgd2);

   Create.right.panel( "Panel016",5,482); 
   ObjectSetText("Panel016", "g", 90, "Webdings", PanelBgd2);

/*   Create.right.panel( "Panel017",5,602); 
   ObjectSetText("Panel017", "g", 90, "Webdings", PanelBgd2);

   Create.right.panel( "Panel018",5,722); 
   ObjectSetText("Panel018", "g", 90, "Webdings", PanelBgd2);*/

   Create.right.panelb( "Panel018",5,6); 
   ObjectSetText("Panel018", "g", 90, "Webdings", PanelBgd2);

   Create.right.panelb( "Panel019",5,122); 
   ObjectSetText("Panel019", "g", 90, "Webdings", PanelBgd2);

   Create.right.panelb( "Panel020",5,242); 
   ObjectSetText("Panel020", "g", 90, "Webdings", PanelBgd2);

   Create.right.panelb( "Panel021",5,362); 
   ObjectSetText("Panel021", "g", 90, "Webdings", PanelBgd2);

   }//End show.panel

   if(show.comment.box){

   CreateFX5_Labels( "Panel500",-130+134,30); 
   ObjectSetText("Panel500", "ggggggggggg", 25, "Webdings", C'225,225,225');

   CreateFX5_Labels( "Panel500A",-130+155,30); 
   ObjectSetText("Panel500A", "ggggggggggg", 25, "Webdings", C'225,225,225');

   CreateFX5_Labels( "Panel501",-130+136,32); 
   ObjectSetText("Panel501", "gggggggggggg", 22, "Webdings", PanelBgd2);//C'7,140,80');

   CreateFX5_Labels( "Panel502",-130+168,32); 
   ObjectSetText("Panel502", "gggggggggggg", 22, "Webdings", PanelBgd2);//C'7,140,80');

   }//end of show.trade.panel

   double spread = (Ask-Bid)/myPoint;

   if(spread>1 && spread<=10)

   int sprdshift=4;

   CreateFX3_Labels( "Panel023",12,10); 
   ObjectSetText("Panel023", "Spread: "+DoubleToStr(spread,1)+" pips", FontSize, "Arial", color3);

   string symbol="";

        if (Symbol()=="EURUSD" || Symbol()=="EURUSDm") {symbol="EURUSD";}
   else if (Symbol()=="GBPUSD" || Symbol()=="GBPUSDm") {symbol="GBPUSD";}
   else if (Symbol()=="USDCHF" || Symbol()=="USDCHFm") {symbol="USDCHF";}
   else if (Symbol()=="USDJPY" || Symbol()=="USDJPYm") {symbol="USDJPY";}
   else if (Symbol()=="EURJPY" || Symbol()=="EURJPYm") {symbol="EURJPY";}
   else if (Symbol()=="EURCHF" || Symbol()=="EURCHFm") {symbol="EURCHF";}
   else if (Symbol()=="EURGBP" || Symbol()=="EURGBPm") {symbol="EURGBP";}
   else if (Symbol()=="USDCAD" || Symbol()=="USDCADm") {symbol="USDCAD";}
   else if (Symbol()=="AUDUSD" || Symbol()=="AUDUSDm") {symbol="AUDUSD";}
   else if (Symbol()=="GBPCHF" || Symbol()=="GBPCHFm") {symbol="GBPCHF";}
   else if (Symbol()=="GBPJPY" || Symbol()=="GBPJPYm") {symbol="GBPJPY";}
   else if (Symbol()=="CHFJPY" || Symbol()=="CHFJPYm") {symbol="CHFJPY";}
   else if (Symbol()=="NZDUSD" || Symbol()=="NZDUSDm") {symbol="NZDUSD";}
   else if (Symbol()=="EURCAD" || Symbol()=="EURCADm") {symbol="EURCAD";}
   else if (Symbol()=="AUDJPY" || Symbol()=="AUDJPYm") {symbol="AUDJPY";}
   else if (Symbol()=="EURAUD" || Symbol()=="EURAUDm") {symbol="EURAUD";}
   else if (Symbol()=="AUDCAD" || Symbol()=="AUDCADm") {symbol="AUDCAD";}
   else if (Symbol()=="AUDNZD" || Symbol()=="AUDNZDm") {symbol="AUDNZD";}
   else if (Symbol()=="NZDJPY" || Symbol()=="NZDJPYm") {symbol="NZDJPY";}
   else if (Symbol()=="CADJPY" || Symbol()=="CADJPYm") {symbol="CADJPY";}
   else if (Symbol()=="XAUUSD" || Symbol()=="XAUUSDm") {symbol="XAUUSD";}
   else if (Symbol()=="XAGUSD" || Symbol()=="XAGUSDm") {symbol="XAGUSD";}
   else if (Symbol()=="GBPAUD" || Symbol()=="GBPAUDm") {symbol="GBPAUD";}
   else if (Symbol()=="GBPCAD" || Symbol()=="GBPCADm") {symbol="GBPCAD";}
   else if (Symbol()=="AUFCHF" || Symbol()=="AUFCHFm") {symbol="AUFCHF";}
   else if (Symbol()=="CADCHF" || Symbol()=="CADCHFm") {symbol="CADCHF";}
   else if (Symbol()=="NZDCHF" || Symbol()=="NZDCHFm") {symbol="NZDCHF";}
   else if (Symbol()=="GBPNZD" || Symbol()=="GBPNZDm") {symbol="GBPNZD";}
   else if (Symbol()=="AUDCHF" || Symbol()=="AUDCHFm") {symbol="AUDCHF";}
   else if (Symbol()=="EURNZD" || Symbol()=="EURNZDm") {symbol="EURNZD";}
   else{symbol=Symbol();int syblsize = 5;int syblshift=2;}

   CreateFX3_Labels( "Panel024",6-syblshift+Shift.up.down,22); 
   ObjectSetText("Panel024", symbol , 21-syblsize, BidFontType, color4);

   if(show.account){

   CreateFX3_Labels( "Panel025",7,180); 
   ObjectSetText("Panel025", "gggg", 22, "Webdings", C'7,40,80');
   CreateFX3_Labels( "Panel026",7,214); 
   ObjectSetText("Panel026", "gggg", 22, "Webdings", C'7,40,80');
   CreateFX3_Labels( "Panel027",7,248); 
   ObjectSetText("Panel027", "gggg", 22, "Webdings", C'7,40,80');

   CreateFX3_Labels( "Panel028",22+Shift.up.down,262); 
   ObjectSetText("Panel028", "Account Bal", FontSize, FontType2, DodgerBlue);

   CreateFX3_Labels( "Panel029",12+Shift.up.down,248); 
   ObjectSetText("Panel029", DoubleToStr(AccountBalance(),2) , FontSize, FontType2, color3);

   CreateFX3_Labels( "Panel030",13+Shift.up.down,228); 
   ObjectSetText("Panel030", "Account Equity", FontSize, FontType2, DodgerBlue);

   CreateFX3_Labels( "Panel031",12+Shift.up.down,214); 
   ObjectSetText("Panel031", DoubleToStr(AccountEquity(),2) , FontSize, FontType2, col);

   CreateFX3_Labels( "Panel032",16+Shift.up.down,194); 
   ObjectSetText("Panel032", "Account Profit", FontSize, FontType2, DodgerBlue);

   if (AccountProfit() >0) col = Lime;
   if (AccountProfit() <0) col = Red;

   Create

Показано первые 50% кода (символов: 13847)

Открыть по тарифу

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

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 384,70₽ ≈ $16.93