AutoPivot
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «###auto pivot2 button 1.03.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 5, отображающий на графике ценовые уровни, рассчитанные по данным предыдущих периодов. Поддерживаются дневные, недельные и месячные уровни, а также уровни поддержки и сопротивления. Индикатор работает в окне графика и не предназначен для автоматической торговли.
Пользователь может включать или отключать отображение отдельных групп уровней, настраивать цвета линий, шрифт и размер подписей, а также управлять положением подписей и линий. Дополнительно предусмотрена кнопка на графике для быстрого скрытия или показа всех построений.
Входные параметры позволяют выбрать, учитывать ли данные воскресенья, задать смещение линий и подписей, стиль линий и цвета для каждого типа уровней. Кнопка на графике имеет настраиваемые размеры, шрифт, цвета и положение.
Индикатор не содержит торговых функций и не выполняет автоматических операций; он предназначен исключительно для визуального анализа уровней на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| Use_Sunday_Data | Учитывать ли данные воскресенья при расчёте дневных уровней. |
| Daily | Включает или отключает отображение дневных уровней (Pivot, R1-R3, S1-S3). |
| Daily_SR_Levels | Включает или отключает отображение дневных уровней поддержки и сопротивления (R1-R3, S1-S3). |
| Weekly | Включает или отключает отображение недельных уровней (Pivot, WR1-WR3, WS1-WS3). |
| Weekly_SR_Levels | Включает или отключает отображение недельных уровней поддержки и сопротивления (WR1-WR3, WS1-WS3). |
| Monthly | Включает или отключает отображение месячных уровней (Pivot, MR1-MR3, MS1-MS3). |
| Monthly_SR_Levels | Включает или отключает отображение месячных уровней поддержки и сопротивления (MR1-MR3, MS1-MS3). |
| Labels_Adjust | Смещение текстовых подписей уровней по горизонтали в барах. |
| Lines_Move_to_Right | Если включено, линии уровней продлеваются вправо от текущего бара. |
| Lines_Shift | Величина сдвига линий вправо в барах при включённом параметре Lines_Move_to_Right. |
| note1 | Текстовая метка-разделитель в списке настроек; не влияет на работу индикатора. |
| LineFont | Название шрифта для текстовых подписей уровней. |
| FontSize | Размер шрифта для текстовых подписей уровней. |
| myLineStyle | Стиль линий уровней (например, пунктирный, сплошной). |
| DailyLineColors | Текстовая метка-разделитель для группы цветов дневных линий; не влияет на расчёт. |
| PivotLine | Цвет дневного центрального уровня Pivot. |
| R1_Line | Цвет дневного уровня сопротивления R1. |
| R2_Line | Цвет дневного уровня сопротивления R2. |
| R3_Line | Цвет дневного уровня сопротивления R3. |
| S1_Line | Цвет дневного уровня поддержки S1. |
| S2_Line | Цвет дневного уровня поддержки S2. |
| S3_Line | Цвет дневного уровня поддержки S3. |
| WeeklyLineColors | Текстовая метка-разделитель для группы цветов недельных линий; не влияет на расчёт. |
| WeekPivotLine | Цвет недельного центрального уровня Pivot. |
| WR1_Line | Цвет недельного уровня сопротивления R1. |
| WR2_Line | Цвет недельного уровня сопротивления R2. |
| WR3_Line | Цвет недельного уровня сопротивления R3. |
| WS1_Line | Цвет недельного уровня поддержки S1. |
| WS2_Line | Цвет недельного уровня поддержки S2. |
| WS3_Line | Цвет недельного уровня поддержки S3. |
| MonthlyLineColors | Текстовая метка-разделитель для группы цветов месячных линий; не влияет на расчёт. |
| MonthPivotLine | Цвет месячного центрального уровня Pivot. |
| MR1_Line | Цвет месячного уровня сопротивления R1. |
| MR2_Line | Цвет месячного уровня сопротивления R2. |
| MR3_Line | Цвет месячного уровня сопротивления R3. |
| MS1_Line | Цвет месячного уровня поддержки S1. |
| MS2_Line | Цвет месячного уровня поддержки S2. |
| MS3_Line | Цвет месячного уровня поддержки S3. |
| button_note1 | Текстовая метка-разделитель перед группой настроек кнопки; не влияет на работу. |
| btn_corner | Угол графика для привязки кнопки управления отображением. |
| btn_text | Текст, отображаемый на кнопке управления отображением. |
| btn_Font | Шрифт текста на кнопке управления отображением. |
| btn_FontSize | Размер шрифта текста на кнопке управления отображением. |
| btn_text_color | Цвет текста на кнопке управления отображением. |
| btn_background_color | Цвет фона кнопки управления отображением. |
| btn_border_color | Цвет рамки кнопки управления отображением. |
| button_x | Горизонтальное смещение кнопки управления отображением в пикселях. |
| button_y | Вертикальное смещение кнопки управления отображением в пикселях. |
| btn_Width | Ширина кнопки управления отображением в пикселях. |
| btn_Height | Высота кнопки управления отображением в пикселях. |
| button_note2 | Текстовая метка-разделитель после группы настроек кнопки; не влияет на работу. |
Поиск по коду файла
#property indicator_chart_window
extern bool Use_Sunday_Data = true;
extern bool Daily = true;
extern bool Daily_SR_Levels = true;
extern bool Weekly = false;
extern bool Weekly_SR_Levels = false;
extern bool Monthly = false;
extern bool Monthly_SR_Levels = false;
extern int Labels_Adjust = 10;
extern bool Lines_Move_to_Right = false;
extern int Lines_Shift = 0;
extern string note1 = "------------------------------";
extern string LineFont = "Arial Black";
extern int FontSize = 6;
extern ENUM_LINE_STYLE myLineStyle = STYLE_DASH;
extern string DailyLineColors = "---Daily Colors-------------";
extern color PivotLine = clrMagenta;
extern color R1_Line = clrRed;
extern color R2_Line = clrRed;
extern color R3_Line = clrRed;
extern color S1_Line = clrGreen;
extern color S2_Line = clrGreen;
extern color S3_Line = clrGreen;
extern string WeeklyLineColors = "---Weekly Colors-------------";
extern color WeekPivotLine = clrAqua;
extern color WR1_Line = clrDarkOrange;
extern color WR2_Line = clrDarkOrange;
extern color WR3_Line = clrDarkOrange;
extern color WS1_Line = clrSteelBlue;
extern color WS2_Line = clrSteelBlue;
extern color WS3_Line = clrSteelBlue;
extern string MonthlyLineColors = "---Monthly Colors-------------";
extern color MonthPivotLine = clrAqua;
extern color MR1_Line = clrBlue;
extern color MR2_Line = clrBlue;
extern color MR3_Line = clrBlue;
extern color MS1_Line = clrSilver;
extern color MS2_Line = clrSilver;
extern color MS3_Line = clrSilver;
extern string button_note1 = "------------------------------";
extern ENUM_BASE_CORNER btn_corner = CORNER_LEFT_UPPER; // chart btn_corner for anchoring
extern string btn_text = "Pivot";
extern string btn_Font = "Arial";
extern int btn_FontSize = 10; //btn__font size
extern color btn_text_color = clrWhite;
extern color btn_background_color = clrDimGray;
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 WorkTime=0,Periods=0;
double YesterdayHigh;
double YesterdayLow;
double YesterdayClose;
double Day_Price[][6];
double Pivot,S1,S2,S3,R1,R2,R3;
double WeekHigh;
double WeekLow;
double WeekClose;
double Weekly_Price[][6];
double WeekPivot,WS1,WS2,WS3,WR1,WR2,WR3;
double MonthHigh;
double MonthLow;
double MonthClose;
double Month_Price[][6];
double MonthPivot,MS1,MS2,MS3,MR1,MR2,MR3;
datetime endTime=0, startTime=0;
bool PlotFactor=false;
bool Daily2, Daily_SR_Levels2, Weekly2, Weekly_SR_Levels2, Monthly2, Monthly_SR_Levels2;
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;
}
class VisibilityCotroller //don't change anything here
{
string buttonId, visibilityId;
bool show_data, recalc;
public:
void Init(string id, string indicatorName, string caption, int x, int y) //don't change anything here
{
recalc = false;
visibilityId = indicatorName + "_visibility";
double val;
if (GlobalVariableGet(visibilityId, val))
show_data = val != 0;
buttonId = id;
ChartSetInteger(0, CHART_EVENT_MOUSE_MOVE, 1);
createButton(buttonId, caption, btn_Width, btn_Height, btn_Font, btn_FontSize, btn_background_color, btn_border_color, btn_text_color);
ObjectSetInteger(0,buttonId,OBJPROP_YDISTANCE, button_y);
ObjectSetInteger(0,buttonId,OBJPROP_XDISTANCE, button_x);
}
void DeInit()
{
ObjectDelete(ChartID(), buttonId);
DeleteObjectsByString("Line",0);
DeleteObjectsByString("Label",0);
}
bool HandleButtonClicks() //don't change anything here
{
if (ObjectGetInteger(0, buttonId, OBJPROP_STATE))
{
ObjectSetInteger(0, buttonId, OBJPROP_STATE, false);
show_data = !show_data;
GlobalVariableSet(visibilityId, show_data ? 1.0 : 0.0);
recalc = true;
return true;
}
return false;
}
bool IsRecalcNeeded() //don't change anything here
{
return recalc;
}
void ResetRecalc() //don't change anything here
{
recalc = false;
}
bool IsVisible() //don't change anything here
{
return show_data;
}
private: //don't change anything here much
void createButton(string buttonID,string buttonText,int width,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{
ObjectDelete (0,buttonID);
ObjectCreate (0,buttonID,OBJ_BUTTON,0,0,0);
ObjectSetInteger(0,buttonID,OBJPROP_COLOR,txtColor);
ObjectSetInteger(0,buttonID,OBJPROP_BGCOLOR,bgColor);
ObjectSetInteger(0,buttonID,OBJPROP_BORDER_COLOR,borderColor);
ObjectSetInteger(0,buttonID,OBJPROP_BORDER_TYPE,BORDER_RAISED);
ObjectSetInteger(0,buttonID,OBJPROP_XSIZE,width);
ObjectSetInteger(0,buttonID,OBJPROP_YSIZE,height);
ObjectSetString (0,buttonID,OBJPROP_FONT,font);
ObjectSetString (0,buttonID,OBJPROP_TEXT,buttonText);Показано первые 50% кода (символов: 9735)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.