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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.