
//+------------------------------------------------------------------+
//| FiboScript.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property show_inputs
#property strict
input int ZZExtremum = 1;
input int Shift = 5;
//+----------------------------------------------------------------------------+
//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Версия : 07.10.2006 |
//| Описание : Возвращает номер бара экстремума ЗигЗага по его номеру. |
//+----------------------------------------------------------------------------+
//| Параметры: |
//| sy - наименование инструмента (NULL или "" - текущий символ) |
//| tf - таймфрейм ( 0 - текущий ТФ) |
//| ne - номер экстремума ( 0 - последний) |
//| dp - ExtDepth |
//| dv - ExtDeviation |
//| bs - ExtBackstep |
//+----------------------------------------------------------------------------+
int GetExtremumZZBar(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bc=3) {
if (sy=="" || sy=="0") sy=Symbol();
double zz;
int i, k=iBars(sy, tf), ke=0;
for (i=0; i<k; i++) {
zz=iCustom(sy, tf, "ZigZag", dp, dv, bc, 0, i);
if (zz!=0) {
ke++;
if (ke>ne) return(i);
}
}
Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",ne," не найден");
return(-1);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutFibo(string name)
{
int bar=GetExtremumZZBar(Symbol(),0,ZZExtremum);
//ObjectDelete(name);
//--- создадим "Уровни Фибоначчи" по заданным координатам
ObjectCreate(0,name,OBJ_FIBO,0,Time[bar],Close[bar],Time[bar-Shift],Close[bar-Shift]);
//--- установим цвет
ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//--- установим толщину линии
ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
}
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
PutFibo("FIBO");
}
//+------------------------------------------------------------------+
AM2