TMA MACD v6 HAL TT
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tma centered macd v6 hal mtf tt.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает центрированный MACD на основе треугольных скользящих средних (TMA). Основная линия представляет собой разницу между быстрой и медленной TMA, нормализованную в пунктах. Дополнительно отображается сигнальная скользящая средняя, трендовые линии направления и уровни HotLevel.
Поддерживается многотаймфреймный анализ с возможностью автоматического переключения на старший таймфрейм. Индикатор предоставляет визуальные сигналы в виде стрелок, а также систему уведомлений: звуковые, почтовые, мобильные и всплывающие сообщения при достижении заданных условий.
Режим отображения позволяет выбрать линию, гистограмму или ленту. Настраиваются параметры длины быстрой и медленной TMA, период сигнальной линии, метод усреднения, ценовой тип и цветовая индикация трендов.
Настройки программы
| Настройка | Описание |
|---|---|
| History | Глубина истории — Количество баров истории, используемых для расчёта индикатора. |
| TimeFrame | Таймфрейм — Таймфрейм, на котором рассчитывается индикатор. По умолчанию текущий таймфрейм графика. |
| OFF; // (TimeFrameAuto) | Автоматический таймфрейм — Автоматический выбор старшего таймфрейма: выключено или переключение на 1, 2 или 3 таймфрейма выше текущего. |
| 24; //50; (FastHalfLength) | Длина быстрой TMA — Половина длины быстрой треугольной скользящей средней, используемой для расчёта основной линии MACD. |
| 96; //100; (SlowHalfLength) | Длина медленной TMA — Половина длины медленной треугольной скользящей средней, используемой для расчёта основной линии MACD. |
| Price | Тип цены — Тип цены, используемый для расчёта индикатора (Close, Open, High, Low и др.). |
| TAPE; (Display) | Режим отображения — Режим отображения индикатора: линия, гистограмма или лента. |
| SigMA | Период сигнальной MA — Период сигнальной скользящей средней, рассчитываемой на основе основной линии. |
| SigMAMode | Метод сигнальной MA — Метод усреднения для расчёта сигнальной скользящей средней (SMA, LWMA и др.). |
| 0.075; (HotLevel) | Уровень HotLevel — Пороговое значение уровня для генерации сигналов о пересечении верхней и нижней границы. |
| C'0,75,0'; (LevelColor) | Цвет уровней — Цвет линий уровней HotLevel и сигнальной линии на графике. |
| ShowArrows | Отображение стрелок — Режим отображения стрелок: скрыть, внутри, в центре или снаружи свечи. |
| ARROWBAR | Бар для стрелок — Смещение бара для проверки условий пересечения сигнальной линии и уровней при отрисовке стрелок. |
| /"TMA Index True x15 TT——>"; (ArrowsIdentifier) | Идентификатор стрелок — Текстовый идентификатор для именования объектов стрелок на графике, предотвращающий конфликты между разными экземплярами. |
| Дистанция от High/Low свечи (4-значные пипсы) (ArrGap) | Дистанция от High/Low свечи (4-значные пипсы) — Дистанция от High/Low свечи для размещения стрелок (в 4-значных пипсах). |
| AlertsHotLevel | Уведомления при пересечении уровня — Включает или отключает уведомления при пересечении ценой уровня HotLevel. |
| AlertsTMAColor | Уведомления при изменении цвета TMA — Включает или отключает уведомления при изменении цвета тренда (разворот основной линии). |
| AlertsSigCross | Уведомления при пересечении сигнала — Включает или отключает уведомления при пересечении основной линии сигнальной скользящей средней. |
| На каком баре сигналить.... (SIGNALBAR) | На каком баре сигналить.... — Номер бара, на котором проверяются и инициируются уведомления о сигналах. |
| "news.wav"; // //"stops.wav" //"alert2.wav" // (SoundFile) | Звуковой файл — Путь к звуковому файлу, воспроизводимому при срабатывании уведомлений. |
Поиск по коду файла
#property description "mladen --> m******x*@gmail.com **** Tankk --> t*******e*@mail.ru"
#property description "*****************************************************************************************************"
#property description "Алгоритм расчёта от mladen'а не тронут. Выбор основных настроек в главном окне."
#property description "Индикатор злостно перерисовывается!!!"
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 clrDarkSlateBlue //clrDimGray // //Gray
#property indicator_color2 clrMediumSeaGreen //clrLime
#property indicator_color3 clrOrangeRed //clrRed
#property indicator_color4 clrDodgerBlue
#property indicator_width1 0
#property indicator_width2 2 //3
#property indicator_width3 2 //3
#property indicator_width4 2 //3
#property indicator_style1 STYLE_DOT
#property indicator_style2 STYLE_DASH
#property indicator_style3 STYLE_DASH
#property indicator_style4 STYLE_DOT
enum TFauto { OFF, /*switch OFF*/ TF1, /*+ 1 TimeFrame*/ TF2, /*+ 2 TimeFrame*/ TF3 /*+ 3 TimeFrame*/ };
enum LNtype { LINE, HISTO, TAPE };
enum showAR { HideArrows, aINSIDE, aCENTER, aOUTSIDE }; //enum showAR { aDoNotCALC, HideArrows, aOnCHART, aOnINDIK };
extern int History = 1888;
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;
extern TFauto TimeFrameAuto = TF1; //OFF; //
extern int FastHalfLength = 3; //24; //50;
extern int SlowHalfLength = 12; //96; //100;
extern ENUM_APPLIED_PRICE Price = PRICE_CLOSE;
extern LNtype Display = HISTO; //TAPE;
extern int SigMA = 15;
extern ENUM_MA_METHOD SigMAMode = MODE_LWMA;
extern double HotLevel = 100; //0.075;
extern color LevelColor = C'80,60,210'; //C'0,75,0';
/*extern*/ ENUM_LINE_STYLE LevelStyle = STYLE_DOT;
/*extern*/ int LevelSize = 0;
extern showAR ShowArrows = aOUTSIDE;
extern int ARROWBAR = 0;
extern string ArrowsIdentifier = ""; ///"TMA Index True x15 TT——>";
extern color ArrUP = clrAqua, //White, //clrLime, //LightCyan, //Lavender, //FireBrick, //Red,
ArrDN = clrGold; //Red; //Magenta; //DarkGreen; //Lime
extern int ArrGap = 3; //Дистанция от High/Low свечи (4-значные пипсы)
extern int CodUP = 233, //225
CodDN = 234, //226
ArrSize = 1;
extern bool AlertsHotLevel = true;
extern bool AlertsTMAColor = true;
extern bool AlertsSigCross = true;
extern int SIGNALBAR = 1; //На каком баре сигналить....
extern bool AlertsMessage = true, //false,
AlertsSound = true, //false,
AlertsEmail = false,
AlertsMobile = false;
extern string SoundFile = "expert.wav"; //"news.wav"; // //"stops.wav" //"alert2.wav" //
double ZERO[], /*LEVUP[], LEVDN[],*/ Uptrend[], Dntrend[], SIGMA[]; double temp0, temp1;
double MAINBUFF[], pricesArray[], trend[]; //, FAST[], SLOW[];
string IndikName; datetime TimeBar=0; int MTF; string PREF, sufix;
int init()
{
// код доступен только после оплаты
}
int deinit() { ALL_OBJ_DELETE(); Comment(""); return (0); }
void ALL_OBJ_DELETE()
{
string name;
for (int s=ObjectsTotal()-1; s>=0; s--) {
name=ObjectName(s);
if (StringSubstr(name,0,StringLen(PREF))==PREF) ObjectDelete(name); }
}
int start()
{
// код доступен только после оплаты
}
int i, y, limit;
int CountedBars=IndicatorCounted();
if (CountedBars<0) return(-1);
if (CountedBars>0) CountedBars--;
limit=History;
if (History<=SlowHalfLength) {
limit=MathMin(Bars-CountedBars,Bars-1);
limit=MathMax(limit,FastHalfLength);
limit=MathMax(limit,SlowHalfLength);
limit=MathMax(limit,SigMA); }
for (i=limit+FastHalfLength+SlowHalfLength+SigMA; i>=0; i--) pricesArray[i] = iMA(NULL,MTF,1,0,MODE_SMA,Price,i);
for (i=limit+FastHalfLength+SlowHalfLength; i>=0; i--)
{
y = iBarShift(NULL,MTF,Time[i],false);
MAINBUFF[i] = (calculateTma(pricesArray,FastHalfLength,y) - calculateTma(pricesArray,SlowHalfLength,y)) /_Point; ////FAST[i] - SLOW[i]; ///
ZERO[i] = 0; //LEVUP[i] = HotLevel; LEVDN[i] = -HotLevel;
trend[i]=0; Uptrend[i]=EMPTY_VALUE; Dntrend[i]=EMPTY_VALUE;
temp0 = (Display!=2) ? EMPTY_VALUE : 0;
temp1 = (Display!=2) ? MAINBUFF[i] : 100;
trend[i] = trend[i+1]; //Uptrend[i]=0; Dntrend[i]=0; ////Uptrend[i+1]=0; Dntrend[i+1]=0;
if (MAINBUFF[i] > MAINBUFF[i+1]) trend[i] = 1;
if (MAINBUFF[i] < MAINBUFF[i+1]) trend[i] =-1;
if (trend[i]>0)
{
Uptrend[i] = temp1;
if (trend[i+1] < 0) Uptrend[i+1] = MAINBUFF[i+1];
Dntrend[i] = temp0;
}
else if (trend[i] < 0)
{
Dntrend[i] = temp1;
Показано первые 50% кода (символов: 11055)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.