Light Style© by Fisana

Перейти к содержимому


РАММ сервис NordFx: копируй сделки лучших трейдеров форекс


NordFX

Фотография

Система vaz321 для тф H1, H4.


  • Пожалуйста, авторизуйтесь, чтобы ответить
814 ответов в этой теме

#346 dehash

dehash

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 173 сообщений

Опубликовано 10 Август 2007 - 12:19

Вот это просадки ...в -200 пипсов.

#347 SUB

SUB

    пробегал

  • Пользователи
  • Pip
  • 4 сообщений

Опубликовано 10 Август 2007 - 01:06

У меня такая же херня... Ты закрылся Dehash?

#348 dehash

dehash

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 173 сообщений

Опубликовано 10 Август 2007 - 01:15

У меня такая же херня... Ты закрылся Dehash?



Нет, у меня СЛ стоит, само закроется. Не понравилось мне от середины канала открываться...

#349 Kenzo

Kenzo

    пробегал

  • Пользователи
  • Pip
  • 7 сообщений

Опубликовано 10 Август 2007 - 01:22

Всем доброго времени....перечитал все ваши ветки (может пропустил, может по линке не перешол), но не могу я найти эту сетку с магическими циферками....дайте пожалуйста линк, если не трудно!
За ранее благодарен.

#350 dehash

dehash

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 173 сообщений

Опубликовано 10 Август 2007 - 01:33

Всем доброго времени....перечитал все ваши ветки (может пропустил, может по линке не перешол), но не могу я найти эту сетку с магическими циферками....дайте пожалуйста линк, если не трудно!
За ранее благодарен.


//+----------------------------------------------------------------------+
//|ZigZag с чилами Песавенто |
//|----------------------------------------------------------------------+ |
//|ExtHidden - 0 - все линии скрыты. Обычный ZigZag. |
//| 1 - показывает все линии между фракталами, у которых |
//| процент восстановления >0.21 и <5. |
//| 2 - показывает только те линии, где процент восстано- |
//| вления равен числам Песавенто (и 0.866 для постро- |
//| ения паттернов Gartley) |
//| 3 - показывает числа, перечисленные в пункте 2 |
//| и соответствующие линии |
//| 4 - показывает числа не Песавенто и соответствующие линии |
//| |
//| |
//|ExtFractal - количество фракталов (максимумов, минимумов), |
//| от которых идут линии к другим фракталам |
//| |
//|ExtFractalNext - количество фракталов, к которым идут линии |
//| не реализовано |
//| |
//|ExtDeltaType - true - расчет допуска (%-число Песавенто)<ExtDelta |
//| false - ((%-число Песавенто)/число Песавенто)<ExtDelta | |
//| |
//|ExtDelta - (допуск) отклонение в расчете. Задает величину |
//| потенциальной разворотной зоны. |
//| |
//| |
//| |
//| |
//| |
//+----------------------------------------------------------------------+
#property copyright "nen@.....ru"
#property link "http://onix-trade.ne...post&f=9&t=118"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- indicator parameters
extern int ExtDepth=12;
extern int ExtHidden=1;
extern int ExtFractal=15;
//extern int ExtFractalNext=2;
extern double ExtDelta=0.04;
extern bool ExtDeltaType=true;
extern color ExtLine=DarkBlue;
extern color ExtPesavento=Yellow;
extern color ExtGartley866=GreenYellow;
extern color ExtNotFibo=SlateGray;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

//---- indicator buffers
// Массив для отрисовки ZigZag
double zz[];
// Массив минимумов черновой
double ExtMapBuffer[];
// Массив максимумов черновой
double ExtMapBuffer2[];

