tick's_profile_market.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tick's_profile_market.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор предназначен для платформы MetaTrader 5 и отображает профиль рынка на графике цены. Он анализирует динамику закрытия цен по барам, отслеживая восходящие и нисходящие изменения, и визуализирует их в виде трендовых линий и текстовых объектов на графике.
Индикатор создаёт красные трендовые линии при росте цены и синие — при снижении, с временным интервалом, определяемым параметром coaf. Также отображаются горизонтальные уровни и текстовые метки с информацией о суммарном количестве импульсов и их соотношении.
При деинициализации индикатор может удалить все созданные графические объекты, если включён соответствующий переключатель. Параметр LimitBar задаёт границу сброса счётчиков по количеству баров.
Настройки программы
| Настройка | Описание |
|---|---|
| coaf | Числовой коэффициент, определяющий временной интервал продления трендовых линий (60/coaf * период графика) |
| res | Пороговое значение разницы уровней для отображения текстовой метки |
| LimitBar | Максимальное количество баров, после которого сбрасываются счётчики и маркер сессии |
| WIDTH | Толщина линий трендовых объектов на графике |
| cegl | Размер шрифта текстовых объектов на графике |
| Shrift | Название шрифта, используемого для текстовых меток на графике |
| delete | Переключатель удаления всех созданных графических объектов при деинициализации индикатора |
Поиск по коду файла
#property indicator_chart_window
extern int coaf = 2;
extern int res = 45;
extern int LimitBar = 120;
extern int WIDTH = 3;
extern int cegl = 6;
extern string Shrift = "Arial Black";
extern bool delete = true;
datetime ctat_SB =0;
double old_price;
datetime max_SB=0,min_SB=0;
double max_price=0;
double count_plus=0,count_minus=0;
datetime time_21=0,time_22=0;
int max_ti=0, min_ti=0;
int init() {
// код доступен только после оплаты
}
int deinit() {
if (delete == true) {
GetDellName4();
}
ObjectsDeleteAll(0, OBJ_HLINE);
ObjectsDeleteAll(0, OBJ_TREND);
return(0);
}
int start() {
// код доступен только после оплаты
}
double price;string name_1,name_2,name_3,name_44;
int i=0;
int limit;
double delta;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(ctat_SB==0) ctat_SB=Time[0];
if(limit>0) limit=0;
for(i=limit; i>=0; i--) {
if(old_price==0) old_price=Close[i];
if(iBarShift(NULL,0,ctat_SB)-iBarShift(NULL,0,Time[i])>=LimitBar) {
ctat_SB=Time[i];
max_SB=ctat_SB;
min_SB=ctat_SB;
max_price=0;
count_plus=0;
count_minus=0;
max_ti=0;
min_ti=0;
}
price = Close[i];
if(price > max_price) max_price=price;
delta = price - old_price;
if(delta>=0) {
count_plus++;
name_1 = "TPM_ "+DoubleToStr(price,Digits)+TimeToStr(ctat_SB);
if (ObjectFind(name_1)<0) {
time_21 = ctat_SB+(60/coaf)*Period();
TrendLineGraff(name_1,ctat_SB,price,time_21,price,Red,0);
} else {
time_21 = ObjectGet(name_1,OBJPROP_TIME2)+(60/coaf)*Period();
TrendLineGraff(name_1,ctat_SB,price,time_21,price,Red,0);
}
if(time_21>max_SB) {
max_SB=time_21;
TrendLineGraff("TPM_11 "+TimeToStr(ctat_SB),ctat_SB,price,max_SB,price,Tomato,3);
if (count_plus > count_minus) {
ObjectDelete("TPM_222 "+" "+TimeToStr(ctat_SB));
ObjectDelete("TPM_111 "+" "+TimeToStr(ctat_SB));
LineGraff("TPM_111 "+" "+TimeToStr(ctat_SB),max_SB,price,Tomato);
}
max_ti=(max_SB-ctat_SB)/60;
}}
if(delta<0) {
count_minus++;
name_2 = "TPM_ 2 "+DoubleToStr(price,Digits)+TimeToStr(ctat_SB);
if (ObjectFind(name_2)<0) {
time_22 = ctat_SB-(60/coaf)*Period();
TrendLineGraff(name_2,ctat_SB,price,time_22,price,Blue,0);
} else {
time_22 = ObjectGet(name_2,OBJPROP_TIME2)-(60/coaf)*Period();
TrendLineGraff(name_2,ctat_SB,price,time_22,price,Blue,0);
}
if(min_SB==0)min_SB=Показано первые 50% кода (символов: 4206)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.