cci zones.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «cci zones.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой индикатор для MetaTrader 5, который рассчитывает значение CCI (индекс канала товара) и отображает зоны изменения его направления на графике в виде цветных прямоугольников. При переходе CCI из отрицательной зоны в положительную или наоборот индикатор рисует объекты-прямоугольники с заданными цветами.
Индикатор поддерживает работу на различных таймфреймах: если текущий таймфрейм отличается от заданного, он запускает пользовательский сценарий расчёта через iCustom. Также доступны уведомления о смене тренда CCI — в виде pop-up сообщений, звуковых сигналов и email-рассылки.
Настройки включают период и тип цены для расчёта CCI, цвета зон, уникальный идентификатор объектов и параметры уведомлений. Удаление всех созданных объектов происходит при деинициализации индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором выполняется расчёт индикатора. Если отличается от текущего графика, расчёт выполняется через iCustom на указанном таймфрейме. |
| CCIPeriod | Период расчёта индекса CCI, используемый во внутренней функции iCCI. |
| CCIPrice | Тип цены, применяемый для расчёта CCI (например, типичная цена). |
| UniqueID | Уникальный идентификатор, используемый для именования создаваемых графических объектов на графике. |
| ColorUp | Цвет прямоугольников, отображающих зону, где CCI положительный. |
| ColorDown | Цвет прямоугольников, отображающих зону, где CCI отрицательный. |
| alertsOn | Главный переключатель, включающий или отключающий все уведомления индикатора. |
| alertsOnCurrent | Определяет, на каком баре отслеживается смена тренда: на текущем (0) или на предыдущем (1). |
| alertsMessage | Включает или отключает отправку pop-up сообщений при смене тренда CCI. |
| alertsSound | Включает или отключает звуковое уведомление при смене тренда CCI. |
| alertsEmail | Включает или отключает отправку email-уведомлений при смене тренда CCI. |
| Dummy | Вспомогательный числовой параметр, используемый для управления временным условием отрисовки при совпадении таймфреймов. |
Поиск по коду файла
#property indicator_chart_window
extern string TimeFrame = "current time frame";
extern int CCIPeriod = 55;
extern int CCIPrice = PRICE_TYPICAL;
extern string UniqueID = "CCI zones";
extern color ColorUp = PaleGreen;
extern color ColorDown = C'249,200,225';
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern double Dummy = -1;
double colors[];
int timeFrame;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
string lookFor = UniqueID+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
datetime tDummy = Dummy;
if (timeFrame!=Period())
{
iCustom(NULL,timeFrame,indicatorFileName,"",CCIPeriod,CCIPrice,UniqueID,ColorUp,ColorDown,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,Time[0],0,0);
return(0);
}
else if (Dummy<=Time[0]) tDummy = Time[0];
static bool secondTime=false;
if (secondTime)
{
int count=0;
for (;limit<Bars; limit++) if (colors[limit]!=colors[limit+1]) { count++; if (count>1) break; }
}
else secondTime=true;
double MaxValue = High[0]*10.0;
for(i = limit; i>=0 ; i--)
{
if (i>Bars-2) continue;
double cci = iCCI(NULL,0,CCIPeriod,CCIPrice,i);
colors[i] = colors[i+1];
if (cci>0) colors[i] = 1;
if (cci<0) colors[i] = -1;
for (int index=i; inПоказано первые 50% кода (символов: 3239)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.