الفكره في أنك ستعتبر كل ثانيه جديده هي بداية حلقة جديده ل 30 ثانيه تحسب خلاللها ال50 نقطه
ثم إذا إنتهت أول حلقه سوف تحذفها وتضيف بدلا منها الحلقه الجديده وهكذا
مثال
كود PHP:
static double TimeArray[][2];
int size;
if(TimeCurrent()-LastRecordedTime>=1)
{
size=ArrayRange(TimeArray,0);
ArrayResize(TimeArray,size+1);
TimeArray[size][0]=TimeCurrent();
TimeArray[size][1]=Close[0];
LastRecordedTime=TimeCurrent();
}
ثم شروط البحث ستكون
كود PHP:
for(int i=0;i<size;i++)
{
if(TimeCurrent()-TimeArray[i][0]<=30)
{
if(Close[0]-TimeArray[i][1]>=50*Point)
{
// buy
TimeArray[i][0]=0
}
else if(TimeArray[i][1]-Close[0]>=50*Point)
{
// sell
TimeArray[i][0]=0
}
}
}
أخيرا بقي جزء أن تحذف القيم المحفوظه التي تجاوزت ال30 ثانيه حتى لا تظهر حجم مساحة المصفوفه بدو داعي
كود PHP:
int newsize;
double TempArray[][2];
for(int j=0;j<size;j++)
{
if(TimeCurrent()-TimeArray[j][0]>30)
{
for(int k=j;k<size;k++)
{
TimeArray[k][0]= TimeArray[k+1][0];
TimeArray[k][1]= TimeArray[k+1][1];
}
j--;
}
else
{
newsize++;
}
}
ArrayResize(TimeArray,newsize);
لم أجرب الكود عمليا فربما تحتاج إلى تعديله قليلا لكن ستعتمد على نفس الفكره