fxpt_dbltopbottom.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fxpt_dbltopbottom.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот продукт представляет собой пользовательский индикатор для MetaTrader 5, предназначенный для графического отображения на ценовом графике горизонтальных линий, соответствующих локальным максимумам и минимумам за выбранное число последних баров. Индикатор работает в окне графика и не создает отдельного подокна.
При каждом появлении нового бара индикатор анализирует заданное количество последних баров, определяет среди них уровни локальных максимумов и минимумов и строит по ним горизонтальные линии. Линии для верхних уровней и для нижних уровней отображаются разными цветами, а их толщина и стиль настраиваются пользователем.
Дополнительно можно задать минимальное расстояние между соседними барами, формирующими уровень: если расстояние меньше заданного значения, соответствующая линия не отображается. Это позволяет отфильтровывать слишком близко расположенные экстремумы.
Индикатор не выполняет торговых операций и не формирует торговых сигналов; он служит исключительно для визуального анализа графика.
Настройки программы
| Настройка | Описание |
|---|---|
| NumberOfBars | Количество последних баров, анализируемых для поиска локальных максимумов и минимумов. Значение ограничивается сверху числом 100. |
| BarsMinSeparation | Минимальное расстояние в барах между соседними барами, образующими уровень. Если расстояние меньше этого значения, соответствующая линия не отображается. Значение 0 показывает даже соседние бары. |
| TopBarColor | Цвет горизонтальных линий, построенных по локальным максимумам. |
| BottomBarColor | Цвет горизонтальных линий, построенных по локальным минимумам. |
| LineWidth | Толщина горизонтальных линий. |
| LineStyle | Стиль отображения горизонтальных линий. |
Поиск по коду файла
#property indicator_chart_window
extern int NumberOfBars = 100;
extern int BarsMinSeparation = 0;
extern color TopBarColor = Red;
extern color BottomBarColor = LimeGreen;
extern int LineWidth = 2;
extern int LineStyle = 2;
datetime thisbartime=0;
double Poin;
int deinit() {
DeleteObjects();
return(0);
}
int init() {
// код доступен только после оплаты
}
int DeleteObjects(){
for (int shift=100; shift>0; shift--) {
ObjectDelete("DailyRLine1_"+shift);
ObjectDelete("DailyTrend1_"+shift);
ObjectDelete("DailyTrend2_"+shift);
}
return(0);
}
int start(){
// код доступен только после оплаты
}
double val1,val2;
color LineClr;
int x;
int cnt1=0,cnt2=0;
int thissz=0;
double LinePos1,LinePos2,LinePos3;
int ele_indx1=0;
int ele_indx2=0;
double this_ele1,this_ele2;
int Time1,Time2,DistanceTop,DistanceBot;
string sObjName,text;
int Color1,Color2;
if(thisbartime!=Time[0]){
thisbartime=Time[0];
double myarray1[100];
double myarray2[100];
double myarray3[100];
double myarray4[100];
if(NumberOfBars>100){
NumberOfBars=100;
}
for (int i=0; i<NumberOfBars; i++) {
val1 = High[i];
val2 = Low[i];
if(val1 > 0){
cnt1++;
myarray1[cnt1] = val1;
myarray2[cnt1] = val1;
myarray3[cnt1] = val2;
myarray4[cnt1] = val2;
}
}//for
thissz = ArrayResize(myarray1,NumberOfBars);
ArraySort(myarray1,WHOLE_ARRAY,1,MODE_ASCEND);
LinePos1 = (myarray1[cnt1-1]);
LinePos2 = (myarray1[cnt1-4]);
for ( x=1; x<thissz; x++) {
this_ele1 = myarray2[x+1];
this_ele2 = myarray2[x+1];
if(this_ele1==LinePos1){
ele_indx1=x;
}
if(this_ele2==LinePos2){
ele_indx2=x;
}
}
if(ele_indx2 > ele_indx1){
DistanceTop=MathAbs(ele_indxПоказано первые 50% кода (символов: 2945)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.