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

SpudFibo Dashboard Button

#spudfibo dashboard button.mq4
Вы автор или правообладатель?

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

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

О программе

SpudFibo Dashboard Button — это пользовательский индикатор для MetaTrader 4, отображающий на графике панель с уровнями Фибоначчи для нескольких валютных пар и таймфреймов. Индикатор создаёт интерактивные кнопки, показывающие ключевые ценовые уровни и позволяющие переключать символы графика при нажатии.

Панель поддерживает настраиваемые цвета для различных зон: уровни Фибоначчи, вчерашние максимумы и минимумы, а также нейтральные зоны. Доступна кнопка-переключатель для скрытия и отображения данных панели, состояние которой сохраняется между сессиями.

Индикатор размещается на графике в заданном углу с возможностью сдвига по горизонтали и вертикали. Все элементы панели настраиваются через параметры цвета, шрифта и размеров.

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

НастройкаОписание
AboveYesterHigh Цвет индикации при превышении вчерашнего максимума
Fibo76Color Цвет индикации для уровня Фибоначчи 76.4%
Fibo61Color Цвет индикации для уровня Фибоначчи 61.8%
Fibo50Color Цвет индикации для уровня Фибоначчи 50.0%
Fibo38Color Цвет индикации для уровня Фибоначчи 38.2%
Fibo23Color Цвет индикации для уровня Фибоначчи 23.6%
FiboZeroColor Цвет индикации для уровня Фибоначчи 0%
BelowYesterLow Цвет индикации при падении ниже вчерашнего минимума
Neutral Цвет для нейтральной зоны, когда цена не выходит за пределы уровней
TextColor Цвет текста на кнопках панели
TextFont Шрифт текста на кнопках панели
TextSize Размер текста на кнопках панели
BorderColor Цвет рамки кнопки панели
FillColor Цвет фона кнопки панели
Window Индекс подокна для отображения панели
Corner Угол экрана для привязки основного отображения панели
XShift Горизонтальное смещение панели от угла графика
YShift Вертикальное смещение панели от угла графика
UniqueID Уникальный идентификатор экземпляра индикатора для разделения объектов на графике
button_note1 Текстовый разделитель перед настройками кнопки
btn_corner Угол графика для привязки главной кнопки-переключателя
btn_text Текст на главной кнопке-переключателе
btn_Font Шрифт текста главной кнопки-переключателя
btn_FontSize Размер шрифта главной кнопки-переключателя
btn_text_ON_color Цвет текста главной кнопки в отображаемом состоянии
btn_text_OFF_color Цвет текста главной кнопки в скрытом состоянии
btn_background_color Цвет фона главной кнопки-переключателя
btn_border_color Цвет рамки главной кнопки-переключателя
button_x Горизонтальная позиция главной кнопки-переключателя
button_y Вертикальная позиция главной кнопки-переключателя
btn_Width Ширина главной кнопки-переключателя
btn_Height Высота главной кнопки-переключателя
button_note2 Текстовый разделитель после настроек кнопки
Получить полный код

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

#property indicator_chart_window
#property strict

extern string Symbols = "AUDCAD;AUDCHF;AUDJPY;AUDNZD;AUDUSD;CADCHF;CADJPY;CHFJPY;EURAUD;EURCAD;EURCHF;EURGBP;EURJPY;EURNZD;EURUSD;GBPAUD;GBPCAD;GBPCHF;GBPJPY;GBPNZD;GBPUSD;NZDCAD;NZDCHF;NZDJPY;NZDUSD;USDCAD;USDCHF;USDJPY;";  // Symbols to use (separated by ";" in the list)
string TimeFrames     = "M5;M15;M30;H1";        // Time frames to use (separated by ";" in the list)

int    ColorSteps        = 41;                                    // Color steps for gradient colors
extern color  AboveYesterHigh   = clrDarkGreen;                          // Color for breaking up yesterday high
extern color  Fibo76Color       = clrLimeGreen;                          // Color for above Fibo 76.4 %
extern color  Fibo61Color       = clrLime;                               // Color for above Fibo 61.8 %
extern color  Fibo50Color       = clrGray;                             // Color for above Fibo 50.0 %
extern color  Fibo38Color       = clrRed;                                // Color for above Fibo 38.2 %
extern color  Fibo23Color       = clrCrimson;                            // Color for above Fibo 23.6 %
extern color  FiboZeroColor     = clrFireBrick;                          // Color for above Fibo zero %
extern color  BelowYesterLow    = clrMaroon;                             // Color for breaking down yesterday low
extern color  Neutral           = clrLightGray;                          // Color for neutral

extern color  TextColor         = clrBlack;                              // Color for button text
extern string TextFont          = "Arial";                               // Text font
extern int    TextSize          = 8;                                     // Text size
extern color  BorderColor       = clrBlack;                              // Color for button border
extern color  FillColor         = clrSilver;                             // Color for button background
extern int    Window            = 0;                                     // Window to use for display
extern ENUM_BASE_CORNER  Corner = CORNER_LEFT_LOWER;                     // Corner for display
extern int    XShift            = 0;                                     // Horizontal shift
extern int    YShift            = 0;                                     // Vertical shift
extern string UniqueID          = "SpudFiboDashboard1";                  // Indicator unique ID

