TRO_RAT_ZONE
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tro_rat_zone_mod.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
TRO_RAT_ZONE — это пользовательский индикатор для MetaTrader 5, предназначенный для расчёта и визуализации динамических зон сопротивления и поддержки на основе дневных данных цены. Индикатор отрисовывает на графике линии триггеров, стрелки, цветные прямоугольные зоны и информационную панель с показателями.
Индикатор вычисляет уровни сопротивления и поддержки по данным HIGH/LOW за настраиваемое количество дней, а затем строит линии долгосрочных и краткосрочных триггеров с учётом заданного порога в пунктах. При достижении цены триггерных уровней возможен звуковой сигнал.
Дополнительно индикатор анализирует свечные паттерны (дожи различных видов), определяет направление смещения на часовом, дневном и недельном таймфреймах и отображает эту информацию в виде шкалы-виджета и легенды. Режимы TrainingWheels и IdiotMode управляют отображением вспомогательных сообщений и предупреждений.
Визуальные элементы индикатора включают пять буферов-стрелок, горизонтальные линии-триггеры, цветные зоны затенения, прямоугольники уровней и текстовые метки. Все графические объекты создаются и обновляются в обработчике тайка, а при деинициализации удаляются.
Настройки программы
| Настройка | Описание |
|---|---|
| TURN_OFF | Отключить индикатор — Полностью отключает работу индикатора при активации. |
| TrainingWheels | Обучающий режим — Включает отображение вспомогательных обучающих сообщений на графике. |
| IdiotMode | Режим IdiotMode — Включает или отключает режим отображения предупреждающих сообщений при пробое уровней сопротивления или поддержки. |
| myIdiotFontSize | Размер шрифта предупреждений — Размер шрифта для предупреждающих сообщений в режиме IdiotMode. |
| Show_Legend | Показывать легенду — Включает или отключает отображение легенды с уровнями триггеров и смещениями. |
| Show_Gauge | Показывать виджет — Включает или отключает отображение информационной панели-виджета с данными о диапазоне и смещении. |
| Show_Target | Показывать целевой уровень — Включает или отключает отображение целевого уровня пробоя. |
| Show_Shade | Показывать зоны затенения — Включает или отключает отрисовку цветных зон затенения между уровнями поддержки и сопротивления. |
| myChartX | Горизонтальное смещение — Горизонтальное смещение графических объектов на графике. |
| myChartY | Вертикальное смещение — Вертикальное смещение графических объектов на графике. |
| myLegendY | Вертикальное смещение легенды — Вертикальное смещение легенды на графике. |
| myCorner | Угол размещения — Угол графика для размещения графических объектов (0-3). |
| myFont | Шрифт меток — Шрифт для текстовых меток на графике. |
| myFontSize | Размер шрифта меток — Размер шрифта для текстовых меток на графике. |
| Sound_Alert | Звуковое оповещение — Включает или отключает звуковое оповещение при достижении цены триггерных уровней. |
| Trigger_Lines | Линии триггеров — Включает или отключает отрисовку горизонтальных линий-триггеров на графике. |
| Plot_Triggers | Отрисовка триггеров — Включает или отключает отрисовку линий долгосрочного и краткосрочного триггеров. |
| bDrawBoxes | Отрисовка меток уровней — Включает или отключает отрисовку стрелок-меток уровней сопротивления и поддержки. |
| bResetOnNewDay | Сброс при новом дне — Переключатель сброса при начале нового торгового дня. |
| max_bars | Макс. количество баров — Максимальное количество баров, обрабатываемых при расчёте уровней. |
| iPeriods | Количество периодов — Количество периодов (дней) для расчёта динамических уровней сопротивления и поддержки. |
| iThreshold | Пороговый уровень — Пороговое значение в пунктах для корректировки уровней триггеров. |
| iPipsTrigger | Пункты смещения триггеров — Количество пунктов для расчёта смещения линий триггеров от уровней сопротивления и поддержки. |
| iBreakOutPips | Пункты пробоя — Количество пунктов для расчёта целевого уровня пробоя. |
| colorHead | Цвет заголовков панели — Цвет заголовков текстовых меток на панели. |
| iColorRes | Цвет сопротивления — Цвет уровня сопротивления. |
| iColorSup | Цвет поддержки — Цвет уровня поддержки. |
| iColorBuy | Цвет долгого триггера — Цвет для долгосрочного триггера. |
| iColorShort | Цвет короткого триггера — Цвет для краткосрочного триггера. |
| colorUp | Цвет восходящего направления — Цвет для восходящего направления. |
| colorEq | Цвет бокового направления — Цвет для бокового направления. |
| colorDn | Цвет нисходящего направления — Цвет для нисходящего направления. |
| MintCream (colorBuyShade) | Цвет зоны долгого триггера — Цвет зоны затенения для долгосрочного триггера. |
| colorShortShade | Цвет зоны короткого триггера — Цвет зоны затенения для краткосрочного триггера. |
| iAlertLineStyle | Стиль линий триггеров — Стиль линий горизонтальных триггеров. |
| myBoxWidth | Толщина линий меток — Толщина линий стрелок-меток уровней. |
| myWingDing | Код символа стрелок — Код символа WingDings для отрисовки стрелок-стрелков индикатора. |
| MinLengthOfUpTail | Мин. длина верхнего хвоста (Doji) — Минимальная длина верхнего хвоста свечи для распознавания обычного паттерна Doji. |
| MinLengthOfLoTail | Мин. длина нижнего хвоста (Doji) — Минимальная длина нижнего хвоста свечи для распознавания обычного паттерна Doji. |
| MaxLengthOfUpTail1 | Макс. длина верхнего хвоста (Dragonfly Doji) — Максимальная длина верхнего хвоста свечи для распознавания паттерна Dragonfly Doji. |
| MinLengthOfLoTail1 | Мин. длина нижнего хвоста (Dragonfly Doji) — Минимальная длина нижнего хвоста свечи для распознавания паттерна Dragonfly Doji. |
| MinLengthOfUpTail2 | Мин. длина верхнего хвоста (Gravestone Doji) — Минимальная длина верхнего хвоста свечи для распознавания паттерна Gravestone Doji. |
| MaxLengthOfLoTail2 | Макс. длина нижнего хвоста (Gravestone Doji) — Максимальная длина нижнего хвоста свечи для распознавания паттерна Gravestone Doji. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Indigo
#property indicator_color4 Magenta
#property indicator_color5 Orange
extern bool TURN_OFF = false ;
extern bool TrainingWheels = true ;
extern bool IdiotMode = false ;
extern int myIdiotFontSize = 50 ;
extern bool Show_Legend = true ;
extern bool Show_Gauge = true ;
extern bool Show_Target = true ;
extern bool Show_Shade = true ;
extern int myChartX = 10 ;
extern int myChartY = 80 ;
extern int myLegendY = 50 ;
extern int myCorner = 1 ;
extern string myFont = "Courier New" ;
extern int myFontSize = 12 ;
extern bool Sound_Alert = false ;
extern bool Trigger_Lines = false ;
extern bool Plot_Triggers = true;
extern bool bDrawBoxes = true;
extern bool bResetOnNewDay = false;
extern int max_bars = 300;
extern int iPeriods = 5;
extern int iThreshold = 0;
extern int iPipsTrigger = 20;
extern int iBreakOutPips = 20;
extern color colorHead = SteelBlue ;
extern color iColorRes = Red ;
extern color iColorSup = Blue ;
extern color iColorBuy = Indigo ;
extern color iColorShort = Magenta ;
extern color colorUp = Green ;
extern color colorEq = Gold ;
extern color colorDn = Red ;
extern color colorBuyShade = DarkSeaGreen ;//MintCream
extern color colorShortShade = MistyRose ;
extern int iAlertLineStyle = STYLE_DOT ;
extern int myBoxWidth = 3;
extern int myWingDing = 119 ;
extern int MinLengthOfUpTail=3;
extern int MinLengthOfLoTail=3;
extern int MaxLengthOfUpTail1=0;
extern int MinLengthOfLoTail1=3;
extern int MinLengthOfUpTail2=3;
extern int MaxLengthOfLoTail2=0;
double DynR[];
double DynS[];
double LgTrig[];
double ShTrig[];
double BOTarget[];
double xLgTrig;
double xShTrig;
string tTrigger = "TRigger" ;
string tRes0 = "Res_0" ;
string tSup0 = "Sup_0" ;
string tLgTrig = "LgTrig_0" ;
string tShTrig = "ShTrig_0" ;
string tAlertBuy = "Buy_sr" ;
string tAlertShort = "Short_sr";
datetime Trigger, STARTOFDAY ;
double iAlertBuy, iAlertShort, xThreshold ;
string symbol, tChartPeriod, shortName, ShortName ;
int digits2, digits, period, win ;
string lbl[15], lbl2[15];
string TAG = "dfsr" ;
string ObjG001,ObjG002,ObjG003,ObjG004,ObjG005,ObjG006,ObjG007,ObjG008,ObjG009 ;
int FillAmt = 11 , x001, x002, x003, x004, x005, x006, x007 ;
int n, j, h, l ;
double close, open, diff, value, point ;
color pColor = Blue, colorTradeInfo = Blue, ColorW1Bias = Blue , ColorH1Bias = Blue , ColorD1Bias = Blue ,ColorBias = Blue;
bool GreenCandle,RedCandle, OKtoShort, OKtoLong, HorizontalRes, HorizontalSup, BreakOutRes, BreakOutSup ;
double PipsTrigger = 5, BreakOutTarget, BreakOutPips , BodySize, WickSize, TailSize, Top, Bottom, D1Diff, H1Diff, W1Diff;
string mTradeInfo, W1Bias, H1Bias, D1Bias,tRangeMsg ;
string ArrowHeadRt = "?" ; // 216 up arrow head
string ArrowHeadUp = "?" ; // 217 up arrow head
string ArrowHeadDn = "?" ; // 218 up arrow head
string ArrowN = "?"; // NORTH
string ArrowNE = "?"; // NORTHEAST
string ArrowE = "?"; // EAST
string ArrowSE = "?"; // SOUTHEAST
string ArrowS = "?"; // SOUTH
string theArrow, D1Arrow, H1Arrow, W1Arrow ;
color colorArrow ;
bool StrongLWP , WeakLWP ;
string tLWP, tValue, tDoji, tIdiotMsg ;
color colorLWP ;
double H=0.0, L=0.0, C=0.0, O=0.0;
int indexL, indexH ,BARNUM ;
int init()
{
// код доступен только после оплаты
}
void ObDeleteObjectsByPrefix(string Prefix)
{
int LL = StringLen(Prefix);
int i = 0;
while(i < ObjectsTotal())
{
string ObjName = ObjectName(i);
if(StringSubstr(ObjName, 0, LL) != Prefix)
{
i++;
continue;
}
ObjectDelete(ObjName);
}
}
int deinit()
{
ObjectDelete(tTrigger);
ObjectDelete(tRes0);
ObjectDelete(tSup0);
ObjectDelete(tLgTrig);
ObjectDelete(tShTrig);
ObjectDelete(tAlertBuy);
ObjectDelete(tAlertShort);
ObDeleteObjectsByPrefix(TAG);
TRO() ;
return(0);
}
int start()
{
// код доступен только после оплаты
}
void DoDrawBoxes()
{
if (ObjectFind(tRes0) != 0)
{
ObjectCreate(tRes0,OBJ_ARROW,0,Time[0],DynR[0]);
ObjectSet(tRes0,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
ObjectSet(tRes0,OBJPROP_COLOR,Red);
ObjectSet(tRes0,OBJPROP_WIDTH,myBoxWidth);
}
else
{
ObjectMove(tRes0,0,Time[0],DynR[0]);
}
if (ObjectFind(tSup0) != 0)
{
ObjectCreate(tSup0,OBJ_ARROW,0,Time[0],DynS[0]);
ObjectSet(tSup0,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
ObjectSet(tSup0,OBJPROP_COLOR,Blue);
ObjectSet(tSup0,OBJPROP_WIDTH,myBoxWidth);
}
else
{
ObjectMove(tSup0,0,Time[0],DynS[0]);
}
ObjectDelete(tLgTrig);
if (ObjectFind(tLgTrig) != 0)
{
ObjectCreate(tLgTrig,OBJ_ARROW,0,Time[0],iAlertBuy);
ObjectSet(tLgTrig,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
ObjectSet(tLgTrig,OBJPROP_COLOR,iColorBuy);
ObjectSet(tLgTrig,OBJPROP_WIDTH,myBoxWidth);
}
else
{
ObjectMove(tLgTrig,0,Time[0],iAlertBuy);
}
if (ObjectFind(tShTrig) != 0)
{
ObjectCreate(tShTrig,OBJ_ARROW,0,Time[0],iAlertShort);
ObjectSet(tShTrig,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
ObjectSet(tShTrig,OBJPROP_COLOR,iColorShort);
ObjectSet(tShTrig,OBJPROP_WIDTH,myBoxWidth);
}
else
{
ObjectMove(tShTrig,0,Time[0],iAlertShort);
}
ObjectDelete(tTrigger);
if (ObjectFind(tTrigger) != 0)
{
ObjectCreate(tTrigger,OBJ_ARROW,0,Time[0],BOTarget[0]);
ObjectSet(tTrigger,OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
ObjectSet(tTrigger,OBJPROP_COLOR,Orange);
ObjectSet(tTrigger,OBJPROP_WIDTH,myBoxWidth);
}
else
{
ObjectMove(tTrigger,0,Time[0],BOTarget[0]);
}
}
void DoShowGauge()
{
n = 10;
j = 0 ;
close = iClose(symbol,period,0) ;
open = iOpen(symbol,period,0) ;
diff = close - open ;
tValue = tChartPeriod + " RAT ZONE" ;
lbl[j] = ShortName+j;
lbl2[j] = fFill(tValue , FillAmt) ;
j = j + 1;
lbl[j] = ShortName+j;
value = DynR[0] ;
diff = (close - value) / point ;
DoColor(diff, 0) ;
lbl2[j] = fFill("D1 High " , FillAmt) ;
j = j + 1;
lbl[j] = ShortName+j;
value = DynS[0] ;
diff = (close - value) / point ;
DoColor(diff, 0) ;
lbl2[j] = fFill("D1 Low " , FillAmt) ;
j = j + 1;
lbl[j] = ShortName+j;
value = (DynR[0] - DynS[0]Показано первые 50% кода (символов: 17592)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.