،،،اهلا بك اخي الفاضل ، بالنسبة لكود يأخذ سعر اخر صفقة تم فتحها يمكن عمل ذلك بالوظيفة التالية ثم استدعاء الوظيفة في المكان المناسب في الكود،،،
كود:
double Last_Order_OP(int typ)
{
datetime d =0;
double xt =0;
int xtotal = OrdersTotal();
for (int xcnt = 0 ; xcnt <= xtotal ; xcnt++)
{
if(OrderSelect(xcnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderType()==typ)
{
if (OrderOpenTime()>d) {d=OrderOpenTime(); xt=OrderOpenPrice();}
}
}
return(xt);
}
،،،ولفتح صفقة معاكسة مكان الصفقة المغلقة يتم اولا معرفة نوع اخر صفقة اغلقت وسعر افتتاحها عن طريق الوظائف التالية،،،
كود:
int Last_Order_Type()
{
datetime d =0;
int xt =0;
int xtotal = OrdersHistoryTotal();
for (int xcnt = 0 ; xcnt <= xtotal ; xcnt++)
{
if(OrderSelect(xcnt,SELECT_BY_POS,MODE_HISTORY))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
{
if (OrderCloseTime()>d) {d=OrderCloseTime(); xt=OrderType();}
}
}
return(xt);
}
كود:
double Last_Order_OP(int typ)
{
datetime d =0;
double xt =0;
int xtotal = OrdersHistoryTotal();
for (int xcnt = 0 ; xcnt <= xtotal ; xcnt++)
{
if(OrderSelect(xcnt,SELECT_BY_POS,MODE_HISTORY))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderType()==typ)
{
if (OrderCloseTime()>d) {d=OrderCloseTime(); xt=OrderOpenPrice();}
}
}
return(xt);
}
،،،ثم عمل حلقة تكرارية للبحث عن صفقة مفتوحة بنفس سعر افتتاح اخر صفقة اغلقت واذا لم يجد يقوم بفتح الصفقة،،،
،،،تحياتي،،،