ساضيف شرط ان عدد الصفقات المفتوحة يكون اقل من اقصي حد للمتاجرة
ولكي نعرف عدد الصفقات المفتوحة
سنحتاج تعريف معتي الدالة
وكيف نكتبها
وكيف نستدعيها
وهي تحتاج تركيز عالي لفهمها
بالنسبة لنا حاليا سنضيفها و نشرح عملها لاكن لن نشرح كيف كتابتها لان الكتابة ليست غايتنا في هذا الاكسبريت
دالة حساب الصفقات هي الدالة التي تراجع الصفقات علي المنصة
اذا كانت وتعطينا عدد الصفقات المفتوحة
سواء اوامر مباشرة او اوامر معلقة
تكتب دالة حساب الصفقات خارج الدالة start
وفي اغلب الاحيان نكتبها اسفل الدالة start
وتكون كتابتها كالاتي
[PHP]
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
[/PHP]وعند اضافتها الي اكسبريتنا تصبح
[PHP]
extern int StopLoss=0;
extern int TakeProfit=0;
extern int MagicNumber=1263;
extern int MaxTrades = 1;
extern double Lots = 0.1;
double point;
int digits,Q;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits==2)
{
point=0.01;
}
if(Digits==4)
{
point=0.0001;
}
if(Digits==3)
{
point=0.01;
}
if(Digits==5)
{
point=0.0001;
}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double indigreen=iCustom(0,0,"1 indicator ",1,1);
double indired=iCustom(0,0,"1 indicator ",0,1);
if(indigreen<4000)
{
//امر شراء
}
if(indired<4000)
{
//امر بيع
}
//----
return(0);
}
//+------------------------------------------------------------------+
int orderstotal(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
cnt++;
}
}
return(cnt);
}
[/PHP]