Автор |
Сообщение |
darshan
Зарегистрирован: 27.09.2009
Сообщения: 15
|
Respected senior members,,
Please help me in coding this language,
i need to plot / calculate zig level from start of the day.
e.g
using 5 min timeframe
Market opens at 90000 , next bar will start at 90500,
so zig will take its starting point as AVG price of first bar ,
thank you |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Zig on average prices or High/Low ??? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
darshan
Зарегистрирован: 27.09.2009
Сообщения: 15
|
000 писал(а): |
Zig on average prices or High/Low ??? |
Thank you for your quick reply
zig will start ..from new day
sir , please check the image , i have tried my best to explain my requirement
Thank you very much |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код: |
SetBarsRequired(100000,0);
revers = Param("Revers %", 5, 0.1, 10, 0.1)/100;
NewDay = Ref(Day(), -1) != Day();
Trend = 1;
Rev[0] = C[0] - C[0]*Revers;
UPpik = 0;
Dwpik = 0;
k = 1;
SwingLine = Null;
SwingLine[0] = C[0];
function ZigLine(k, i, trend)
{
if(NewDay[i])
{
Hh[i] = Avg[i];
Ll[i] = Avg[i];
}
else
{
Hh[i] = H[i];
Ll[i] = L[i];
}
if(NewDay[k])
{
Hh[k] = Avg[k];
Ll[k] = Avg[k];
}
else
{
Hh[k] = H[k];
Ll[k] = L[k];
}
d = i - k;
if(trend)
{
Amp = Hh[i] - Ll[k];
SwingLine[k] = Ll[k];
}
else
{
Amp = Ll[i] - Hh[k];
SwingLine[k] = Hh[k];
}
Step = Amp/d;
for(j = k+1; j <= i; j++)
{
SwingLine[j] = SwingLine[j-1]+ Step;
}
return SwingLine;
}
for(i = 1; i < BarCount; i++)
{
if(NewDay[i])
{
rev[i] = H[i] - H[i]*revers;
CE = i;
ZigLine(k, i, trend);
Uppik = H[i];
}
else if(Trend) //Up Trend
{
if(H[i] > UPpik)
{
rev[i] = H[i] - H[i]*revers;
CE = i;
ZigLine(k, i, trend);
Uppik = H[i];
}
else
{
if(L[i] < Rev[i-1] OR NewDay[i])
{
Trend = 0;
Dwpik = L[i];
k = CE;
CE = i;
ZigLine(k, i, trend);
Rev[i] = L[i] + L[i]*revers;
}
else
{
Rev[i] = Uppik - uppik*revers;
}
}
}
//======================================
else //Down Trend
{
if(L[i] < DWpik)
{
Rev[i] = L[i] + L[i]*Revers;
DWpik = L[i];
CE = i;
ZigLine(k, i, trend);
}
else
{
if(H[i] > Rev[i-1] OR NewDay[i])
{
Trend = 1;
Uppik = H[i];
k = CE;
CE = i;
ZigLine(k, i, trend);
Rev[i] = H[i] - H[i]*Revers;
}
else
{
Rev[i] = DWpik + DWpik*Revers;
}
}
}
}
Plot(Rev, "revers", ParamColor("Color", colorBlue ), ParamStyle("Style Revers", styleDashed) );
Plot(SwingLine, "ZigZag", IIf(SwingLine > Ref(SwingLine, -1), 27, 4), ParamStyle("Style Swing", styleThick) );
Plot(C, "", colorBlack, styleCandle);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
darshan
Зарегистрирован: 27.09.2009
Сообщения: 15
|
Thank you sir .
but this is not giving result , which i am looking for
[ maybe i didn't explain my logic properly ]
What i need is , Zig should start from newday / new session and this will break at market end
in other words ..
reset indicator from every new day / session .
I hope this time . i have said my logic correctly
Thank you |
|
|
Посмотреть профиль Отправить личное сообщение |
|
nightcarrier
Зарегистрирован: 24.02.2010
Сообщения: 67
|
darshan писал(а): |
Thank you sir .
but this is not giving result , which i am looking for
[ maybe i didn't explain my logic properly ]
What i need is , Zig should start from newday / new session and this will break at market end
in other words ..
reset indicator from every new day / session .
I hope this time . i have said my logic correctly
Thank you |
Would U be so kind to visit...
www.amibroker.org
to get all questions answered ?
ЗЫ. Америкосы ваще так-то не хэвают особо, а британец вместо гивинг резалтов райтнул бы, что это не совсем экзектли то что ему нужно. Определитесь уж с нацией то |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я то вообще 2/3 не понимаю. ))))) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|