Golden MA MTF TT [x5]
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «golden ma mtf tt [x5] button.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий торговые зоны на основе данных старшего таймфрейма. Рассчитывает центральную цену выбранным методом и формирует пять верхних и пять нижних уровней вокруг неё, выраженных в пунктах. Зоны визуализируются в виде трендовых линий на графике.
Визуализация включает линии предыдущего дневного максимума/минимума, маркеры начала и конца периода, а также текстовые метки для каждого уровня (зоны покупки, продажи, разворота, предупреждения о перекупленности/перепроданности). Все объекты рисуются на графике как скрытые не selectable объекты.
Встроенная кнопка на графике позволяет переключать видимость всех отрисованных объектов одним кликом. Состояние видимости сохраняется в глобальной переменной терминала. Индикатор обрабатывает события графика через OnChartEvent для взаимодействия с кнопкой.
Настройки программы
| Настройка | Описание |
|---|---|
| PeriodGraphics | PeriodGraphics — Таймфрейм для расчёта уровней индикатора |
| Price | Price — Метод расчёта центральной цены (Close, Open+Close+Low+High, Median, Typical, Weighted) |
| StartPips | StartPips — Расстояние от центральной цены до первого уровня в пунктах |
| InsidePips | InsidePips — Шаг внутренних подуровней в пунктах |
| BeyondBoundaries | BeyondBoundaries — Разрешает отображение внутренних уровней за пределами базовых зон |
| 12; (HowManyHoursToTheRight) | HowManyHoursToTheRight — Сдвиг горизонтальной оси вправо (в часах) для отображения линий |
| StartEndPeriod | StartEndPeriod — Отображение вертикальных линий начала и конца периода |
| note1 | note1 — Текстовый параметр-заметка |
| YesterdayHiLo | YesterdayHiLo — Отображение линий предыдущего дневного максимума и минимума |
| YesterdayColor | YesterdayColor — Цвет линий предыдущего дневного максимума/минимума |
| YesterdaySize | YesterdaySize — Толщина линий предыдущего дневного максимума/минимума |
| Yesterday | Yesterday — Стиль линий предыдущего дневного максимума/минимума |
| note2 | note2 — Текстовый параметр-заметка |
| ShowTextLabels | ShowTextLabels — Отображение текстовых меток на графике |
| TextSize | TextSize — Размер шрифта текстовых меток |
| TagsRight | TagsRight — Размещение текстовых меток справа от уровня |
| TextColor | TextColor — Цвет текстовых меток |
| Label Shift +move right -move left (ShiftPreviousHiLabel) | ShiftPreviousHiLabel — Сдвиг метки предыдущего максимума в пикселях (+ вправо, - влево) |
| Label Shift +move right -move left (ShiftPreviousLoLabel) | ShiftPreviousLoLabel — Сдвиг метки предыдущего минимума в пикселях (+ вправо, - влево) |
| Label Shift +move right -move left (ShiftOtherLabels) | ShiftOtherLabels — Сдвиг текстовых меток в пикселях (+ вправо, - влево) |
| button_note1 | button_note1 — Текстовый параметр-заметка для кнопки |
| chart btn_corner for anchoring (btn_corner) | btn_corner — Угол привязки кнопки на графике |
| btn_text | btn_text — Текст на кнопке |
| btn_Font | btn_Font — Шрифт текста кнопки |
| btn__font size (btn_FontSize) | btn_FontSize — Размер шрифта кнопки |
| btn_text_ON_color | btn_text_ON_color — Цвет текста кнопки при отображении данных |
| btn_text_OFF_color | btn_text_OFF_color — Цвет текста кнопки при скрытых данных |
| btn_background_color | btn_background_color — Цвет фона кнопки |
| btn_border_color | btn_border_color — Цвет рамки кнопки |
| btn__x (button_x) | button_x — Горизонтальная позиция кнопки от угла привязки |
| btn__y (button_y) | button_y — Вертикальная позиция кнопки от угла привязки |
| btn__width (btn_Width) | btn_Width — Ширина кнопки в пикселях |
| btn__height (btn_Height) | btn_Height — Высота кнопки в пикселях |
| button_note2 | button_note2 — Текстовый параметр-заметка для кнопки |
Поиск по коду файла
#property description "Оригинальная идея: GaoShan @ k**c*@yeah.net"
#property description " "
#property description "расширил настройки :-))"
#property description " "
#property description "Почта: t*******e*@mail.ru"
#property indicator_chart_window
#property indicator_buffers 0
enum calcPR { CO, OCLH, MEDIAN, TYPICAL, WEIGHTED };
extern ENUM_TIMEFRAMES PeriodGraphics = PERIOD_D1;
extern calcPR Price = TYPICAL;
extern int StartPips = 20;
extern int InsidePips = 1;
extern bool BeyondBoundaries = false;
extern int HowManyHoursToTheRight = 4; //12;
extern bool StartEndPeriod = true;
extern string note1 = "------------------------------";
extern color ColorCenter = clrDarkSlateBlue, //LightSteelBlue,
ColorHI = clrMediumBlue,
ColorLO = clrMediumVioletRed; //Brown;
extern int SizeCenter = 5,
SizeHiLo = 4;
extern bool YesterdayHiLo = true;
extern color YesterdayColor = clrOrange;
extern int YesterdaySize = 1;
extern ENUM_LINE_STYLE Yesterday = STYLE_DOT;
extern string note2 = "------------------------------";
extern bool ShowTextLabels = true;
extern int TextSize = 8;
extern bool TagsRight = true;
extern color TextColor = clrDimGray;
extern int ShiftPreviousHiLabel = -20;//Label Shift +move right -move left
extern int ShiftPreviousLoLabel = -20;//Label Shift +move right -move left
extern int ShiftOtherLabels = 20;//Label Shift +move right -move left
string ШРИФТ = "Verdana"; //"Arial";
extern string button_note1 = "------------------------------";
extern ENUM_BASE_CORNER btn_corner = CORNER_LEFT_UPPER; // chart btn_corner for anchoring
extern string btn_text = "Gold MA";
extern string btn_Font = "Arial";
extern int btn_FontSize = 10; //btn__font size
extern color btn_text_ON_color = clrWhite;
extern color btn_text_OFF_color = clrRed;
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;
double HIGH, LOW, OPEN, CLOSE, MID;
double HI1, HI2, HI3, HI4, HI5;
double LO1, LO2, LO3, LO4, LO5; int stPIP, inPIP;
double POINT; datetime LastBarOpenTime; string PREF;
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);
ALL_OBJ_DELETE();
return(0);
}
void ALL_OBJ_DELETE()
{
string name;
for (int s=ObjectsTotal()-1; s>=0; s--) {
name=ObjectName(s);
if (StringSubstr(name,0,StringLen(PREF))==PREF) ObjectDelete(name); }
}
bool NewBarTF(int period)
{
datetime BarOpenTime=iTime(NULL,period,0);
if (BarOpenTime!=LastBarOpenTime) {
LastBarOpenTime=BarOpenTime;
return (true); }
else
return (false);
}
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)
{
handleButtonClicks();
}
int start()
{
// код доступен только после оплаты
}
handleButtonClicks();
recalc = false;
if (NewBarTF(PeriodGraphics)) ALL_OBJ_DELETE(); //PERIOD_D1
HIGH = iHigh(NULL, PeriodGraphics, 1); //PERIOD_D1
LOW = iLow(NULL, PeriodGraphics, 1);
OPEN = iOpen(NULL, PeriodGraphics, 1);
CLOSE = iClose(NULL, PeriodGraphics, 1);
if (Price==0) MID = NormalizeDouble((CLOSE + OPEN) / 2, Digits);
if (Price==1) MID = NormalizeDouble((OPEN + CLOSE + LOW + HIGH) / 4, Digits);
if (Price==2) MID = NormaПоказано первые 50% кода (символов: 11255)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.