extern string             button_note1          = "------------------------------";
extern ENUM_BASE_CORNER   btn_corner            = CORNER_LEFT_UPPER; // chart btn_corner for anchoring
extern string             btn_text              = "FiboBoard";
extern string             btn_Font              = "Impact";
extern int                btn_FontSize          = 9;                                 //btn__font size
extern color              btn_text_ON_color     = clrWhite;
extern color              btn_text_OFF_color    = C'120,120,120';
extern color              btn_background_color  = clrDarkRed;
extern color              btn_border_color      = clrBlack;
extern int                button_x              = 20;                                         //btn__x
extern int                button_y              = 13;                                         //btn__y
extern int                btn_Width             = 60;                                     //btn__width
extern int                btn_Height            = 20;                                    //btn__height
extern string             button_note2          = "------------------------------";

bool                      show_data             = true;
string IndicatorName, IndicatorObjPrefix;

int    cpairsLen,ctimesLen, aTimes[];
string cpairs[];
color  colors[];
datetime StartTime;

string GenerateIndicatorName(const string target) //don't change anything here
{
   string name = target;
   int try = 2;
   while (WindowFind(name) != -1)
   {
      name = target + " #" + IntegerToString(try++);
   }
   return name;
}

string buttonId;

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

void createButton(string buttonID,string buttonText,int width,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{
      ObjectDelete    (ChartID(),buttonID);
      ObjectCreate    (ChartID(),buttonID,OBJ_BUTTON,0,0,0);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_COLOR,txtColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_BGCOLOR,bgColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_BORDER_COLOR,borderColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_XSIZE,width);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_YSIZE,height);
      ObjectSetString (ChartID(),buttonID,OBJPROP_FONT,font);
      ObjectSetString (ChartID(),buttonID,OBJPROP_TEXT,buttonText);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_FONTSIZE,fontSize);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_SELECTABLE,0);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_CORNER,btn_corner);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_HIDDEN,1);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_XDISTANCE,9999);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_YDISTANCE,9999);
}

int deinit()
{
   ObjectsDeleteAll(ChartID(), IndicatorObjPrefix);

   int idLength = StringLen(UniqueID);
   for (int i = ObjectsTotal(); i>=0; i--)
         { string name = ObjectName(i); if (StringSubstr(name,0,idLength) == UniqueID) ObjectDelete(name); }         

	return(0);
}

bool recalc = true;

void handleButtonClicks()
{
   if (ObjectGetInteger(ChartID(), buttonId, OBJPROP_STATE))
   {
      ObjectSetInteger(ChartID(), buttonId, OBJPROP_STATE, false);
      show_data = !show_data;
      GlobalVariableSet(IndicatorName + "_visibility", show_data ? 1.0 : 0.0);
      recalc = true;
      start();
   }
}

void OnChartEvent(const int id, //don't change anything here
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
   if (id==CHARTEVENT_OBJECT_CLICK && ObjectGet(sparam,OBJPROP_TYPE)==OBJ_BUTTON)
   {   
      if (StringFind(sparam,UniqueID+"t",0)==0)          
            ChartSetSymbolPeriod(0,ObjectGetString(0,sparam,OBJPROP_TEXT),_Period);
   }
   handleButtonClicks();
}

string GetButtonState(string whichbutton)
{
      bool selected = ObjectGetInteger(ChartID(),whichbutton,OBJPROP_STATE);
      if (selected)
           { return ("on"); } 
      else { return ("off");}
}

int start()
{
      // код доступен только после оплаты
   }
double HiPrice, Fibo76Price, Fibo61Price, Fibo50Price, Fibo38Price, Fibo23Price, LoPrice, PriceBid;
   handleButtonClicks();
   recalc = false;
   int xshift=0, nxshift=0; if (Corner==CORNER_RIGHT_LOWER || Corner==CORNER_RIGHT_UPPER) { xshift=49; nxshift=66; }
   for (int i = 0; i < cpairsLen; i++ ) ButtonCreate2(ChartID(),UniqueID+"t"+(string)i,Window,XShift+nxshift+2,YShift+30+i*15,66,14,Corner,cpairs[i],TextFont,TextSize,TextColor,BorderColor,FillColor); //create Forex symbol pairs
   ButtonCreate2(ChartID(),UniqueID+"h"+(string)0,Window,XShift+xshift+0*62+69,YShift+15,62,14,Corner,"Fibo 100%",TextFont,TextSize,TextColor,BorderColor,FillColor); //create bottom row of timeframe labels
   ButtonCreate2(ChartID(),UniqueID+"h"+(string)1,Window,XShift+xshift+1*62+69,YShift+15,62,14,Corner,"Fibo 76.4%",TextFont,TextSize,TextColor,BorderColor,FillColor); //create bottom row of timeframe labels
   ButtonCreate2(ChartID(),UniqueID+"h"+(string)2,Window,XShift+xshift+2*62+69,YShift+15,62,14,Corner,"Fibo 61.8%",TextFont,TextSize,TextColor,BorderColor,FillColor); //create bottom row of timeframe labels
   ButtonCreate2(ChartID(),UniqueID+"h"+(string)3,Window,XShift+xshift+3*62+69,YShift+15,62,14,Corner,"Fibo 50%",TextFont,TextSize,TextColor,BorderColor,FillColor); //create bottom row of timeframe labels
   ButtonCreate2(ChartID(),UniqueID+"h"+(string)4,Window,XShift+xshift+4*62+69,YShift+15,62,14,Corner,"Fibo 38.2%",TextFont,TextSize,TextColor,BorderColor,FillColor); //create bottom row of timeframe labels
   ButtonCreate2(ChartID

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

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

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

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

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

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

Стоимость полного кода
1 590,60₽ ≈ $19.83