#spudfibo dashboard button weekly.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#spudfibo dashboard button weekly.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
SpudFibo Dashboard Button Weekly — это индикатор-панель для MetaTrader 4, отображающий уровни Фибоначчи для множества валютных пар на основе данных недельного таймфрейма. Для каждой пары рассчитываются уровни 100%, 76.4%, 61.8%, 50%, 38.2%, 23.6% и 0%, а текущая цена Bid сравнивается с ними для определения цвета ячеек. Индикатор создаёт на графике таблицу из кнопок, где строки — валютные пары, столбцы — уровни Фибоначчи.
В центре панели расположена кнопка-переключатель, скрывающая или показывающая всю таблицу. Состояние видимости сохраняется в глобальной переменной терминала. При нажатии на определённые элементы таблицы возможно изменение символа на графике. Панель поддерживает размещение в любом углу графика с настраиваемыми сдвигами.
Цветовая кодировка отражает позицию цены относительно недельных максимумов и минимумов: зелёные оттенки — цена выше соответствующих уровней Фибоначчи, красные — ниже, серый — нейтральное состояние. Настраиваются цвета, шрифты, размеры и расположение всех элементов интерфейса.
Настройки программы
| Настройка | Описание |
|---|---|
| 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 | Координата X кнопки-переключателя |
| button_y | Координата 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;H4,D1,W1,MN"; // 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(CПоказано первые 50% кода (символов: 15918)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.