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

SHI_Channel

shi channel.mq5
Вы автор или правообладатель?

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

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

О программе

SHI_Channel — пользовательский индикатор для MetaTrader 5, работающий в окне графика. Он анализирует исторические бары и строит на графике наклонный канал, отображая его границы и среднюю линию, а также отмечает стрелкой точки возможного касания границ канала. Индикатор использует данные High/Low и объекты графика для визуализации.

Входные параметры AllBars и BarsForFract управляют количеством анализируемых баров и глубиной поиска экстремумов. При значении AllBars=0 или недостатке баров используется текущее количество баров; параметр BarsForFract задаёт число баров для поиска фракталов, а при нулевом значении выбирается автоматически в зависимости от таймфрейма.

Индикатор не содержит торговых функций и не выполняет сделок — только расчёт и отображение. Все действия ограничены построением графических объектов и выводом комментария с параметрами канала.

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

НастройкаОписание
AllBars Все бары — Количество баров, используемых для расчёта канала. При значении 0 или если баров меньше указанного числа, используется общее количество баров на графике.
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; P2=Hig

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

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

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

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

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

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

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