Ask Bid Spread
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «0 - ask_bid_spread.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Ask Bid Spread отображает на графике MetaTrader 4 текущие цены Ask и Bid, а также спред между ними в виде текстовых меток. Пользователь может выбрать, какие именно данные отображать: только спред, спред с Ask, спред с Bid или все три значения одновременно. Метки размещаются в выбранном углу графика с настраиваемыми отступами.
В качестве источника спреда используется функция MarketInfo с режимом MODE_SPREAD. Значения Ask и Bid берутся из глобальных переменных терминала. Индикатор создаёт графические объекты типа OBJ_LABEL при каждом пересчёте и удаляет их при деинициализации.
Поддерживаются настройки цвета, размера и начертания шрифта, а также выбор угла размещения меток. Логика не включает нормализацию спреда — она закомментирована в исходном коде. Индикатор работает на графике без дополнительных окон.
Настройки программы
| Настройка | Описание |
|---|---|
| DD_Selection | Режим отображения данных: только спред, спред с Ask, спред с Bid или все три значения одновременно. |
| Ask_Color | Цвет текста метки цены Ask на графике. |
| Bid_Color | Цвет текста метки цены Bid на графике. |
| Spread_Color | Цвет текста метки спреда на графике. |
| Font_Size | Размер шрифта текстовых меток на графике. |
| Fonts_Bold | Переключатель жирного начертания шрифта меток. |
| Cornerp | Угол графика, в котором размещаются метки. Доступны: левый верхний, правый верхний, левый нижний и правый нижний углы. |
| X_Dist | Горизонтальное расстояние метки от выбранного угла графика в пикселях. |
| Y_Dist | Вертикальное расстояние метки от выбранного угла графика в пикселях. |
Поиск по коду файла
#property version "3.00"
#property strict
#property indicator_chart_window
enum DDS
{
SS, // Spread
AS, // Ask + Spread
BS, // Bid + Spread
ABS // Ask + Bid + Spread
};
enum CRN
{
a = 0, // Left Upper Corner
b = 1, // Right Upper Corner
c = 2, // Left Lower Corner
d = 3 // Right Lower Corner
};
input DDS DD_Selection = ABS; // Dropdown Selection
input color Ask_Color = MediumSeaGreen; // Ask Color
input color Bid_Color = Red; // Bid Color
input color Spread_Color = DarkOrange; // Spread Color
input int Font_Size = 12; // Font Size
input bool Fonts_Bold = true; // Font Bold
input CRN Cornerp = b; // Corner
input int X_Dist = 20; // Left - Right
input int Y_Dist = 60; // Up - Down
bool Spread_Normalize = true; //If true then spread normalized to traditional pips
bool ap, bp, sp;
int FSp;
double fs;
double Pointx;
double divider = 1;
int x_digits = 0;
int Y1, Y2, y3, sp_Dist, ap_Dist, bp_Dist;
string FT;
int OnInit()
{
// код доступен только после оплаты
}
FSp = Font_Size;
if(Cornerp == 0 || Cornerp == 1)
{
switch(DD_Selection)
{
case SS: ap = false; bp = false; sp = true; sp_Dist = Y_Dist; break;
case AS: ap = true; bp = false; sp = true; ap_Dist = Y_Dist; sp_Dist = Y_Dist + 2*FSp; break;
case BS: ap = false; bp = true; sp = true; bp_Dist = Y_Dist; sp_Dist = Y_Dist + 2*FSp; break;
case ABS: ap = true; bp = true; sp = true; ap_Dist = Y_Dist; bp_Dist = Y_Dist + 2*FSp; sp_Dist = Y_Dist + 4*FSp; break;
}
}
else
{
switch(DD_Selection)
{
case SS: ap = false; bp = false; sp = true; sp_Dist = Y_Dist; break;
case AS: ap = true; bp = false; sp = true; ap_Dist = Y_Dist + 2*FSp; sp_Dist = Y_Dist; break;
case BS: ap = false; bp = true; sp = true; bp_Dist = Y_Dist + 2*FSp; sp_Dist = Y_Dist; break;
case ABS: ap = true; bp = true; sp = true; ap_Dist = Y_Dist + 4*FSp; bp_Dist = Y_Dist + 2*FSp; sp_Dist = Y_Dist; break;
}
}
if (Point == 0.00001)
{
Pointx = 0.0001; //5 digits
}
else if (Point == 0.001)
{
Pointx = 0.01; //3 digiПоказано первые 50% кода (символов: 3081)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.