4 time frame stochastic 2.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «4 time frame stochastic 2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «4 Time Frame Stochastic» рассчитывает стохастический осциллятор по четырём временным интервалам одновременно и отображает результат в отдельном окне графика. Для каждого интервала определяется, находится ли основная линия стохастика выше сигнальной линии или ниже, и на графике соответствующие стрелки указывают направление. Это позволяет визуально оценить согласованность тренда на разных таймфреймах.
Индикатор поддерживает систему уведомлений: при достижении заданного количества совпадающих сигналов по направлению (вверх или вниз) на определённом уровне срабатывает alert, отправляется email или воспроизводится звук. Параметры стохастика (K, D, замедление, метод усреднения) настраиваются независимо от таймфреймов.
Встроенная функция returnBars позволяет использовать индикатор для расчёта количества баров, что удобно при построении пользовательских сценариев. Четыре временных интервала задаются текстовыми параметрами, включая возможность указания NEXT1, NEXT2, NEXT3 для автоматического выбора следующего таймфрейма.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame1 | Первый временной интервал для расчёта стохастика. Поддерживаются стандартные названия (M1, M5, H1, D1 и т.д.) и ключевые слова NEXT1, NEXT2, NEXT3 для привязки к текущему таймфрейму. |
| TimeFrame2 | Второй временной интервал для расчёта стохастика. Поддерживаются стандартные названия и ключевые слова NEXT1, NEXT2, NEXT3. |
| TimeFrame3 | Третий временной интервал для расчёта стохастика. Поддерживаются стандартные названия и ключевые слова NEXT1, NEXT2, NEXT3. |
| TimeFrame4 | Четвёртый временной интервал для расчёта стохастика. Поддерживаются стандартные названия и ключевые слова NEXT1, NEXT2, NEXT3. |
| StochasticK | Период основного стохастического осциллятора — количество баров для расчёта. |
| StochasticD | Период сигнальной линии стохастического осциллятора. |
| StochasticSlowing | Замедление расчёта стохастика — дополнительный период сглаживания. |
| StochasticPrice | Тип цены, используемой при расчёте стохастика (0 — Close, 1 — Open, 2 — High, 3 — Low и другие варианты). |
| SignalLineMaMethod | Метод усреднения, используемый для расчёта сигнальной линии стохастика (MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA). |
| UniqueID | Уникальный идентификатор объекта, используемый для именования графических элементов индикатора на графике. |
| LinesWidth | Толщина линий стрелок индикатора. Значение 0 означает стандартную толщину. |
| LabelsColor | Цвет текстовых меток, отображающих названия временных интервалов в окне индикатора. |
| LabelsHorizontalShift | Горизонтальный сдвиг текстовых меток относительно текущей свечи в барах. |
| LabelsVerticalShift | Вертикальное смещение текстовых меток в ценовых единицах окна индикатора. |
| alertsOn | Главный переключатель включения или отключения всей системы уведомлений индикатора. |
| alertsLevel | Минимальное количество временных интервалов, на которых направление стохастика должно совпадать (вверх или вниз), для срабатывания уведомления. Допустимые значения 3 или 4. |
| alertsMessage | Переключатель отправки popup-уведомлений (alert) при срабатывании условий алерта. |
| alertsSound | Переключатель воспроизведения звукового сигнала при срабатывании условий алерта. |
| alertsEmail | Переключатель отправки email-уведомлений при срабатывании условий алерта. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 LimeGreen
#property indicator_color2 PaleVioletRed
#property indicator_color3 LimeGreen
#property indicator_color4 PaleVioletRed
#property indicator_color5 LimeGreen
#property indicator_color6 PaleVioletRed
#property indicator_color7 LimeGreen
#property indicator_color8 PaleVioletRed
#property indicator_minimum 0
#property indicator_maximum 5
extern string TimeFrame1 = "Current time frame";
extern string TimeFrame2 = "next1";
extern string TimeFrame3 = "next2";
extern string TimeFrame4 = "next3";
extern int StochasticK = 14;
extern int StochasticD = 3;
extern int StochasticSlowing = 3;
extern int StochasticPrice = 0;
extern int SignalLineMaMethod = MODE_SMA;
extern string UniqueID = "4 Time Stochastic 1";
extern int LinesWidth = 0;
extern color LabelsColor = DarkGray;
extern int LabelsHorizontalShift = 5;
extern double LabelsVerticalShift = 1.5;
extern bool alertsOn = false;
extern int alertsLevel = 3;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
double sto1u[];
double sto1d[];
double sto2u[];
double sto2d[];
double sto3u[];
double sto3d[];
double sto4u[];
double sto4d[];
int timeFrames[4];
bool returnBars;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
for (int t=0; t<4; t++) ObjectDelete(UniqueID+t);
return(0);
}
double trend[][2];
#define _up 0
#define _dn 1
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) { sto1u[0] = limit+1; return(0); }
if (timeFrames[0] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[0],indicatorFileName,"returnBars",0,0)*timeFrames[0]/Period()));
if (timeFrames[1] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[1],indicatorFileName,"returnBars",0,0)*timeFrames[1]/Period()));
if (timeFrames[2] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[2],indicatorFileName,"returnBars",0,0)*timeFrames[2]/Period()));
if (timeFrames[3] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[3],indicatorFileName,"returnBars",0,0)*timeFrames[3]/Period()));
if (ArrayRange(trend,0)!=Bars) ArrayResize(trend,Bars);
bool initialized = false;
if (!initialized)
{
initialized = true;
int window = WindowFind(UniqueID);
for (int t=0; t<4; t++)
{
string label = timeFrameToString(timeFrames[t]);
ObjectCreate(UniqueID+t,OBJ_TEXT,window,0,0);
ObjectSet(UniqueID+t,OBJPROP_COLOR,LabelsColor);
ObjПоказано первые 50% кода (символов: 5812)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.