! sbnr arrows 2 new.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «! sbnr arrows 2 new.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор для MetaTrader 5 рассчитывает значение RSI и накладывает на него скользящую среднюю, отображая на графике стрелки при изменении соотношения между этими двумя показателями. Поддерживается работа на различных таймфреймах с возможностью интерполяции данных для мультитаймфреймного анализа.
Индикатор предоставляет систему уведомлений, включающую звуковые сигналы, push-уведомления и email-оповещения, которые срабатывают при появлении сигналов на заданных свечах. Визуальные маркеры рисуются на основе расчёта ATR для позиционирования стрелок относительно ценовых уровней.
Настройки параметров позволяют гибко управлять периодами расчёта, типами скользящих средних, цветами и размерами стрелок, а также поведением алертов. Индикатор работает в отдельном окне и совместим с платформой MetaTrader 5.
Настройки программы
| Настройка | Описание |
|---|---|
| i_ePeriod | Таймфрейм, на котором выполняется расчёт индикатора |
| RsiPeriod | Период индикатора RSI |
| MaType | Тип скользящей средней для расчёта |
| MaPeriod | Период скользящей средней, применяемой к RSI |
| Interpolate | Включает или отключает интерполяцию данных между таймфреймами |
| arrowsIdentifier | Идентификатор стрелок на графике для их группировки и удаления |
| ArrowGap | Вертикальный отступ стрелок от цены в виде множителя ATR |
| arrowsUpColor | Цвет стрелки вверх (бычий сигнал) |
| arrowsDnColor | Цвет стрелки вниз (медвежий сигнал) |
| arrowsUpSize | Размер стрелки вверх |
| arrowsDnSize | Размер стрелки вниз |
| i_eAlertBar | Выбор свечи, на которой срабатывают уведомления: текущая или закрытая |
| alertsSound | Включает или отключает звуковой сигнал при появлении сигналов |
| alertsMessage | Включает или отключает push-уведомления о сигналах |
| alertsEmail | Включает или отключает отправку email-уведомлений о сигналах |
Поиск по коду файла
#property indicator_separate_window
#property strict
#property indicator_buffers 5
#property indicator_color1 clrRed
#property indicator_color2 clrGreen
#property indicator_color3 clrBlack
enum TIMEFRAMES
{
PeriodCurrent = PERIOD_CURRENT, // Current
PeriodM1 = PERIOD_M1, // М1
PeriodM5 = PERIOD_M5, // М5
PeriodM15 = PERIOD_M15, // М15
PeriodM30 = PERIOD_M30, // M30
PeriodH1 = PERIOD_H1, // H1
PeriodH4 = PERIOD_H4, // H4
PeriodD1 = PERIOD_D1, // D1
PeriodW1 = PERIOD_W1, // W1
PeriodMN = PERIOD_MN1 // MN1
};
enum AlertBar
{
Current = 0, // Current bar
Closed = 1 // Closed bar
};
enum Mode
{
ReturnBars = -2,
CalculateRSI = -1,
Normal = 0
};
input TIMEFRAMES i_ePeriod = PeriodCurrent; // Timeframe
input int RsiPeriod = 4; // RSI per?od
input ENUM_MA_METHOD MaType = MODE_EMA; // MA Type
input int MaPeriod = 2; // MA Period
input bool Interpolate = false; // Interpolate
input string arrowsIdentifier = "SBNR arrows"; // ID
extern double ArrowGap = 0.30;
input color arrowsUpColor = clrLime; // Color up arrow
input color arrowsDnColor = clrRed; // Color down arrow
input int arrowsUpSize = 2; // up arrow size
input int arrowsDnSize = 2; // down arrow size
input AlertBar i_eAlertBar = Closed; // Alert
input bool alertsSound = TRUE; // Alert Sound
input bool alertsMessage = FALSE; // push
input bool alertsEmail = FALSE; // email
double RSIBuffer[];
double MABuffer[];
double StatusBuffer[],BUY[],SELL[];
string g_sIndicatorName;
bool g_bCalculateRSI = FALSE;
bool g_bReturnBars = FALSE;
ENUM_TIMEFRAMES g_ePeriod;
datetime g_dtLastBarTime;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int nReason)
{
RemoveAllArrows();
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
int nOtherPeriodShift;
if (prev_calculated < 0)
return (0);
int nStartBar = MathMin(Bars - prev_calculated, Bars - 1);
if (g_bReturnBars)
{
RSIBuffer[0] = nStartBar + 1;
return (rates_total);
}
if (g_ePeriod > Period())
nStartBar = (int) MathMax(nStartBar, MathMin(Bars - 1, iCustom(NULL, g_ePeriod, g_sIndicatorName, ReturnBars, 0, 0) * g_ePeriod / Period()));
if (g_bCalculateRSI)
{
for (int i = 0; i < nStartBar; i++)
RSIBuffer[i] = iRSI(NULL, 0, RsiPeriod, PRICE_CLOSE, i);
for (int i = 0; i < nStartBar; i++)
MABuffer[i] = iMAOnArray(RSIBuffer, 0, MaPeriod, 0, MaType, i);
return (rates_total);
}
for (int i = nStartBar; i >= 0; i--)
{
if(i > Bars - 2)
continue;
nOtherPeriodShift = iBarShift(NULL, g_ePeriod, Time[i] - Time[i] % g_ePeriod, true);
if(nOtherPeriodShift == -1)
continue;
RSIBuffer[i] = iCustom(NULL, g_ePeriod, g_sIndicatoПоказано первые 50% кода (символов: 5830)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.