TMA MACD v6 HAL TT
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tma centered macd v6 hal mtf tt_5312098985727527224.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает разницу между двумя треугольными скользящими средними (TMA) с настраиваемыми полу-длинами и отображает результат в отдельном окне MetaTrader 4. Основное значение дополняется сигнальной линией, построенной как скользящая средняя от главного буфера, а также визуализацией направления тренда.
Поддерживается многотаймфреймовый режим с возможностью автоматического переключения на более высокие таймфреймы. Доступны несколько режимов отображения: линия, гистограмма и лента. Уровни HotLevel отрисовываются в отдельном цветовом стиле.
Индикатор оснащён системой уведомлений, реагирующей на пересечения сигнальной линии, смену цвета тренда и достижение уровней. На графике отрисовываются стрелки с текстовыми метками BUY/SELL, позиция и внешний вид которых настраиваются. Звуковые, email и мобильные оповещения активируются отдельными переключателями.
Настройки программы
| Настройка | Описание |
|---|---|
| History | Глубина истории — Количество баров, используемых для расчёта индикатора. |
| TimeFrame | Таймфрейм — Таймфрейм, на котором производится расчёт индикатора. |
| OFF; // (TimeFrameAuto) | Авто выбор таймфрейма — Режим автоматического выбора более высокого таймфрейма (OFF — текущий, TF1–TF3 — на 1–3 таймфрейма выше). |
| 24; //50; (FastHalfLength) | Быстрая полу-длина TMA — Полу-длина быстрой треугольной скользящей средней, используемой в расчёте. |
| 96; //100; (SlowHalfLength) | Медленная полу-длина TMA — Полу-длина медленной треугольной скользящей средней, используемой в расчёте. |
| Price | Тип цены — Тип цены, используемой при расчёте индикатора. |
| TAPE; (Display) | Режим отображения — Режим визуализации: линия, гистограмма или лента. |
| SigMA | Период сигнальной MA — Период сигнальной скользящей средней, рассчитываемой от основного буфера. |
| SigMAMode | Метод сигнальной MA — Метод расчёта сигнальной скользящей средней. |
| 0.075; (HotLevel) | Уровень HotLevel — Значение горизонтального уровня, при пересечении которого генерируются оповещения и стрелки. |
| C'0,75,0'; (LevelColor) | Цвет уровня — Цвет линии уровня HotLevel. |
| ShowArrows | Отображение стрелок — Режим отображения стрелок: скрыты, внутри, в центре или снаружи свечей. |
| ARROWBAR | BAR стрелки — Смещение бара, используемое при определении точек пересечения для отрисовки стрелок и сигналов. |
| /"TMA Index True x15 TT——>"; (ArrowsIdentifier) | Идентификатор стрелок — Префикс для имён объектов-стрелок на графике; если пусто, используется автоматическое имя. |
| Дистанция от High/Low свечи (4-значные пипсы) (ArrGap) | Дистанция от High/Low свечи (4-значные пипсы) — Дистанция стрелок от High/Low свечи в пунктах (с коррекцией для 3- и 5-значных пар). |
| 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 и перейдите к оплате.