tma+cg mladen nrp teamtrader2 buy sell.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tma+cg mladen nrp teamtrader2 buy sell.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает треугольное скользящее среднее (TMA) и отображает на графике канал отклонений вокруг него. На основании соотношения цены с границами канала и характера свечных паттернов расставляются стрелки вверх и вниз, сигнализирующие о возможных разворотах.
Индикатор поддерживает работу на различных таймфреймах с возможностью интерполяции данных между барами. Встроена система уведомлений, позволяющая отправлять сообщения, воспроизводить звуковые сигналы или отправлять электронные письма при появлении стрелочных сигналов.
Расчёт TMA выполняется через взвешенное скользящее среднее с последующим вычислением накопленных отклонений для определения верхней и нижней границ канала. Параметры индикатора настраиваются через диалоговое окно свойств.
Индикатор не перерисовывает исторические данные и может работать в режиме расчёта TMA или возврата количества баров для межтаймфреймных расчётов.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора. Может принимать названия таймфреймов или специальные значения для расчётного режима. |
| HalfLength | Половина периода TMA — Половина длины периода расчёта треугольного скользящего среднего. Минимальное значение равно 1. |
| Price | Тип цены — Тип цены, используемый для расчётов индикатора (взвешенная, закрытие, открытие и т.д.). |
| BandsDeviations | Отклонение канала — Множитель отклонений для расчёта верхней и нижней границ канала TMA. Увеличение значения расширяет канал, уменьшение — сужает его. |
| Interpolate | Интерполяция — Включает или отключает интерполяцию значений индикатора между барами при работе на старшем таймфрейме. |
| SetArrows | Настройки стрелок — Строковый параметр, передаваемый при вызове расчётного режима индикатора для задания настроек стрелок. |
| CodeUp | Код стрелки вверх — Код символа стрелки, отображаемой при бычьем сигнале на графике. |
| CodeDn | Код стрелки вниз — Код символа стрелки, отображаемой при медвежьем сигнале на графике. |
| Size | Размер стрелок — Размер отображаемых стрелок на графике. |
| Gap | Отступ стрелок — Делитель для значения ATR при определении уровня размещения стрелок на графике. Влияет на отступ стрелок от цены. |
| alertsOn | Уведомления включены — Главный переключатель, включающий или отключающий всю систему уведомлений индикатора. |
| alertsOnCurrent_candle | Уведомления по текущей свече — При включении уведомления отправляются по текущей незавершённой свече, при выключении — по завершённой. |
| alertsMessage | Текстовые уведомления — Включает или отключает отображение текстовых уведомлений в окне терминала. |
| alertsSound | Звуковые уведомления — Включает или отключает воспроизведение звукового сигнала при срабатывании условий. |
| alertsEmail | Уведомления по email — Включает или отключает отправку уведомлений по электронной почте при срабатывании условий. |
| alert_way | Направление уведомлений — Режим отправки уведомлений: при восходящих сигналах, нисходящих или при обоих одновременно. |
Поиск по коду файла
#property description "edited2 by eevviill"
#property description "no repaint,alert"
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 clrNONE
#property indicator_color2 clrNONE
#property indicator_color3 clrNONE
#property indicator_color4 Blue
#property indicator_color5 Red
#property indicator_style1 STYLE_DOT
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 2
#property indicator_width5 2
enum alert_way_e
{
up,down,bouth
};
extern string TimeFrame = "current time frame";
extern int HalfLength = 21;
extern ENUM_APPLIED_PRICE Price = PRICE_WEIGHTED;
extern double BandsDeviations = 2.1;
extern bool Interpolate = true;
extern string SetArrows = "Set_arrows";
extern int CodeUp = 119;
extern int CodeDn = 119;
extern int Size = 6;
extern double Gap = 1.5;
extern string emp1 = "///////Alerts settings/////////";
extern bool alertsOn = true;
extern bool alertsOnCurrent_candle = false;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern alert_way_e alert_way = bouth;
double tmBuffer[];
double upBuffer[];
double dnBuffer[];
double wuBuffer[];
double wdBuffer[];
double upArrow[];
double dnArrow[];
string IndicatorFileName;
bool calculatingTma = false;
bool returningBars = false;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=MathMin(Bars-1,Bars-counted_bars+HalfLength);
if (returningBars) { tmBuffer[0] = limit; return(0); }
if (calculatingTma) { calculateTma(limit); return(0); }
if (timeFrame > Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,IndicatorFileName,"returnBars",0,0)*timeFrame/Period()));
if(limit<Bars-20) limit=1;
for(i = limit; i >= 0; i--)
{
int shift1 = iBarShift(NULL,timeFrame,Time[i]);
datetime time1 = iTime (NULL,timeFrame,shift1);
tmBuffer[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,Price,BandsDeviations,0,shift1);
upBuffer[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,Price,BandsDeviations,1,shift1);
dnBuffer[i] = iCustom(NULL,timeFrame,IndicatorFileName,"calculateTma",HalfLength,Price,BandsDeviations,2,shift1);
upArrow[i] = EMPTY_VALUE;
dnArrow[i] = EMPTY_VALUE;
if (High[i+1]>upBuffer[i+1] && Close[i+1]>Open[i+1] && Close[i]<Open[i]) upArrow[i] = High[i]+iATR(NULL,0,20,i)/Gap/2;
if ( Low[i+1]<dnBuffer[i+1] && Close[i+1]<Open[i+1] && Close[i]>Open[i]) dnArrow[i] = Low[i]-iATR(NULL,0,20,i)/Gap/2;
if (timeFrame <= Period() || shift1==iBarShift(NULL,timeFrame,Time[i-1])) continue;
if (!Interpolate) continue;
for(int n = 1; i+n < Bars && Time[i+n] >= time1; n++) continue;
double fПоказано первые 50% кода (символов: 5787)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.