iCompass
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «icompass_v1.2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
iCompass — пользовательский индикатор для MetaTrader 5, отображаемый в окне графика. Индикатор рассчитывает и рисует две линии тренда: восходящую и нисходящую, используя скользящую среднюю и анализ ценовых диапазонов за заданное число баров. Линии отображаются разными цветами и толщиной, что позволяет визуально оценивать направление движения цены.
Индикатор поддерживает настройку количества обрабатываемых баров, периода скользящей средней и смещения баров. При включённой опции оповещений индикатор может подавать звуковые и всплывающие уведомления при смене направления тренда, что помогает трейдеру своевременно реагировать на изменения рынка.
Все расчёты выполняются на основе ценовых данных текущего символа и таймфрейма. Индикатор не содержит торговых функций и предназначен исключительно для аналитических целей.
Настройки программы
| Настройка | Описание |
|---|---|
| BarsCount | Задаёт количество баров, обрабатываемых индикатором при расчёте. Влияет на глубину отображаемой истории. |
| MAperiods | Период скользящей средней, используемой для построения линий тренда и расчёта сглаживания. |
| ShiftBars | Смещение баров, применяемое при расчёте значений индикатора относительно текущего бара. |
| AlertON | Включает или отключает подачу звуковых и всплывающих оповещений при смене направления тренда. |
Поиск по коду файла
#property version "1.2"
#property description "iCompass"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrMidnightBlue
#property indicator_color2 clrDarkViolet
#property indicator_width1 2
#property indicator_width2 2
input int BarsCount = 10000;
input int MAperiods = 30;
input int ShiftBars = 0;
input bool AlertON = TRUE;
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
double ExtBuffer3[];
double ExtBufferh1[];
double ExtBufferh2[];
double MovingAverage[];
bool AlertBuy=TRUE;
bool AlertSell=TRUE;
int AlertSignal=0;
int OnInit(void)
{
// код доступен только после оплаты
}
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 i;
int k;
int Limit=0;
double Value=0;
double LastValue=0;
double GetBuffer=0;
double MedianPrice;
double MinLow=0;
double MaxHigh=0;
double sum=0;
double sumw=0;
double weight;
double SmoothBars=NormalizeDouble(MAperiods/3,0);
int CountedBars=BarsCount;//IndicatorCounted();
if(CountedBars>Bars-1-SmoothBars)
CountedBars=Bars-1-(MAperiods/3);
if(CountedBars<0)
return(-1);
if(CountedBars>0)
CountedBars--;
Limit=CountedBars;
for(i=0; i<Limit; i++)
{
MovingAverage[i]=iMA(NULL,0,MAperiods,0,0,0,i+ShiftBars);
MaxHigh=high[Highest(NULL,0,MODE_HIGH,MAperiods,i+ShiftBars)];
MinLow=low[Lowest(NULL,0,MODE_LOW,MAperiods,i+ShiftBars)];
MedianPrice=(high[i+ShiftBars]+low[i+ShifПоказано первые 50% кода (символов: 3399)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.