← К каталогу
Исходный код · ID 3727

shi channel_6127196951449441455.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, который анализирует ценовые экстремумы на графике и строит канал на основе найденных точек разворота. На графике отображаются три трендовые линии, обозначающие границы канала и его среднюю линию, а также информационный комментарий с размером канала и его наклоном.

Индикатор использует два настраиваемых параметра для управления диапазоном расчёта. При нулевом значении второго параметра окно поиска экстремумов автоматически выбирается в зависимости от текущего таймфрейма графика. Результаты расчёта отображаются в виде графических объектов на графике цены и текстового комментария.

Продукт не содержит торговой логики и не отправляет рыночные заявки. Все вычисления выполняются в рамках индикаторного буфера и графических объектов платформы MetaTrader 4.

Настройки программы

НастройкаОписание
AllBars AllBars — Определяет количество баров, используемых для расчёта канала. Если значение равно 0 или меньше общего количества баров на графике, используется текущее количество баров.
BarsForFract BarsForFract — Задаёт глубину поиска экстремумов в барах. Если значение равно 0, глубина определяется автоматически в зависимости от таймфрейма графика.
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
double ExtMapBuffer1[];

extern int       AllBars=80;
extern int       BarsForFract=0;
int CurrentBar=0;
double Step=0;
int B1=-1,B2=-1;
int UpDown=0;
double P1=0,P2=0,PP=0;
int i=0,AB=300,BFF=0;
int ishift=0;
double iprice=0;
datetime T1,T2;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {

   return(0);
  }

void DelObj()
{
	ObjectDelete("TL1");
	ObjectDelete("TL2");
	ObjectDelete("MIDL");
}

int start()
  {
      // код доступен только после оплаты
   }
   int    counted_bars=IndicatorCounted();

	if ((AllBars==0) || (Bars<AllBars)) AB=Bars; else AB=AllBars; //AB-?????????? ????????????? ?????
	if (BarsForFract>0) 
		BFF=BarsForFract; 
	else
	{
		switch (Period())
		{
			case 1: BFF=12; break;
			case 5: BFF=48; break;
			case 15: BFF=24; break;
			case 30: BFF=24; break;
			case 60: BFF=12; break;
			case 240: BFF=15; break;
			case 1440: BFF=10; break;
			case 10080: BFF=6; break;
			default: DelObj(); return(-1); break;
		}
	}
	CurrentBar=2; //??????? ? ???????? ????, ????? ??????? "??????????
	B1=-1; B2=-1; UpDown=0;
	while(((B1==-1) || (B2==-1)) && (CurrentBar<AB))
	{

		if((UpDown<1) && (CurrentBar==Lowest(Symbol(),Period(),MODE_LOW,BFF*2+1,CurrentBar-BFF))) 
		{
			if(UpDown==0) { UpDown=-1; B1=CurrentBar; P1=Low[B1]; }
			else { B2=CurrentBar; P2=Low[B2];}
		}
		if((UpDown>-1) && (CurrentBar==Highest(Symbol(),Period(),MODE_HIGH,BFF*2+1,CurrentBar-BFF))) 
		{
			if(UpDown==0) { UpDown=1; B1=CurrentBar; P1=High[B1]; }
			else { B2=CurrentBar

Показано первые 50% кода (символов: 2804)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
280,40₽ ≈ $3.43