// Массив чисел Песавенто (Фибы и модифицированные Фибы)
double fi[]={0.382, 0.5, 0.618, 0.707, 0.786, 0.841, 0.886, 1.0, 1.128, 1.272, 1.414, 1.5, 1.618, 2.0, 2.414, 2.618, 4.0};
string fitxt[]={ ".382", "0.5", ".618", ".707", ".786", ".841", ".886", "1.0", "1.128", "1.272", "1.414", "1.5", "1.618", "2.0", "2.414", "2.618", "4.0" };
double HL,HLp,kk,kj,Angle;
// LowPrim,HighPrim,LowLast,HighLast - значения минимумов и максимумов баров
double LowPrim,HighPrim,LowLast,HighLast;
// numLowPrim,numHighPrim,numLowLast,numHighLast -номера баров
int numLowPrim,numHighPrim,numLowLast,numHighLast,k,k1,k2,ki,countLow1,countHigh1,shift;
// Время свечи с первым от нулевого бара фракталом
int timeFr1,timeFr1new;
// Количество линий, идущих от первого от нулевого бара фрактала к соседним фракталам
int countLineFr1;
// Счетчик фракталов
int countFr;
// Бар, до которого надо пересчитывать от нулевого бара
int numBar=0;
// Номер объекта
int numOb;
//Mаксимум или минимум бара первого фрактала
double hFr1, lFr1;
// Флаги
// flagFrNew=true - образовался новый фрактал или первый фрактал сместился на другой бар. =false - по умолчанию.
// flagFr=true - последний фрактал максимум. false - последний фрактал минимум.
bool flagLow,flagHigh,flagFr,flagFrNew=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5);
//---- drawing settings
SetIndexStyle(0,DRAW_SECTION);
//---- indicator buffers mapping
SetIndexBuffer(0,zz);
SetIndexBuffer(1,ExtMapBuffer);
SetIndexBuffer(2,ExtMapBuffer2);
// SetIndexBuffer(3,aLow);
// SetIndexBuffer(4,aHigh);
SetIndexEmptyValue(0,0.0);
ArraySetAsSeries(zz,true);
ArraySetAsSeries(ExtMapBuffer,true);
ArraySetAsSeries(ExtMapBuffer2,true);
//---- indicator short name
IndicatorShortName("ZZ("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Деинициализация. Удаление всех трендовых линий и текстовых объектов
//+------------------------------------------------------------------+
int deinit(){ ObjectsDeleteAll(0,2); ObjectsDeleteAll(0,21); return(0);}
//********************************************************
int start()
{
int counted_bars=IndicatorCounted();

if( counted_bars<0 )
{
Alert("Сбой расчета индикатора");
return(-1);
}

int shift, back,lasthighpos,lastlowpos;
double val,res;
double curlow,curhigh,lasthigh,lastlow;

for(shift=Bars-ExtDepth; shift>=0; shift--)
{
val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)];
if(val==lastlow) val=0.0;
else
{
lastlow=val;
if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtMapBuffer[shift+back];
if((res!=0)&&(res>val)) ExtMapBuffer[shift+back]=0.0;
}
}
}
ExtMapBuffer[shift]=val;
//--- high
val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)];
if(val==lasthigh) val=0.0;
else
{
lasthigh=val;
if((val-High[shift])>(ExtDeviation*Point)) val=0.0;
else
{
for(back=1; back<=ExtBackstep; back++)
{
res=ExtMapBuffer2[shift+back];
if((res!=0)&&(res<val)) ExtMapBuffer2[shift+back]=0.0;
}
}
}
ExtMapBuffer2[shift]=val;
}

// final cutting
lasthigh=-1; lasthighpos=-1;
lastlow=-1; lastlowpos=-1;

for(shift=Bars-ExtDepth; shift>=0; shift--)
{
curlow=ExtMapBuffer[shift];
curhigh=ExtMapBuffer2[shift];
if((curlow==0)&&(curhigh==0)) continue;
//---
if(curhigh!=0)
{
if(lasthigh>0)
{
if(lasthigh<curhigh) ExtMapBuffer2[lasthighpos]=0;
else ExtMapBuffer2[shift]=0;
}
//---
if(lasthigh<curhigh || lasthigh<0)
{
lasthigh=curhigh;
lasthighpos=shift;
}
lastlow=-1;
}
//----
if(curlow!=0)
{
if(lastlow>0)
{
if(lastlow>curlow) ExtMapBuffer[lastlowpos]=0;
else ExtMapBuffer[shift]=0;
}
//---
if((curlow<lastlow)||(lastlow<0))
{
lastlow=curlow;
lastlowpos=shift;
}
lasthigh=-1;
}
}

countLow1=0;
countHigh1=0;

