lukas1 arrows & curves
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «lukas1 arrows & curves mtf nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «lukas1 arrows & curves» — многофреймовый аналитический инструмент для MetaTrader 5, отображающий на графике стрелки сигналов и линии динамического канала. Он анализирует ценовые экстремумы за заданный период и отмечает потенциальные точки разворота, а также строит граничные линии канала в верхней и нижней части графика. Поддержка мультифреймовости позволяет отображать данные с более старших таймфреймов на текущем графике. Индикатор оснащается гибкой системой уведомлений с возможностью оповещений через сообщения, звуковые сигналы и электронную почту.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Временной интервал, на данных которого производится расчёт и отображение индикатора. |
| ?????? ????????? ????????? ?????????? (SSP) | Период анализа экстремумов — Период анализа, определяющий количество баров, используемых для поиска локальных экстремумов цены. |
| ???????????????? ? ?????? ?????? (SkyCh) | Процент канала — Процентный параметр, задающий соотношение границ канала к диапазону цены за период анализа. |
| alertsOn | Включить уведомления — Общий переключатель, включающий или отключающий всю систему уведомлений индикатора. |
| alertsOnCurrent | Уведомление о текущем баре — Определяет, на каком баре проверять наличие сигнала: на текущем или на предыдущем. |
| alertsMessage | Текстовые уведомления — Включает или отключает отображение текстовых уведомлений в окне терминала при срабатывании сигнала. |
| alertsSound | Звуковые уведомления — Включает или отключает воспроизведение звукового сигнала при срабатывании события. |
| alertsEmail | Уведомления по электронной почте — Включает или отключает отправку уведомлений по электронной почте при срабатывании сигнала. |
| Interpolate | Интерполяция — Включает или отключает интерполяцию линий канала между барами для более гладкого отображения на графике. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Green
#property indicator_color4 Green
extern string TimeFrame = "Current time frame";
extern int SSP = 6; //?????? ????????? ????????? ??????????
extern int SkyCh = 13; //???????????????? ? ?????? ??????
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern bool Interpolate = true;
double val1[]; // ????? ??? ???
double val2[]; // ????? ??? ????
double Sky_BufferH[];
double Sky_BufferL[];
int timeFrame;
bool returnBars;
bool calculateValue;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
double work[][1];
#define _uptrend 0
int start()
{
// код доступен только после оплаты
}
int i,r,counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
int limit=MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { val1[0] = limit; return(0); }
if (calculateValue || timeFrame == Period())
{
GlobalVariableSet("goSELL", 0); // ?????? ????????????? ? ???????? goSELL=0
GlobalVariableSet("goBUY", 0); // ?????? ????????????? ? ???????? goBUY =0
if (ArrayRange(work,0)!=Bars) ArrayResize(work,Bars);
for(i=limit, r=Bars-i-1; i>=0; i--,r++)
{
double high = High[ArrayMaximum(High,SSP,i)];
double low = Low[ ArrayMinimum(Low ,SSP,i)];
double smax = high - (high - low)*SkyCh / 100;
double smin = low + (high - low)*SkyCh / 100;
val1[i] = EMPTY_VALUE;
val2[i] = EMPTY_VALUE;
work[r][_uptrend] = work[r-1][_uptrend];
if(Close[i] < smin && i!=0 ) work[r][_uptrend] = false;
if(Close[i] > smax && i!=0 ) work[r][_uptrend] = true;
if(work[r][_uptrend] != work[r-1][_uptrend] && work[r][_uptrend] == false)
{
val2[i] = high; if(i == 0) GlobalVariableSet("goBUY",1);
}
if(work[r][_uptrend] != work[r-1][_uptrend] && work[r][_uptrend] == true)
{
val1[i] = low; if(i == 0) GlobalVariableSet("goSELL",1);
}
Sky_BufferH[i]=high - (high - low)*SkyCh / 100;
Sky_BufferL[i]=low + (high - low)*SkyCh / 100;
}
manageAlerts();
return(0);
}
limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for (i=limit; i>=0; i--)
{
Показано первые 50% кода (символов: 5031)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.