Hi,
I am programming an indicator which must shown an arrow on every day the conditions are met for all available days there are in my chart.
I've got it working when I met all the conditions with price. When I will met a condition with pricetp, it doesn't work anymore and show every day an arrow. Can someone help me to solve this puzzle?
if(Retrace0WBuffer[shfC]<price && PrevDayLoBuffer[shfC]<price) dn1[shfC]=High[shfC]+Distance; //This line works fine and shows a down arrow
if(Retrace0WBuffer[shfC]<price && PrevDayLoBuffer[shfC]<pricetp) dn1[shfC]=High[shfC]+Distance; //This line doesn't work
Best regards,
Smika
I am programming an indicator which must shown an arrow on every day the conditions are met for all available days there are in my chart.
I've got it working when I met all the conditions with price. When I will met a condition with pricetp, it doesn't work anymore and show every day an arrow. Can someone help me to solve this puzzle?
if(Retrace0WBuffer[shfC]<price && PrevDayLoBuffer[shfC]<price) dn1[shfC]=High[shfC]+Distance; //This line works fine and shows a down arrow
if(Retrace0WBuffer[shfC]<price && PrevDayLoBuffer[shfC]<pricetp) dn1[shfC]=High[shfC]+Distance; //This line doesn't work
Best regards,
Smika
Inserted Code
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx
if(prev_calculated < 0) return(-1); //fed
int limits=rates_total-prev_calculated; //fed
// if(prev_calculated>0)
// limits++;
for(int i=0;i<limits;i++)
{
if(i>Bars-1) continue;
HighTargetaBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,0,i);
LowTargetaBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,1,i);
RangeHighBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,2,i);
RangeLowBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,3,i);
HighWkTargetaBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,4,i);
LowWkTargetaBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,5,i);
Retrace0Buffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,6,i);
Retrace3Buffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,7,i);
OpenDaBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,8,i);
OpenWkBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,9,i);
Retrace0WBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,10,i);
Retrace3WBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,11,i);
PrevDayHiBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,12,i);
PrevDayLoBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,13,i);
PrevWkHiBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,14,i);
PrevWkLoBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,15,i);
DailyMidpointBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,16,i);
WeekMidpointBuffer[i]=iCustom(NULL,PERIOD_CURRENT,"fib_indi","",false,17,i);
}
for(int j=0; j<ObjectsTotal();j++)
{
string name= ObjectName(j);
double price=-1;
datetime time1=0;
for(int k=0; k<ObjectsTotal();k++)
{
string naam= ObjectName(k);
double pricetp=-1;
datetime time1tp=0;
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
if(StringFind(name,"buy_sell_indi",0)!=-1 && StringFind(name,"Entry",0)!=-1){
price=ObjectGetDouble(0,name,OBJPROP_PRICE1);
time1=(datetime)ObjectGetInteger(0,name,OBJPROP_TIME1);
int shfC=iBarShift(NULL,PERIOD_CURRENT,time1);
if(StringFind(naam,"buy_sell_indi",0)!=-1 && StringFind(naam,"TP1",0)!=-1){
pricetp=ObjectGetDouble(0,naam,OBJPROP_PRICE1);}
time1tp=(datetime)ObjectGetInteger(0,naam,OBJPROP_TIME1);
int shfC1=iBarShift(NULL,PERIOD_CURRENT,time1tp);
if(shfC>=0) {
if(Retrace0WBuffer[shfC]<price && PrevDayLoBuffer[shfC]<price) dn1[shfC]=High[shfC]+Distance; //This line works fine and shows a down arrow
if(Retrace0WBuffer[shfC]<price && PrevDayLoBuffer[shfC]<pricetp) dn1[shfC]=High[shfC]+Distance; //This line doesn't work
}}}}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+