Fozzy T3
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «t3 fozzy (mtf + alerts + arrows).mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Fozzy T3 — это пользовательский индикатор для MetaTrader 5, рассчитывающий аналитические линии на основе осциллятора RSI, сглаженного методом T3, с наложением полос Боллинджера. Индикатор отображает пять линий в отдельном подокне графика: RSI, его сглаженную версию, а также верхнюю, среднюю и нижнюю линии полос.
Поддерживается мультитаймфреймовый режим: индикатор может получать данные старшего таймфрейма и отображать их на текущем графике с возможностью интерполяции между барами. При смене тренда на основе соотношения RSI и его сглаженной средней рисуются стрелки вверх и вниз, а также могут срабатывать уведомления различных типов.
Встроенная система оповещений поддерживает текстовые всплывающие сообщения, звуковые сигналы, электронную почту и push-уведомления. Стрелки настраиваются по цвету, размеру, типу символа и расстоянию от цены, что позволяет удобно визуализировать изменения направления движения.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором рассчитываются данные индикатора |
| RSIPeriod | Период расчёта осциллятора RSI |
| T3Period | Период сглаживания для алгоритма T3, применяемого к линии RSI |
| T3Hot | Параметр наклона (горячий коэффициент) для алгоритма сглаживания T3 |
| T3Original | При включении используется оригинальная формула расчёта альфа-параметра для T3 |
| BandsPeriod | Период усреднения для расчёта полос Боллинджера |
| BandsShift | Горизонтальный сдвиг полос Боллинджера в барах |
| BandsDeviations | Отклонение стандартного отклонения для расчёта верхней и нижней линий полос Боллинджера |
| alertsOn | Включает или отключает систему уведомлений целиком |
| alertsOnCurrent | Определяет, на каком баре проверять условие для уведомлений: на текущем или на предыдущем |
| alertsMessage | Включает отображение текстовых всплывающих сообщений при срабатывании событий |
| alertsSound | Включает воспроизведение звукового сигнала при срабатывании событий |
| alertsEmail | Включает отправку уведомлений по электронной почте при срабатывании событий |
| alertsNotify | Включает отправку push-уведомлений на мобильные устройства при срабатывании событий |
| soundFile | Путь к звуковому файлу, воспроизводимому при срабатывании звукового уведомления |
| arrowsVisible | Включает или отключает отображение стрелок на графике при смене направления тренда |
| arrowsOnNewest | При включении стрелки рисуются на последнем баре старшего таймфрейма вместо текущего |
| arrowsIdentifier | Уникальный идентификатор объектов-стрелок на графике для их последующего удаления |
| arrowsUpperGap | Множитель расстояния верхней стрелки от цены максимума бара, измеряемый в единицах ATR |
| arrowsLowerGap | Множитель расстояния нижней стрелки от цены минимума бара, измеряемый в единицах ATR |
| arrowsUpColor | Цвет стрелки, указывающей на изменение тренда вверх |
| arrowsDnColor | Цвет стрелки, указывающей на изменение тренда вниз |
| arrowsUpCode | Код символа стрелки вверх (набор символов платформы) |
| arrowsDnCode | Код символа стрелки вниз (набор символов платформы) |
| arrowsUpSize | Толщина линии стрелки вверх |
| arrowsDnSize | Толщина линии стрелки вниз |
| Interpolate | Включает интерполяцию значений между барами при работе в мультитаймфреймовом режиме |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 clrAqua
#property indicator_color2 clrRed
#property indicator_color3 clrMediumSeaGreen
#property indicator_color4 clrMediumSeaGreen
#property indicator_color5 clrMediumSeaGreen
#property indicator_style3 STYLE_DOT
#property indicator_style4 STYLE_DOT
#property indicator_style5 STYLE_DOT
#property strict
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Time frame to use
input int RSIPeriod = 8; // Rsi period
extern int T3Period = 8; // T3 period
extern double T3Hot = 0.63; // T3 hot
extern bool T3Original = false; // T3 original
input int BandsPeriod = 20; // Bands period
input int BandsShift = 0; // Bands shift
input double BandsDeviations = 2.0; // Bands deviations
input string note = "turn on Alert = true; turn off = false";
input bool alertsOn = false; // Turn alerts on?
input bool alertsOnCurrent = true; // Alerts on current bar?
input bool alertsMessage = true; // Alerts message?
input bool alertsSound = false; // Alerts sound?
input bool alertsEmail = false; // Alerts email?
input bool alertsNotify = false; // Alerts push notification true/false?
input string soundFile = "alert2.wav"; // Sound file
input bool arrowsVisible = false; // Arrows visible true/false?
input bool arrowsOnNewest = false; // Arrows drawn on newest bar of higher time frame bar true/false?
input string arrowsIdentifier = "eco Arrows1"; // Unique ID for arrows
input double arrowsUpperGap = 0.5; // Upper arrow gap
input double arrowsLowerGap = 0.5; // Lower arrow gap
input color arrowsUpColor = clrBlue; // Up arrow color
input color arrowsDnColor = clrCrimson; // Down arrow color
input int arrowsUpCode = 233; // Up arrow code
input int arrowsDnCode = 234; // Down arrow code
input int arrowsUpSize = 2; // Up arrow size
input int arrowsDnSize = 2; // Down arrow size
input bool Interpolate = true; // Interpolate in multi time frame mode?
double RSI[],RSIMA[],BBMid[],BBUp[],BBDn[],trend[],count[];
string indicatorFileName;
#define _mtfCall(_buff,_ind) iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,RSIPeriod,T3Period,T3Hot,T3Original,BandsPeriod,BandsShift,BandsDeviations,"",alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsNotify,soundFile,arrowsVisible,arrowsOnNewest,arrowsIdentifier,arrowsUpperGap,arrowsLowerGap,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,_buff,_ind)
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
string lookFor = arrowsIdentifier+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
int i,limit=fmin(rates_total-prev_calculated+1,rates_total-1); count[0]=limit;
if (TimeFrame!=_Period)
{
limit = (int)fmax(limit,fmin(rates_total-1,_mtfCall(6,0)*TimeFrame/_Period));
for (i=limit;i>=0 && !_StopFlag; i--)
{
int y = iBarShift(NULL,TimeFrame,time[i]);
RSI[i] = _mtfCall(0,y);
RSIMA[i] = _mtfCall(1,y);
BBMid[i] = _mtfCall(2,y);
BBUp[i] = _mtfCall(3,y);
BBDn[i] = _mtfCall(4,y);
if (!Interpolate || (i>0 && y==iBarShift(NULL,TimeFrame,time[i-1]))) continue;
#define _interpolate(buff) buff[i+k] = buff[i]+(buff[i+n]-buff[i])*k/n
int n,k; datetime dtime = iTime(NULL,TimeFrame,y);
for(n = 1; (i+n)<rates_totПоказано первые 50% кода (символов: 8239)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.