iFibonacci
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ifibonacci.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
<p>Индикатор iFibonacci — это пользовательский индикатор для MetaTrader 5, который отображает на графике набор аналитических инструментов Фибоначчи. Он основан на расчёте разворотов индикатора ZigZag и строит различные фибоначчиевые объекты от найденных ключевых точек.</p><p>Индикатор поддерживает отображение ретрейсмента, дуги, веера, временных зон и расширения Фибоначчи, а также позволяет рисовать паттерны, дневные и недельные уровни максимумов/минимумов, дневной пивот и отображать оставшееся время свечи. Все элементы настраиваются через параметры цвета, стиля и толщины линий.</p><p>Для работы метода масштабирования дуги через ClientRect требуется разрешение на импорт DLL. Индикатор корректно завершает работу, удаляя все созданные графические объекты при деинициализации.</p>
Настройки программы
| Настройка | Описание |
|---|---|
| Z I G Z A G S E T T I N G (lb_0) | Разделитель настроек ZigZag |
| ZigZag Depth (ExtDepth) | Глубина поиска разворотов ZigZag |
| ZigZag Deviation (ExtDeviation) | Отклонение цены для ZigZag |
| ZigZag Backstep (ExtBackstep) | Количество баров для отката ZigZag |
| Maximum Bars (MaxBars) | Максимальное количество баров для расчёта |
| Time Frame to use (FixedPeriod) | Таймфрейм для расчёта ZigZag |
| lb_1 | Разделитель настроек |
| F I B O R E T R A C E M E N T (lb_2) | Разделитель настроек ретрейсмента |
| Show Retracement (ShowRetracement) | Отображать ретрейсмент Фибоначчи |
| Levels Style (rStyle) | Стиль уровней ретрейсмента |
| Levels Color (rColor) | Цвет уровней ретрейсмента |
| Levels Width (rWidth) | Толщина уровней ретрейсмента |
| Level 0 (l0) | Уровень 0 для ретрейсмента Фибоначчи |
| Level 38.2 (l38) | Уровень 38.2 для ретрейсмента Фибоначчи |
| Level 50 (l50) | Уровень 50 для ретрейсмента Фибоначчи |
| Level 61.8 (l61) | Уровень 61.8 для ретрейсмента Фибоначчи |
| Level 100 (l100) | Уровень 100 для ретрейсмента Фибоначчи |
| Extra levels: 14.6, 23.6, 76.4, 88.6, 127.2 (ExtraLevels) | Включить дополнительные уровни ретрейсмента: 14.6, 23.6, 76.4, 88.6, 127.2 |
| Level 14.6 (l14) | Уровень 14.6 для ретрейсмента Фибоначчи |
| Level 23.6 (l23) | Уровень 23.6 для ретрейсмента Фибоначчи |
| Level 76.4 (l74) | Уровень 76.4 для ретрейсмента Фибоначчи |
| Level 88.6 (l88) | Уровень 88.6 для ретрейсмента Фибоначчи |
| Level 127.2 (l127) | Уровень 127.2 для ретрейсмента Фибоначчи |
| Show Prices (LevelPrice) | Отображать цены уровней ретрейсмента |
| lb_3 | Разделитель настроек |
| F I B O A R C (lb_4) | Разделитель настроек дуги |
| Show Arc (ShowArc) | Отображать дугу Фибоначчи |
| Scalling Method (ScaleMethod) | Метод масштабирования дуги: математический, через прямоугольник окна или вручную |
| NOTE! (info) | Примечание: для метода ClientRect необходимо разрешить импорт DLL |
| Manual Scale value (ManualScale) | Ручное значение масштаба для дуги Фибоначчи |
| Arc Color (aColor) | Цвет дуги Фибоначчи |
| Arc Style (aStyle) | Стиль дуги Фибоначчи |
| Arc Width (aWidth) | Толщина дуги Фибоначчи |
| Level 38.2 (ARC38) | Уровень 38.2 для дуги Фибоначчи |
| Level 50 (ARC50) | Уровень 50 для дуги Фибоначчи |
| Level 61.8 (ARC61) | Уровень 61.8 для дуги Фибоначчи |
| Show extra levels: 14.6, 23.6, 76.4 (ExtraARC) | Включить дополнительные уровни дуги: 14.6, 23.6, 76.4 |
| Level 14.6 (ARC14) | Уровень 14.6 для дуги Фибоначчи |
| Level 23.6 (ARC23) | Уровень 23.6 для дуги Фибоначчи |
| Level 76.4 (ARC74) | Уровень 76.4 для дуги Фибоначчи |
| lb_5 | Разделитель настроек |
| F I B O F A N (lb_6) | Разделитель настроек веера |
| Show Fan (ShowFan) | Отображать веер Фибоначчи |
| Fan Color (fColor) | Цвет веера Фибоначчи |
| Fan Style (fStyle) | Стиль веера Фибоначчи |
| Fan Width (fWidth) | Толщина веера Фибоначчи |
| Level 38.2 (FAN38) | Уровень 38.2 для веера Фибоначчи |
| Level 50 (FAN50) | Уровень 50 для веера Фибоначчи |
| Level 61.8 (FAN61) | Уровень 61.8 для веера Фибоначчи |
| Show extra levels: 14.6, 23.6, 76.4 (ExtraFAN) | Включить дополнительные уровни веера: 14.6, 23.6, 76.4 |
| Level 14.6 (FAN14) | Уровень 14.6 для веера Фибоначчи |
| Level 23.6 (FAN23) | Уровень 23.6 для веера Фибоначчи |
| Level 76.4 (FAN74) | Уровень 76.4 для веера Фибоначчи |
| lb_7 | Разделитель настроек |
| F I B O T I M E Z O N E S (lb_8) | Разделитель настроек временных зон |
| Show Time Zones (ShowZone) | Отображать временные зоны Фибоначчи |
| Time Color (zColor) | Цвет временных зон Фибоначчи |
| Time Style (zStyle) | Стиль временных зон Фибоначчи |
| Time Width (zWidth) | Толщина временных зон Фибоначчи |
| Level 0 (Zone0) | Уровень 0 для временных зон Фибоначчи |
| Level 100 (Zone1) | Уровень 100 для временных зон Фибоначчи |
| Level 200 (Zone2) | Уровень 200 для временных зон Фибоначчи |
| Level 300 (Zone3) | Уровень 300 для временных зон Фибоначчи |
| Level 500 (Zone5) | Уровень 500 для временных зон Фибоначчи |
| Level 800 (Zone8) | Уровень 800 для временных зон Фибоначчи |
| Level 1300 (Zone13) | Уровень 1300 для временных зон Фибоначчи |
| Level 2100 (Zone21) | Уровень 2100 для временных зон Фибоначчи |
| Level 3400 (Zone34) | Уровень 3400 для временных зон Фибоначчи |
| lb_9 | Разделитель настроек |
| F I B O E X P A N S I O N (lb_10) | Разделитель настроек расширения |
| Show Expansion (ShowExpansion) | Отображать расширение Фибоначчи |
| Expansion Color (eColor) | Цвет расширения Фибоначчи |
| Expansion Style (eStyle) | Стиль расширения Фибоначчи |
| Expansion Width (eWidth) | Толщина расширения Фибоначчи |
| Level 61.8 (EXP61) | Уровень 61.8 для расширения Фибоначчи |
| Level 100 (EXP100) | Уровень 100 для расширения Фибоначчи |
| Level 161.8 (EXP161) | Уровень 161.8 для расширения Фибоначчи |
| Level 261.8 (EXP261) | Уровень 261.8 для расширения Фибоначчи |
| Show extra levels: 78.66, 138.2, 200 (ExtraEXP) | Включить дополнительные уровни расширения: 78.6, 138.2, 200 |
| Level 78.6 (EXP78) | Уровень 78.6 для расширения Фибоначчи |
| Level 138.2 (EXP138) | Уровень 138.2 для расширения Фибоначчи |
| Level 200 (EXP200) | Уровень 200 для расширения Фибоначчи |
| lb_13 | Разделитель настроек паттернов |
| D R A W P A T T E R N (lb_14) | Разделитель настроек отрисовки |
| Show Pattern (ShowPattern) | Отображать паттерны из разворотов ZigZag |
| Pattern Color (pColor) | Цвет паттернов из разворотов ZigZag |
| lb_15 | Разделитель настроек дневных уровней |
| D A I L Y H I G H / L O W (lb_16) | Разделитель настроек дневных максимумов и минимумов |
| Show Daily High/Low (ShowDaily) | Отображать дневные максимумы и минимумы |
| Daily High/Low Color (DayColor) | Цвет дневных линий максимумов и минимумов |
| Daily High/Low Width (DayWidth) | Толщина дневных линий максимумов и минимумов |
| Daily High/Low Style (DayStyle) | Стиль дневных линий максимумов и минимумов |
| Show Daily Pivot (ShowPivot) | Отображать дневной пивот |
| Pivot Line Color (PivotColor) | Цвет линии дневного пивота |
| Pivot Line Width (PivotWidth) | Толщина линии дневного пивота |
| Pivot Line Style (PivotStyle) | Стиль линии дневного пивота |
| lb_17 | Разделитель настроек |
| W E E K L Y H I G H / L O W (lb_18) | Разделитель настроек недельных уровней |
| Show Weekly High/Low (ShowWeekly) | Отображать недельные максимумы и минимумы |
| Weekly Lines Color (WeekColor) | Цвет недельных линий максимумов и минимумов |
Поиск по коду файла
#property version "1.01"
#property description "This indicator will Draw Fibonacci Tools e.g. Retracement, Arc, Fan, Expansion, TimeZones. Based on zigzag indicator.\n"
#property description "Credit: \n JimDandy, \n WHRoeder, \n RaptorUK, \n deVries"
#property strict
#property indicator_chart_window
#import "user32.dll"
int GetClientRect(int hWnd,int &lpRect[]);
#import
enum ArcScale
{
Math, // MathAbs
ClientRect, // ClientRect
Manual // Set Manually
};
input string lb_0 = ""; // ---------- Z I G Z A G S E T T I N G
extern int ExtDepth = 24; // ZigZag Depth
extern int ExtDeviation = 5; // ZigZag Deviation
extern int ExtBackstep = 3; // ZigZag Backstep
extern int MaxBars = 500; // Maximum Bars
extern ENUM_TIMEFRAMES FixedPeriod = 0; // Time Frame to use
input string lb_1 = ""; // --------------------------------------------------------
input string lb_2 = ""; // ---------- F I B O R E T R A C E M E N T
extern bool ShowRetracement = true; // Show Retracement
extern ENUM_LINE_STYLE rStyle = 0; // Levels Style
extern color rColor = clrGold; // Levels Color
extern int rWidth = 1; // Levels Width
extern double l0 = 0.0; // Level 0
extern double l38 = 0.382; // Level 38.2
extern double l50 = 0.5; // Level 50
extern double l61 = 0.618; // Level 61.8
extern double l100 = 1.0; // Level 100
extern bool ExtraLevels = false; // Extra levels: 14.6, 23.6, 76.4, 88.6, 127.2
extern double l14 = 0.146; // Level 14.6
extern double l23 = 0.236; // Level 23.6
extern double l74 = 0.764; // Level 76.4
extern double l88 = 0.886; // Level 88.6
extern double l127 = 1.272; // Level 127.2
extern bool LevelPrice = false; // Show Prices
input string lb_3 = ""; // --------------------------------------------------------
input string lb_4 = ""; // ---------- F I B O A R C
extern bool ShowArc = false; // Show Arc
extern ArcScale ScaleMethod = Math; // Scalling Method
input string info="If ClientRect, you must allow DLL imports first"; // ---------- NOTE!
extern double ManualScale = 0; // Manual Scale value
extern color aColor = clrTomato; // Arc Color
extern ENUM_LINE_STYLE aStyle = 0; // Arc Style
extern int aWidth = 1; // Arc Width
extern double ARC38 = 0.382; // Level 38.2
extern double ARC50 = 0.500; // Level 50
extern double ARC61 = 0.618; // Level 61.8
extern bool ExtraARC = false; // Show extra levels: 14.6, 23.6, 76.4
extern double ARC14 = 0.146; // Level 14.6
extern double ARC23 = 0.236; // Level 23.6
extern double ARC74 = 0.764; // Level 76.4
input string lb_5 = ""; // --------------------------------------------------------
input string lb_6 = ""; // ---------- F I B O F A N
extern bool ShowFan = true; // Show Fan
extern color fColor = clrGold; // Fan Color
extern ENUM_LINE_STYLE fStyle = 2; // Fan Style
extern int fWidth = 1; // Fan Width
extern double FAN38 = 0.382; // Level 38.2
extern double FAN50 = 0.5; // Level 50
extern double FAN61 = 0.618; // Level 61.8
extern bool ExtraFAN = false; // Show extra levels: 14.6, 23.6, 76.4
extern double FAN14 = 0.146; // Level 14.6
extern double FAN23 = 0.236; // Level 23.6
extern double FAN74 = 0.764; // Level 76.4
input string lb_7 = ""; // --------------------------------------------------------
input string lb_8 = ""; // ---------- F I B O T I M E Z O N E S
extern bool ShowZone = true; // Show Time Zones
extern color zColor = clrDarkGoldenrod; // Time Color
extern ENUM_LINE_STYLE zStyle = 2; // Time Style
extern int zWidth = 1; // Time Width
extern double Zone0 = 0; // Level 0
extern double Zone1 = 1; // Level 100
extern double Zone2 = 2; // Level 200
extern double Zone3 = 3; // Level 300
extern double Zone5 = 5; // Level 500
extern double Zone8 = 8; // Level 800
extern double Zone13 = 13; // Level 1300
extern double Zone21 = 21; // Level 2100
extern double Zone34 = 34; // Level 3400
input string lb_9 = ""; // --------------------------------------------------------
input string lb_10 = ""; // ---------- F I B O E X P A N S I O N
extern bool ShowExpansion = false; // Show Expansion
extern color eColor = clrBlue; // Expansion Color
extern ENUM_LINE_STYLE eStyle = 0; // Expansion Style
extern int eWidth = 2; // Expansion Width
extern double EXP61 = 0.618; // Level 61.8
extern double EXP100 = 1; // Level 100
extern double EXP161 = 1.618; // Level 161.8
extern double EXP261 = 2.618; // Level 261.8
extern bool ExtraEXP = false; // Show extra levels: 78.66, 138.2, 200
extern double EXP78 = 0.786; // Level 78.6
extern double EXP138 = 1.382; // Level 138.2
extern double EXP200 = 2; // Level 200
input string lb_13 = ""; // --------------------------------------------------------
input string lb_14 = ""; // ---------- D R A W P A T T E R N
extern bool ShowPattern = false; // Show Pattern
extern color pColor = clrFireBrick; // Pattern Color
input string lb_15 = ""; // --------------------------------------------------------
input string lb_16 = ""; // ---------- D A I L Y H I G H / L O W
extern bool ShowDaily = true; // Show Daily High/Low
extern color DayColor = clrPurple; // Daily High/Low Color
extern color DayWidth = 1; // Daily High/Low Width
extern ENUM_LINE_STYLE DayStyle = 0; // Daily High/Low Style
extern bool ShowPivot = true; // Show Daily Pivot
extern color PivotColor = clrLightGray; // Pivot Line Color
extern color PivotWidth = 1; // Pivot Line Width
extern ENUM_LINE_STYLE PivotStyle = 0; // Pivot Line Style
input string lb_17 = ""; // --------------------------------------------------------
input string lb_18 = ""; // ---------- W E E K L Y H I G H / L O W
extern bool ShowWeekly = true; // Show Weekly High/Low
extern color WeekColor = clrDarkBlue; // Weekly Lines Color
extern color WeekWidth = 1; // Weekly Lines Width
extern ENUM_LINE_STYLE WeekStyle = 0; // Weekly Lines Style
input string lb_19 = ""; // --------------------------------------------------------
input string lb_20 = ""; // ---------- M O N T H L Y H I G H / L O W
extern bool ShowMonthly = false; // Show Monthly High/Low
extern color MonthColor = clrFireBrick; // Monthly Lines Color
extern color MonthWidth = 1; // Monthly Lines Width
extern ENUM_LINE_STYLE MonthStyle = 0; // Monthly Lines Style
input string lb_21 = ""; // --------------------------------------------------------
input string lb_22 = ""; // ---------- C A N D L E T I M E
extern bool ShowCanldeTime = true; // Show Candle Time
extern color TimerColor = clrYellow; // Time Left Color
extern int TimerFontSize = 7; // Time Left Font Size
double zValue[5]; // zigzag swings value. zValue[1] = swing 1, and so on.
datetime zTime[5]; // Time for zigzag swings value
int rect[4]; // defines the coordinates of window.
int hwnd; // A handle to the window whose client coordinates are to be retrieved.
int gPixels,vPixels;
double DayLow,DayHigh,DayClose,DayPivot,WeekLow,WeekHigh,MonthLow,MonthHigh;
string Tools[8] = {"Fibo Retracement", "Fibo Arc", "Fibo Fan", "Fibo TimeZones", "Fibo Expansion", "Pattern1", "Pattern2", "Candle Time"},
Names[7] = {"Yesterday High", "Yesterday Low", "Weekly High", "Weekly Low", "Monthly High", "Monthly Low", "Pivot"},
Labels[7] = {"YH","YL","WH","WL","MH", "ML", "PVT"}, space = " ";
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
for(int i=0; i<9; i++)
{
if(ObjectFind(0,Tools[i]) >=0) ObjectDelete(Tools[i]);
if(ObjectFind(0,Names[i]) >=0) ObjectDelete(Names[i]);
if(ObjectFind(0,space+Labels[i]) >=0) ObjectDelete(space+Labels[i]);
}
}
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 limit,counted_bars=prev_calculated;
if(counted_bars < 0) return(rates_total);
if(counted_bars>0) counted_bars--;
limit=rates_total-counted_bars;
if(limit>MaxBars) limit=MaxBars;
int n=0;
for(int i=0; i<limit; i++)
{
double zz=iCustom(NULL,FixedPeriod,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
if(zz!=0 && zz!=EMPTY_VALUE)
{
zValue[n] = zz;
zПоказано первые 50% кода (символов: 17468)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.