for(shift=Bars-1; shift>=0; shift--)
{
zz[shift]=ExtMapBuffer[shift];
if(shift>=Bars-ExtDepth) {ExtMapBuffer2[shift]=0.0;ExtMapBuffer[shift]=0.0; zz[shift]=0.0;}
else
{
res=ExtMapBuffer2[shift];
if(res!=0.0) zz[shift]=res;
}
if (ExtMapBuffer[shift]>0.0) {countLow1++;}
if (ExtMapBuffer2[shift]>0.0) {countHigh1++;}
}

if (flagFrNew)
{
countLow1=0;
countHigh1=0;
for(shift=0; shift<=numBar; shift++)
{
if (ExtMapBuffer[shift]>0.0) {countLow1++;}
if (ExtMapBuffer2[shift]>0.0) {countHigh1++;}
}
counted_bars=3;
}

if (Bars - counted_bars>2)
{
for (shift=0; shift<Bars; shift++) // Поиск времени бара первого фрактала, считая от нулевого бара
{
if (zz[shift]>0.0)
{
timeFr1=Time[shift];
if (ExtMapBuffer[shift]==zz[shift]) {lFr1=Low[shift]; hFr1=0.0;}
if (ExtMapBuffer2[shift]==zz[shift]) {hFr1=High[shift]; lFr1=0.0;}

break;
}
}


//-----------1 Отрисовка максимумов. Начало.
//+--------------------------------------------------------------------------+
//| Вывод соединяющих линий и чисел Песавенто и 0.866 для максимумов ZigZag-a
//| Отрисовка идет от нулевого бара
//+--------------------------------------------------------------------------+

numLowPrim=0; numLowLast=0;
numHighPrim=0; numHighLast=0;

LowPrim=0.0; LowLast=0.0;
HighPrim=0.0; HighLast=0.0;

flagHigh=false;
Angle=-100;

countFr=ExtFractal;

for (k=0; (k<Bars-1 && countHigh1>0 && countFr>0); k++)
{
if (ExtMapBuffer[k]>0.0 && LowPrim==0.0 && HighPrim>0 && ExtMapBuffer[k]==zz[k]) {LowPrim=ExtMapBuffer[k]; numLowPrim=k;}
if (ExtMapBuffer[k]>0.0 && ExtMapBuffer[k]<LowPrim && HighPrim>0 && ExtMapBuffer[k]==zz[k]) {LowPrim=ExtMapBuffer[k]; numLowPrim=k;}
if (ExtMapBuffer2[k]>0.0 && ExtMapBuffer2[k]==zz[k])
{
if (HighPrim>0)
{
if (HighLast>0)
{
if (flagHigh)
{
if (ExtMapBuffer2[k]>HighLast) {HighLast=High[k]; numHighLast=k;}
}
else
{
if (ExtMapBuffer2[k]>HighPrim) flagHigh=true;
HighLast=High[k];
numHighLast=k;
}
}
else {numHighLast=k; HighLast=High[k];}

HL=High[numHighLast]-Low[numLowPrim];
kj=(HighPrim-HighLast)*10000/(numHighLast-numHighPrim);
if (HL>0 && (Angle>kj || Angle==-100)) // Проверка угла наклона линии
{
Angle=kj;
// Создание линии и текстового объекта
HLp=High[numHighPrim]-Low[numLowPrim];
k1=MathCeil((numHighPrim+numHighLast)/2);
kj=HLp/HL;

if (kj>0.21 && kj<=5)
{
// Создание текстового объекта (числа Песавенто). % восстановления между максимумами
kk=kj;
k2=1;
if (ExtDeltaType)
for (ki=16;ki>=0;ki--) {if (MathAbs(fi[ki]-kj)<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
else
for (ki=16;ki>=0;ki--) {if (MathAbs((fi[ki]-kj)/fi[ki])<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}

if (k2<0)
// процент восстановления числа Песавенто и 0.866
{
if (ExtHidden!=4 && ExtHidden>0)
{
ObjectCreate("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],OBJ_TEXT,0,Time[k1],MathAbs((High[numHighPrim]+High[numHighLast])/2));
if (kk==0.886) // Gartley
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],fitxt[ki],7,"Arial", ExtGartley866);
else
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],fitxt[ki],7,"Arial",ExtPesavento);
}
}
else
// процент восстановления (не Песавенто и 0.866)
{
if (ExtHidden==1 || ExtHidden==4)
{
ObjectCreate("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],OBJ_TEXT,0,Time[k1],MathAbs((High[numHighPrim]+High[numHighLast])/2));
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],""+DoubleToStr(kk,2),7,"Arial",ExtNotFibo);
}
}
if ((ExtHidden==2 && k2<0) || (ExtHidden!=0 && ExtHidden!=2))
{
ObjectCreate("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJ_TREND,0,Time[numHighPrim],High[numHighPrim],Time[numHighLast],High[numHighLast]);
ObjectSet("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJPROP_RAY,false);
ObjectSet("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJPROP_STYLE,STYLE_DOT);
ObjectSet("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJPROP_COLOR,ExtLine);
}
}
}
}
else
{numHighPrim=k; HighPrim=High[k];}
}
// Переход на следующий фрактал
if (k>Bars-3)
{
k=numHighPrim+1; countHigh1--; countFr--;

numLowPrim=0; numLowLast=0;
numHighPrim=0; numHighLast=0;

LowPrim=0.0; LowLast=0.0;
HighPrim=0.0; HighLast=0.0;

flagHigh=false;
Angle=-100;
}
}
//-----------1 Отрисовка максимумов. Конец.

//-----------2 Отрисовка минимумов. Начало.
//+-------------------------------------------------------------------------+
//| Вывод соединяющих линий и чисел Песавенто и 0.866 для минимумов ZigZag-a
//| Отрисовка идет от нулевого бара
//+-------------------------------------------------------------------------+

numLowPrim=0; numLowLast=0;
numHighPrim=0; numHighLast=0;

LowPrim=0.0; LowLast=0.0;
HighPrim=0.0; HighLast=0.0;

flagLow=false;
Angle=-100;

if (flagFrNew) countFr=1;
else countFr=ExtFractal;

for (k=0; (k<Bars && countLow1>0 && countFr>0); k++)
{
if (ExtMapBuffer2[k]>HighPrim && LowPrim>0) {HighPrim=High[k]; numHighPrim=k;}
if (ExtMapBuffer[k]>0.0 && ExtMapBuffer[k]==zz[k])
{
if (LowPrim>0)
{
if (LowLast>0)
{
if (flagLow)
{
if (ExtMapBuffer[k]<LowLast) {LowLast=Low[k]; numLowLast=k;}
}
else
{
if (ExtMapBuffer[k]<LowPrim) flagLow=true;
LowLast=Low[k];
numLowLast=k;
}
}
else {numLowLast=k; LowLast=Low[k];}
// вывод соединяющих линий и процентов восстановления(чисел Песавенто)
HL=High[numHighPrim]-Low[numLowLast];
kj=(LowPrim-LowLast)*1000/(numLowLast-numLowPrim);
if (HL>0 && (Angle<kj || Angle==-100)) // Проверка угла наклона линии
{
Angle=kj;

HLp=High[numHighPrim]-Low[numLowPrim];
k1=MathCeil((numLowPrim+numLowLast)/2);
kj=HLp/HL;

if (kj>0.21 && kj<=5)
{
// Создание текстового объекта (числа Песавенто). % восстановления между минимумами
kk=kj;
k2=1;
if (ExtDeltaType)
for (ki=16;ki>=0;ki--) {if (MathAbs(fi[ki]-kj)<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
else
for (ki=16;ki>=0;ki--) {if (MathAbs((fi[ki]-kj)/fi[ki])<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
if (k2<0)
// процент восстановления числа Песавенто и 0.866
{
if (ExtHidden!=4 && ExtHidden>0)
{
ObjectCreate("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],OBJ_TEXT,0,Time[k1],MathAbs((Low[numLowPrim]+Low[numLowLast])/2));
if (kk==0.886) // Gartley
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],fitxt[ki],7,"Arial", ExtGartley866);
else
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],fitxt[ki],7,"Arial",ExtPesavento);
}
}
else
// процент восстановления (не Песавенто и 0.866)
{
if (ExtHidden==1 || ExtHidden==4)
ObjectCreate("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],OBJ_TEXT,0,Time[k1],MathAbs((Low[numLowPrim]+Low[numLowLast])/2));
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],""+DoubleToStr(kk,2),7,"Arial",ExtNotFibo);
}
if ((ExtHidden==2 && k2<0) || (ExtHidden!=0 && ExtHidden!=2))
{
ObjectCreate("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJ_TREND,0,Time[numLowPrim],Low[numLowPrim],Time[numLowLast],Low[numLowLast]);
ObjectSet("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJPROP_RAY,false);
ObjectSet("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJPROP_STYLE,STYLE_DOT);
ObjectSet("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJPROP_COLOR,ExtLine);
}
}
}
}
else {numLowPrim=k; LowPrim=Low[k];}
}
// Переход на следующий фрактал
if (k>Bars-3)
{
k=numLowPrim+1; countLow1--; countFr--;

numLowPrim=0; numLowLast=0;
numHighPrim=0; numHighLast=0;

LowPrim=0.0; LowLast=0.0;
HighPrim=0.0; HighLast=0.0;

flagLow=false;
Angle=-100;
}
}

flagFrNew=false;
numBar=0;
//-----------2 Отрисовка минимумов. Конец.
}
else // counted_bars<=2 Проверка смещений фракталов.
// Коррекция соединяющих линий и чисел. Начало.

{

// Поиск времени бара первого фрактала, считая от нулевого бара
for (shift=0; shift<Bars; shift++)
{
if (zz[shift]>0.0)
{
timeFr1new=Time[shift];
break;
}
}
// Поиск бара, на котором был последний фрактал
shift=iBarShift(Symbol(),Period(),timeFr1);
// Сравнение текущего значения фрактала с тем, который был ранее


// Образовался новый фрактал
if (timeFr1new!=timeFr1)
{
flagFrNew=true;
numBar=shift;
}
// Фрактал на максимуме сдвинулся на другой бар
if (hFr1>0 && zz[shift]==0.0)
{
flagFrNew=true;
numBar=shift;
numHighPrim=shift; numHighLast=0;HighLast=0.0;
for (k=shift+1; k<Bars; k++)
{
if (ExtMapBuffer2[k]>HighLast)
{
HighLast=High[k]; numHighLast=k;
numOb=ObjectFind("ph" + Time[numHighPrim] + "_" + Time[numHighLast]);
//if (numOb>-1) Print ("MAX_numOb>-1=",numOb);
if (numOb>-1)
{
numOb=ObjectDelete("ph" + Time[numHighPrim] + "_" + Time[numHighLast]);
//Print ("MAX_удалено numOb>-1=",numOb);

ObjectDelete("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast]);
}
}

}
}
// Фрактал на минимуме сдвинулся на другой бар
if (lFr1>0 && zz[shift]==0.0)
{
flagFrNew=true;
numBar=shift;
flagFrNew=true;
numBar=shift;
numLowPrim=shift; numLowLast=0;LowLast=10000000;
for (k=shift+1; k<Bars; k++)
{
if (ExtMapBuffer[k]<LowLast)
{
LowLast=Low[k]; numLowLast=k;
numOb=ObjectFind("pl" + Time[numLowPrim] + "_" + Time[numLowLast]);
//if (numOb>-1) Print ("MIN_numOb>-1=",numOb);
if (numOb>-1)
{
numOb=ObjectDelete("pl" + Time[numLowPrim] + "_" + Time[numLowLast]);
//Print ("MIN_удалено numOb>-1=",numOb);
ObjectDelete("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast]);
}
}

}
}


//-----------3 Сместился минимум или максимум, но остался на том же баре. Начало.

//============= 1 сместился максимум. Начало.
if (hFr1-High[shift]!=0 && hFr1>0)
{
// Print ("Сместился максимум на том же баре hFr1-High[shift]=",hFr1-High[shift]);

numLowPrim=0; numLowLast=0;
numHighPrim=shift; numHighLast=0;

LowPrim=0.0; LowLast=0.0;
HighPrim=High[shift]; HighLast=0.0;

flagHigh=false;
Angle=-100;

for (k=shift+1; k<Bars; k++)
{

if (ExtMapBuffer[k]>0.0 && LowPrim==0.0 && ExtMapBuffer[k]==zz[k]) {LowPrim=ExtMapBuffer[k]; numLowPrim=k;}
if (ExtMapBuffer[k]>0.0 && ExtMapBuffer[k]<LowPrim && ExtMapBuffer[k]==zz[k]) {LowPrim=ExtMapBuffer[k]; numLowPrim=k;}
if (ExtMapBuffer2[k]>0.0 && ExtMapBuffer2[k]==zz[k])
{
if (HighLast>0)
{
if (flagHigh)
{
if (ExtMapBuffer2[k]>HighLast) {HighLast=High[k]; numHighLast=k;}
}
else
{
if (ExtMapBuffer2[k]>HighPrim) flagHigh=true;
HighLast=High[k];
numHighLast=k;
}
}
else {numHighLast=k; HighLast=High[k];}
HL=High[numHighLast]-Low[numLowPrim];
kj=(HighPrim-HighLast)*10000/(numHighLast-numHighPrim);
if (HL>0 && (Angle>kj || Angle==-100)) // Проверка угла наклона линии
{
Angle=kj;
// Создание линии
HLp=High[numHighPrim]-Low[numLowPrim];
k1=MathCeil((shift+numHighLast)/2);
kj=HLp/HL;
// Поиск старой соединительной линии
numOb=ObjectFind("ph" + Time[numHighPrim] + "_" + Time[numHighLast]);
if (numOb>-1)
{
if (kj>0.21 && kj<=5)
{
// Перемещение объектов
ObjectMove("ph" + Time[numHighPrim] + "_" + Time[numHighLast],0,Time[numHighPrim],High[numHighPrim]);
ObjectMove("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],0,Time[k1],MathAbs((High[numHighPrim]+High[numHighLast])/2));

// Создание текстового объекта (числа Песавенто). % восстановления между максимумами
kk=kj;
k2=1;
if (ExtDeltaType)
for (ki=16;ki>=0;ki--) {if (MathAbs(fi[ki]-kj)<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
else
for (ki=16;ki>=0;ki--) {if (MathAbs((fi[ki]-kj)/fi[ki])<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
if (k2<0)
// процент восстановления число Песавенто
if (ExtHidden!=4 && ExtHidden>0)
{
if (kk==0.886)
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],fitxt[ki],7,"Arial", ExtGartley866);
else
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],fitxt[ki],7,"Arial",ExtPesavento);
}
else
// процент восстановления (не Песавенто)
if (ExtHidden==1 || ExtHidden==4)
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],""+DoubleToStr(kk,2),7,"Arial",ExtNotFibo);
}
else
{
ObjectDelete("ph" + Time[numHighPrim] + "_" + Time[numHighLast]);
ObjectDelete("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast]);
}
}
else
{
//******* Прорисовка новой линии, если она появилась.
if (kj>0.21 && kj<=5)
{
// Создание текстового объекта (числа Песавенто). % восстановления между максимумами
kk=kj;
k2=1;
if (ExtDeltaType)
for (ki=16;ki>=0;ki--) {if (MathAbs(fi[ki]-kj)<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
else
for (ki=16;ki>=0;ki--) {if (MathAbs((fi[ki]-kj)/fi[ki])<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
if (k2<0)
// процент восстановления числа Песавенто и 0.866
{
if (ExtHidden!=4 && ExtHidden>0)
{
ObjectCreate("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],OBJ_TEXT,0,Time[k1],MathAbs((High[numHighPrim]+High[numHighLast])/2));
if (kk==0.886) // Gartley
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],fitxt[ki],7,"Arial", ExtGartley866);
else
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],fitxt[ki],7,"Arial",ExtPesavento);
}
}
else
// процент восстановления (не Песавенто и 0.866)
{
if (ExtHidden==1 || ExtHidden==4)
{
ObjectCreate("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],OBJ_TEXT,0,Time[k1],MathAbs((High[numHighPrim]+High[numHighLast])/2));
ObjectSetText("phtxt" + Time[numHighPrim] + "_" + Time[numHighLast],""+DoubleToStr(kk,2),7,"Arial",ExtNotFibo);
}
}
if ((ExtHidden==2 && k2<0) || (ExtHidden!=0 && ExtHidden!=2))
{
ObjectCreate("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJ_TREND,0,Time[numHighPrim],High[numHighPrim],Time[numHighLast],High[numHighLast]);
ObjectSet("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJPROP_RAY,false);
ObjectSet("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJPROP_STYLE,STYLE_DOT);
ObjectSet("ph" + Time[numHighPrim] + "_" + Time[numHighLast],OBJPROP_COLOR,ExtLine);
}
}
//*******
}
}
}
}
hFr1=High[shift];
timeFr1=Time[shift];
}
//============= 1 сместился максимум. Конец.
//
//============= 1 сместился минимум. Начало.
if (lFr1-Low[shift]!=0 && lFr1>0)
{
// Print ("Сместился минимум на том же баре lFr1-Low[shift]=",lFr1-Low[shift]);

numLowPrim=0; numLowLast=0;
numHighPrim=shift; numHighLast=0;

LowPrim=Low[shift]; LowLast=0.0;
HighPrim=0.0; HighLast=0.0;

flagLow=false;
Angle=-100;
for (k=shift+1; k<Bars; k++)
{
if (ExtMapBuffer2[k]>HighPrim) {HighPrim=High[k]; numHighPrim=k;}
if (ExtMapBuffer[k]>0.0 && ExtMapBuffer[k]==zz[k])
{
if (LowLast>0)
{
if (flagLow)
{
if (ExtMapBuffer[k]<LowLast) {LowLast=Low[k]; numLowLast=k;}
}
else
{
if (ExtMapBuffer[k]<LowPrim) flagLow=true;
LowLast=Low[k];
numLowLast=k;
}
}
else {numLowLast=k; LowLast=Low[k];}
HL=High[numHighPrim]-Low[numLowLast];
kj=(LowPrim-LowLast)*1000/(numLowLast-numLowPrim);
if (HL>0 && (Angle<kj || Angle==-100)) // Проверка угла наклона линии
{
Angle=kj;

HLp=High[numHighPrim]-Low[numLowPrim];
k1=MathCeil((numLowPrim+numLowLast)/2);
kj=HLp/HL;
// Поиск старой соединительной линии
numOb=ObjectFind("pl" + Time[numLowPrim] + "_" + Time[numLowLast]);
if (numOb>-1)
{
if (kj>0.21 && kj<=5)
{
// Перемещение объектов
ObjectMove("pl" + Time[numLowPrim] + "_" + Time[numLowLast],0,Time[numLowPrim],Low[numLowPrim]);
ObjectMove("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],0,Time[k1],MathAbs((Low[numLowPrim]+Low[numLowLast])/2));

// Создание текстового объекта (числа Песавенто). % восстановления между минимумами
kk=kj;
k2=1;
if (ExtDeltaType)
for (ki=16;ki>=0;ki--) {if (MathAbs(fi[ki]-kj)<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
else
for (ki=16;ki>=0;ki--) {if (MathAbs((fi[ki]-kj)/fi[ki])<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
if (k2<0)
// процент восстановления числа Песавенто и 0.866
{
if (ExtHidden!=4 && ExtHidden>0)
{
if (kk==0.886) // Gartley
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],fitxt[ki],7,"Arial", ExtGartley866);
else
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],fitxt[ki],7,"Arial",ExtPesavento);
}
}
else
// процент восстановления (не Песавенто и 0.866)
if (ExtHidden==1 || ExtHidden==4)
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],""+DoubleToStr(kk,2),7,"Arial",ExtNotFibo);
}
else
{
ObjectDelete("pl" + Time[numLowPrim] + "_" + Time[numLowLast]);
ObjectDelete("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast]);
}
}
else
{
//******* Прорисовка новой линии, если она появилась.
if (kj>0.21 && kj<=5)
{
// Создание текстового объекта (числа Песавенто). % восстановления между минимумами
kk=kj;
k2=1;
if (ExtDeltaType)
for (ki=16;ki>=0;ki--) {if (MathAbs(fi[ki]-kj)<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
else
for (ki=16;ki>=0;ki--) {if (MathAbs((fi[ki]-kj)/fi[ki])<=ExtDelta) {kk=fi[ki]; k2=-1; break;}}
if (k2<0)
// процент восстановления числа Песавенто и 0.866
{
if (ExtHidden!=4 && ExtHidden>0)
{
ObjectCreate("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],OBJ_TEXT,0,Time[k1],MathAbs((Low[numLowPrim]+Low[numLowLast])/2));
if (kk==0.886) // Gartley
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],fitxt[ki],7,"Arial", ExtGartley866);
else
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],fitxt[ki],7,"Arial",ExtPesavento);
}
}
else
// процент восстановления (не Песавенто и 0.866)
{
if (ExtHidden==1 || ExtHidden==4)
ObjectCreate("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],OBJ_TEXT,0,Time[k1],MathAbs((Low[numLowPrim]+Low[numLowLast])/2));
ObjectSetText("pltxt" + Time[numLowPrim] + "_" + Time[numLowLast],""+DoubleToStr(kk,2),7,"Arial",ExtNotFibo);
}
if ((ExtHidden==2 && k2<0) || (ExtHidden!=0 && ExtHidden!=2))
{
ObjectCreate("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJ_TREND,0,Time[numLowPrim],Low[numLowPrim],Time[numLowLast],Low[numLowLast]);
ObjectSet("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJPROP_RAY,false);
ObjectSet("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJPROP_STYLE,STYLE_DOT);
ObjectSet("pl" + Time[numLowPrim] + "_" + Time[numLowLast],OBJPROP_COLOR,ExtLine);
}
}
//*******
}
}
}
}
lFr1=Low[shift];
timeFr1=Time[shift];
}
//============= 1 сместился минимум. Конец.
//-----------3 Сместился минимум или максимум, но остался на том же баре. Конец.




// Коррекция. Конец.
}


// end
}

#351 Kenzo

Kenzo

    пробегал

  • Пользователи
  • Pip
  • 7 сообщений

Опубликовано 10 Август 2007 - 01:48

Спасибо конечно, но не подскажете почему его нет в списке индикаторов?

#352 dehash

dehash

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 173 сообщений

Опубликовано 10 Август 2007 - 01:57

Он есть, но в оригинальной теме (ссылка на тему в первом посте). Но и там её будет трудно найти, так как тема разрослась.

#353 Kenzo

Kenzo

    пробегал

  • Пользователи
  • Pip
  • 7 сообщений

Опубликовано 10 Август 2007 - 02:04

Я припоминаю этот код, но действительно его трудно будет найти....если Вас не затруднит, скиньте плиз скомпилированный индикатор (mq4), можно на почту kenzo-x-master()yandex.ru

#354 Kenzo

Kenzo

    пробегал

  • Пользователи
  • Pip
  • 7 сообщений

Опубликовано 10 Август 2007 - 03:32

Спасибо

#355 justMAX

justMAX

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 324 сообщений

Опубликовано 10 Август 2007 - 06:23

Нда, я проигрался неплохо, самое противное, что пары, которые меня выбросили по стопам, все равно пойдут по сигналам. Теперь не буду входить после коррекций, да и от стопов наверно откажусь.

#356 духLess

духLess

    записался

  • Пользователи
  • PipPip
  • 39 сообщений

Опубликовано 10 Август 2007 - 07:25

какие не хорошие люди продают AUDCAD ( полный перегруз ... он как с камнем на шее )

Сообщение изменено: духLess, 10 Август 2007 - 10:26 .


#357 malchik

malchik

    записался

  • Пользователи
  • PipPip
  • 28 сообщений

Опубликовано 10 Август 2007 - 12:05

какие не хорошие люди продают AUDCAD ( полный перегруз ... он как с камнем на шее )


И NZDCAD тоже тянет все глубже и глубже!

#358 dehash

dehash

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 173 сообщений

Опубликовано 10 Август 2007 - 12:43

EURJPY "-100" пипсов.
AUDJPY "-88" пипсов

Все пары возвращались к цене, по которой откывался.

#359 yavmen

yavmen

    живет тут

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 138 сообщений

Опубликовано 10 Август 2007 - 12:51

Следовательно! что то в системе ни так! но......

#360 dehash

dehash

    живет тут

  • Пользователь
  • PipPipPipPipPip
  • 173 сообщений

Опубликовано 10 Август 2007 - 12:52

EURCHF, AUDCAD сигнал на покупку.

Сообщение изменено: dehash, 10 Август 2007 - 01:01 .





Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей

Рейтинг брокеров форекс: кто лидер, кто аутсайдер и почему?




Masterforex-V NordFX

Rambler's Top100

Принимаем Z-Payment