T3 Moving Average
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «t3_clean.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
T3 Moving Average — это пользовательский индикатор для MetaTrader 5, отображающий на графике скользящую среднюю T3. Индикатор использует шесть уровней экспоненциального сглаживания с последующей комбинацией результатов по коэффициентам, рассчитанным на основе параметра b и периода. Основной расчёт выполняется на текущем таймфрейме, но поддерживается и работа с другими таймфреймами через функцию iCustom.
Индикатор рисуется в основном окне графика одним буфером (синий цвет, ширина 2), при этом используются ещё шесть вспомогательных буферов для промежуточных вычислений. Параметры задаются через extern-переменные и доступны для настройки прямо из окна свойств индикатора.
При выборе таймфрейма, отличного от текущего, индикатор пересчитывает данные целевого таймфрейма, копируя временные метки и вызывая собственное изображение через iCustom. В противном случае расчёт выполняется непосредственно на текущем графике с использованием простой скользящей средней (SMA) как базового элемента.
Настройки программы
| Настройка | Описание |
|---|---|
| T3Period | Период расчёта индикатора T3, определяет количество баров, используемых для сглаживания. По умолчанию равен 14. |
| T3Price | Тип цены, используемый в расчёте индикатора. По умолчанию установлен на PRICE_CLOSE (цена закрытия). |
| b | Параметр гладкости индикатора T3, влияющий на коэффициенты комбинирования уровней сглаживания. По умолчанию равен 0.618. |
| TimeFrame | Таймфрейм, на котором выполняется расчёт индикатора. Допускается указание строкового обозначения (например, M1, H1, D1) или числового значения. По умолчанию — текущий таймфрейм графика. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property indicator_width1 2
extern int T3Period = 14;
extern int T3Price = PRICE_CLOSE;
extern double b = 0.618;
extern string TimeFrame = "current time frame";
double t3Array[];
double ae1[];
double ae2[];
double ae3[];
double ae4[];
double ae5[];
double ae6[];
int timeFrame;
string IndicatorFileName;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int t3_period;
double e1,e2,e3,e4,e5,e6;
double c1,c2,c3,c4;
double w1,w2,b2,b3;
double CalculateT3(int limit,int period,int priceType)
{
if(t3_period != period)
{
t3_period = period;
b2 = b*b;
b3 = b2*b;
c1 = -b3;
c2 = (3*(b2+b3));
c3 = -3*(2*b2+b+b3);
c4 = (1+3*b+b3+3*b2);
w1 = 2 / (2 + 0.5*(MathMax(1,period)-1));
w2 = 1 - w1;
}
for(int i=limit; i>=0; i--)
{
double price = iMA(NULL,0,1,0,MODE_SMA,priceType,i);
e1 = w1*price + w2*ae1[i+1];
e2 = w1*e1 + w2*ae2[i+1];
e3 = w1*e2 + w2*ae3[i+1];
Показано первые 50% кода (символов: 2882)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.