simplehorizontalgrid.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «simplehorizontalgrid.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отрисовывает динамическую двухцветную горизонтальную сетку на ценовых уровнях. Линии привязываются к округлым числовым значениям цены и автоматически пересчитываются при изменении диапазона графика и его размера. Вспомогательные линии могут отображаться между основными уровнями в зависимости от выбранной плотности и настроек.
Настройки программы
| Настройка | Описание |
|---|---|
| Lines density (minDistance) | Плотность линий — Определяет минимальное расстояние между горизонтальными линиями сетки в пикселях; влияет на количество отображаемых уровней. |
| Secondary lines definition (SEC_LEVELS) | Определение вторичных линий — Задаёт количество и расположение дополнительных промежуточных линий между основными уровнями сетки. |
| Reverse line colours (reverseColour) | Инвертировать цвета линий — При включении меняет местами цвета основных и вспомогательных линий сетки. |
| Hide price labels (DISPLAY_IN_BACKGROUND) | Размещение линий на заднем плане — При включении основные линии сетки рисуются за ценовыми свечами, а не поверх них. |
Поиск по коду файла
#property strict
#property indicator_chart_window
#define VERSION "201.003"
#property version VERSION
#property description "Indicator plots a 2-colour dynamic grid at round number levels."
enum LineType
{
None = 0, // None
Two = 2, // 500
Four = 4, // 250 500 750
Five = 5, // 200 400 600 800
Eight = 8, // 125 250 .. 750 875
Ten=10 // 100 200 .. 800 900
};
enum YesNoType
{
TYPE_YES =1, // Yes
TYPE_NO = 0 // No
};
YesNoType SHOW_FINE_GRID=TYPE_YES; // Secondary lines count
enum DistanceEnum
{
D_5=5,// 05 - 050 pixels
D_10 = 10, // 10 - 100 pixels
D_20 = 20, // 20 - 200 pixels
D_30 = 30, // 30 - 300 pixels
D_40 = 40, // 40 - 400 pixels
D_50 = 50 // 50 - 500 pixels
};
input DistanceEnum minDistance=D_20; // Lines density
input LineType SEC_LEVELS=Five; // Secondary lines definition
input YesNoType reverseColour=TYPE_NO; // Reverse line colours
input YesNoType DISPLAY_IN_BACKGROUND=TYPE_YES; // Hide price labels
color MAIN_LINE_COLOR;
color FINE_COLOR;
int LINE_STYLE=STYLE_DOT;
#define INDI_PREFIX "SHG_"
double high= 0.0;
double low = 0.0;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
deleteLines();
}
int OnCalculate(const int rates_total,// size of input time series
const int prev_calculated, // bars handled in previous call
const datetime& time[], // Time
const double& open[], // Open
const double& xhigh[], // High
const double& xlow[], // Low
const double &close[],// Close
const long &tickVolume[],// Tick Volume
const long& volume[], // Real Volume
const int& spread[])
{
// код доступен только после оплаты
}
void OnChartEvent(const int id,// Event ID
const long& lparam, // Parameter of type long event
const double& dparam, // Parameter of type double event
const string &sparam)
{ // Parameter of type string events
if(chartChanged())
{
draw();
}
}
int pixelHeight=0;
bool chartChanged()
{
double newHigh= ChartGetDouble(0,CHART_PRICE_MAX);
double newLow = ChartGetDouble(0,CHART_PRICE_MIN);
int newPixelHeight=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
if(newHigh!=high || newLow!=low || newPixelHeight!=pixelHeight)
Показано первые 50% кода (символов: 4277)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.