zigzag indicator by chatgpt bt.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «zigzag indicator by chatgpt bt.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор для MetaTrader 4 объединяет два аналитических инструмента: ZigZag и Awesome Oscillator. ZigZag отображает ключевые точки разворота цены на графике, а Awesome Oscillator представляет собой гистограмму, рассчитанную на основе двух скользящих средних. Оба инструмента отрисовываются в основном окне графика с использованием четырёх буферов данных.
Индикатор оснащён интерактивной кнопкой, позволяющей включать и выключать отображение аналитических данных прямо с графика. При нажатии на кнопку состояние переключается, и пользователь может скрыть или показать рисунок индикатора без необходимости перезапуска терминала.
Параметры настройки включают параметры расчёта ZigZag и Awesome Oscillator, а также полный набор настроек внешнего вида и позиционирования кнопки управления.
Настройки программы
| Настройка | Описание |
|---|---|
| ExtDepth | Глубина ZigZag — Глубина ZigZag — минимальное количество баров между значимыми максимумами и минимумами. |
| ExtDeviation | Отклонение ZigZag — Допустимое отклонение цены в пунктах для формирования точки ZigZag. |
| ExtBackstep | Обратный шаг ZigZag — Обратный шаг для расчёта ZigZag, определяет количество баров, используемых для проверки предыдущих экстремумов. |
| nBars | Количество баров — Количество баров, используемых для расчёта ZigZag. При значении 0 используются все доступные бары. |
| fast_ma_period | Период быстрой скользящей — Период быстрой скользящей средней для расчёта Awesome Oscillator. |
| slow_ma_period | Период медленной скользящей — Период медленной скользящей средней для расчёта Awesome Oscillator. |
| button_note1_ | Разделитель кнопки 1 — Текстовый разделитель перед группой настроек кнопки. |
| What window to put the button on. If <0, the button will use the same sub-window as the indicator. (btn_Subwindow) | Подокно кнопки — Подокно, в котором размещается кнопка. Если значение меньше нуля, кнопка использует то же подокно, что и индикатор. |
| button corner on chart for anchoring (btn_corner) | Угол привязки кнопки — Угол графика, в котором привязывается кнопка. |
| a button name (btn_text) | Текст кнопки — Текст, отображаемый на кнопке. |
| button font name (btn_Font) | Шрифт кнопки — Шрифт, используемый для текста на кнопке. |
| button font size (btn_FontSize) | Размер шрифта кнопки — Размер шрифта текста на кнопке. |
| ON color when the button is turned on (btn_text_ON_color) | Цвет текста (вкл) — Цвет текста кнопки при включённом состоянии индикатора. |
| OFF color when the button is turned off (btn_text_OFF_color) | Цвет текста (выкл) — Цвет текста кнопки при выключенном состоянии индикатора. |
| background color of the button (btn_background_color) | Фон кнопки — Цвет фона кнопки. |
| border color the button (btn_border_color) | Рамка кнопки — Цвет рамки кнопки. |
| x coordinate of the button (button_x) | Координата X кнопки — Горизонтальная координата кнопки на графике. |
| y coordinate of the button (button_y) | Координата Y кнопки — Вертикальная координата кнопки на графике. |
| button width (btn_Width) | Ширина кнопки — Ширина кнопки в пикселях. |
| button height (btn_Height) | Высота кнопки — Высота кнопки в пикселях. |
| Unique ID for each button (UniqueButtonID) | Уникальный ID кнопки — Уникальный идентификатор кнопки для различения нескольких экземпляров индикатора на одном графике. |
| button_note2 | Разделитель кнопки 2 — Текстовый разделитель после группы настроек кнопки. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 clrRed
#property indicator_color2 clrBlue
#property indicator_color3 clrLime
#property indicator_color4 clrRed
extern int ExtDepth = 12;
extern int ExtDeviation = 5;
extern int ExtBackstep = 3;
extern int nBars = 150;
extern int fast_ma_period = 5;
extern int slow_ma_period = 34;
extern string button_note1_ = "------------------------------";
extern int btn_Subwindow = 0; // What window to put the button on. If <0, the button will use the same sub-window as the indicator.
extern ENUM_BASE_CORNER btn_corner = CORNER_LEFT_UPPER; // button corner on chart for anchoring
extern string btn_text = "ZigZag AO"; // a button name
extern string btn_Font = "Arial"; // button font name
extern int btn_FontSize = 9; // button font size
extern color btn_text_ON_color = clrLime; // ON color when the button is turned on
extern color btn_text_OFF_color = clrRed; // OFF color when the button is turned off
extern color btn_background_color = clrDimGray; // background color of the button
extern color btn_border_color = clrBlack; // border color the button
extern int button_x = 20; // x coordinate of the button
extern int button_y = 25; // y coordinate of the button
extern int btn_Width = 80; // button width
extern int btn_Height = 20; // button height
extern string UniqueButtonID = "ZigZagAO"; // Unique ID for each button
extern string button_note2 = "------------------------------";
bool show_data, recalc=false;
string IndicatorObjPrefix, buttonId;
double ExtMapBuffer[], ExtMapBuffer2[], fast_ma[], slow_ma[], ao[];
int OnInit()
{
// код доступен только после оплаты
}
void createButton(string buttonID,string buttonText,int width2,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{
ObjectDelete (0,buttonID);
ObjectCreate (0,buttonID,OBJ_BUTTON,btn_Subwindow,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,width2);
ObjectSetInteger(0,buttonID,OBJPROP_YSIZE,height);
ObjectSetString (0,buttonID,OBJPROP_FONT,font);
ObjectSetString (0,buttonID,OBJPROP_TEXT,buttonText);
ObjectSetInteger(0,buttonID,OBJPROP_FONTSIZE,fontSize);
ObjectSetInteger(0,buttonID,OBJPROP_SELECTABLE,0);
ObjectSetInteger(0,buttonID,OBJPROP_CORNER,btn_corner);
ObjectSetInteger(0,buttonID,OBJPROP_HIDDEN,1);
ObjectSetInteger(0,buttonID,OBJPROP_XDISTANCE,9999);
ObjectSetInteger(0,buttonID,OBJPROP_YDISTANCE,9999);
ObjectSetInteger(0, buttonId, OBJPROP_STATE, true);
}
void OnDeinit(const int reason)
{
if(reason != REASON_CHARTCHANGE) ObjectDelete(buttonId);
}
void OnChartEvent(const int id, //don't change anything here
const long &lparam,
const double &dparam,
const string &sparam)
{
if(id==CHARTEVENT_OBJECT_CREATE || id==CHARTEVENT_OBJECT_DELETE) return; // This appears to make this indy compatible with other programs that enabled CHART_EVENT_OBJECT_CREATE and/or CHART_EVENT_OBJECT_DELETE
if(id==CHARTEVENT_MOUSE_MOVE || id==CHARTEVENT_MOUSE_WHEEL) return; // If this, or another proПоказано первые 50% кода (символов: 6785)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.