TMA+CG 4C AA MTF TT
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «# tma+cg (mtf).mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 5, отображающий на графике сглаженную среднюю линию с расчётными границами отклонения и вспомогательными сигнальными элементами. Индикатор работает в окне графика и поддерживает выбор таймфрейма, отличного от текущего, а также режим интерполяции значений между барами выбранного таймфрейма.
Предусмотрены настройки отображения линий и границ, а также варианты визуальной подсветки и стрелок, формируемых по состоянию границ. Дополнительно реализованы уведомления о касании ценой верхней или нижней границы: всплывающее сообщение, электронная почта, мобильное уведомление и звуковой файл.
Индикатор не совершает торговых операций и не управляет позициями; он только рассчитывает и отображает данные, а также может подавать сигналы оповещения.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Задаёт таймфрейм, данные которого используются для расчёта индикатора. При значении текущего периода расчёт ведётся на текущем таймфрейме. |
| HalfLength | Задаёт половину длины периода сглаживания для расчёта средней линии и границ. Значение автоматически ограничивается снизу единицей. |
| Price | Определяет тип цены, применяемый при расчёте индикатора. |
| Deviations | Задаёт коэффициент отклонения, используемый при построении верхней и нижней границ относительно средней линии. |
| Interpolate | Включает режим интерполяции значений индикатора между барами выбранного таймфрейма при отображении на текущем графике. |
| ShowTMA | Выбирает, какие элементы отображать: только среднюю линию, только границы или и то и другое. |
| CalcArrows | Выбирает режим формирования стрелок: отключено, по тренду с учётом цен открытия, закрытия, максимума и минимума, либо по смене цвета границ. |
| AlertsOnHiLo | Определяет, по какому ценовому уровню отслеживать касание границ: по максимуму и минимуму бара или по цене закрытия. Влияет на формирование сигналов оповещения. |
| SIGNALBAR | Указывает номер бара, по которому проверяется условие для подачи сигнала оповещения. |
| SoundFile | Имя звукового файла, воспроизводимого при срабатывании звукового оповещения. |
Поиск по коду файла
#property description "Почта: t*******e*@mail.ru"
#property version "6.0"
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 clrSilver //Gray
#property indicator_color2 clrGray //Red
#property indicator_color3 clrLime //DarkBlue
#property indicator_color4 clrYellow //Red
#property indicator_color5 clrAqua //Blue
#property indicator_color6 clrRed //DarkOrange
#property indicator_color7 clrGray
#property indicator_width1 0
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 0
#property indicator_width5 0
#property indicator_width6 2
#property indicator_width7 2
#property indicator_style1 STYLE_DOT
#property indicator_style2 STYLE_DOT
#property indicator_style3 STYLE_DOT
#property indicator_style6 STYLE_DOT
#property indicator_style7 STYLE_DOT
enum showCHL { NoLINES, onlyTMA, onlyBANDS, allLINES };
enum calcARR { ArrowsOFF, TrendOCLH, ChangeCOLOR };
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Time frame to use
extern int HalfLength = 24; //56;
extern ENUM_APPLIED_PRICE Price = PRICE_WEIGHTED;
extern double Deviations = 1.618;
extern bool Interpolate = false;
extern showCHL ShowTMA = onlyBANDS;
extern calcARR CalcArrows = ChangeCOLOR;
extern bool AlertsOnHiLo = false;
extern int SIGNALBAR = 1; //На каком баре сигналить....
extern bool AlertsMessage = false, //false,
AlertsSound = false, //false,
AlertsEmail = false,
AlertsMobile = false;
extern string SoundFile = "alert2.wav"; //"news.wav"; //"expert.wav"; // //"stops.wav" // //
double tmBuffer[], upBuffer[], dnBuffer[];
double clrSEL[], clrBUY[];
double arrSEL[], arrBUY[];
double wuBuffer[], wdBuffer[], FLAG[];
string IndikName;
bool calculateTma = false; bool returnBars = false;
string messageUP, messageDN, sufix; datetime TimeBar=0;
int init()
{
// код доступен только после оплаты
}
int deinit() { Comment(""); return(0); }
int start()
{
// код доступен только после оплаты
}
int CountedBars=IndicatorCounted();
if (CountedBars<0) return(-1);
if (CountedBars>0) CountedBars--;
int i, y, x, limit = MathMin(Bars-1,Bars-CountedBars+HalfLength);
if (returnBars) { tmBuffer[0] = limit+1; return(0); }
if (calculateTma) { calculateTMA(limit); return(0); }
if (TimeFrame > _Period) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,IndikName,-99,0,0)*TimeFrame/_Period));
for (i=limit; i>=0; i--)
{
y = iBarShift(NULL,TimeFrame,Time[i]);
x = y; if (i<Bars-1) x = iBarShift(NULL,TimeFrame,Time[i+1]);
tmBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,0,y);
upBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,1,y);
dnBuffer[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,2,y);
FLAG[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,9,y);
if (!Interpolate) {
if (x!=y) {
arrSEL[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,3,y);
arrBUY[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,4,y); }
clrSEL[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,5,y);
clrBUY[i] = iCustom(NULL,TimeFrame,IndikName,PERIOD_CURRENT,HalfLength,Price,Deviations,6,y); }
if (TimeFrame!=_Period) { if (CalcArrows==1) setupARROWS(i); setupALERTS(FLAG); }
if (TimeFrame <= _Period || y==iBarShiftПоказано первые 50% кода (символов: 8620)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.