النتائج 1 إلى 3 من 3
الموضوع: اغلاق امر بعد وقت محدد
- 14-03-2012, 08:06 AM #1
اغلاق امر بعد وقت محدد
السلام عليكم
احاول عمل اكسبرت يقفل الامر بعد وقت محدد
المشكله ان الوقت محسوب بـ 24 ساعه و60 دقيقه وبعدها يرجع للصفر
العمليه الحسابيه ما تركب
المساعده لتطوير الكود لاغلاق الامر بعد ثلاث ساعات ونص مثلا
ويعمل طوال الوقت
هذا الكودكود PHP:extern double Time_Cls_B=2;
bool Flag_Time_B=false;
extern double Order_Time_B;
int Order_Time_B()
{
int Order_Hour_B = Hour();
double Order_Min_B = Minute();
Order_Time_B = Order_Hour_B + Order_Min_B;
Alert(Order_Time_B);
return;
}
int Executor_B()
{
Flag_Time_B=true;
return;
}
int Close_Time_B()
{
int Cur_Hour_B = Hour();
double Cur_Min_B = Minute();
double Cur_Time_B = Cur_Hour_B + Cur_Min_B;
double Close_Time_B = Cur_Time_B - Order_Time_B;
Alert(Order_Time_B);
Alert(Close_Time_B);
if (Close_Time_B > Time_Cls_B)
{
Executor_B();
}
return;
}
- 14-03-2012, 10:07 PM #2
وعليكم السلام ورحمة الله وبركاته
أنت تريد إغلاق الصفقه بعد وقت محدد لذلك سوف تحتاج إلى معرفة توقيت فتح الصفقه لتحسب الفرق لكل صفقه على حده حسب توقيت فتحها فسيكون الكود
كود PHP:bool CloseOrderTime()
{
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
datetime opentime=OrderOpenTime();
if((TimeCurrent()-opentime)/60/60>HoursToCloseOrder){
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3);
}
}
}
كود PHP:extern double HoursToCloseOrder=3.5;
- 14-03-2012, 11:09 PM #3
رااااائع
اشكرك من اعماق قلبي
كنت متأكد اني بجد الاجابه عندك
وجدت بطريقتك ما كان ينقصني
استخدمت مزيج من طريقتك وطريقتي والنتيجه الاوليه مشجعه، احتاج فقط لفحصها لمده اطول كـ 24 ساعه .
استخدام TimeCurrent بدل Hour و Minute خفف كثير من التعقيد
الكود بعد التعديل للفائده العامه
extern double Time_Cls_B=1;
bool Flag_Time_B=false;
extern double Order_Time_B;
int Order_Time_B()
{
Order_Time_B = TimeCurrent();
Alert(Order_Time_B);
return;
}
int Close_Time_B()
{
Alert(TimeCurrent());
Alert(Order_Time_B);
if((TimeCurrent()-Order_Time_B)/60/60 > Time_Cls_B )
{
Executor_B();
}
return;
}
int Executor_B()
{
Flag_Time_B=true;
return;
}