supertrend_tro_modified_version.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «supertrend_tro_modified_version.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
SuperTrend_TRO_MODIFIED_VERSION — это пользовательский индикатор для MetaTrader 4, рассчитывающий направление тренда на основе средней истинной амплитуды (ATR) и медианной цены. Индикатор отображает две линии на графике: Trend Up (зелёная) и Trend Down (красная), которые помогают визуально оценить текущее направление движения цены.
При расчёте используются медианная цена (среднее значение High и Low), умноженная на настраиваемый коэффициент и ATR заданного периода. Если цена закрытия выше верхней линии — тренд считается бычьим, если ниже нижней — медвежьим. Линии плавно адаптируются при смене тренда.
Индикатор также поддерживает отображение стрелочных маркеров текущего значения Trend Up и Trend Down на текущем баре, а также может отправлять звуковые уведомления при пересечении ценой трендовых линий или смене тренда.
Настройки программы
| Настройка | Описание |
|---|---|
| myBoxWidth | Ширина маркера — Определяет толщину линии стрелочных маркеров ценовой коробки, отображаемых на графике. |
| Nbr_Periods | Период ATR — Задаёт количество баров, используемых для расчёта средней истинной амплитуды. |
| Multiplier | Множитель — Коэффициент, на который умножается ATR при расчёте верхней и нижней границ тренда. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_buffers 2
extern bool Sound.Alert = false ;
extern bool Show.PriceBox = true ;
extern int myBoxWidth = 3;
extern int Nbr_Periods = 10;
extern double Multiplier = 3.0;
double TrendUp[], TrendDown[];
int changeOfTrend;
string symbol, tChartPeriod, tShortName ;
int digits, period ;
bool Trigger ;
int OldBars = -1 ;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete(tShortName+"01");
ObjectDelete(tShortName+"02");
return(0);
}
int start()
{
// код доступен только после оплаты
}
if( Bars != OldBars ) { Trigger = True ; }
int limit, i, flag, flagh, trend[5000];
double up[5000], dn[5000], medianPrice, atr;
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
limit=Bars-counted_bars;
for (i = limit; i >= 0; i--) {
atr = iATR(NULL, 0, Nbr_Periods, i);
medianPrice = (High[i]+Low[i])/2;
up[i]=medianPrice+(Multiplier*atr);
dn[i]=medianPrice-(Multiplier*atr);
trend[i]=1;
if (Close[i]>up[i+1]) {
trend[i]=1;
if (trend[i+1] == -1) changeOfTrend = 1;
}
else if (Close[i]<dn[i+1]) {
trend[i]=-1;
if (trend[i+1] == 1) changeOfTrend = 1;
}
else if (trend[i+1]==1) {
trend[i]=1;
changeOfTrend = 0;
}
else if (trend[i+1]==-1) {
trend[i]=-1;
changeOfTrend = 0;
}
if (trend[i]<0 && trend[i+1]>0) {
flag=1;
}
else {
flag=0;
}
if (trend[i]>0 && trend[i+1]<0) {
flagh=1;
}
else {
flagh=0;
}
if (trend[i]>0 && dn[i]<dn[i+1])
dn[i]=dn[i+1];
if (trend[i]<0 && up[i]>up[i+1])
up[i]=up[i+1];
if (flag==1)
up[i]=medianPrice+(Multiplier*atr);
if (flagh==1)
dn[i]=mediaПоказано первые 50% кода (символов: 3513)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.