كيف يتم تعديله
Printable View
انا استخدم هذه الداله الخاصه بك مستر دولار والخاصه بحذف جميع الاوامر المعلقه
كود PHP:int DeletePendingOrders()
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && (OrderType()>OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
هذه الداله تقوم بحذف جميع الاوامر المعلقه معا سواء بيع او شراء
هل يمكن التعديل على هذه الداله بحيث تحدد حذف نوع الاوامر المعلقه ؟؟
يعنى تكون بحيث نوع الامر سواء بيع او شراء
يعنى اريد ان اخبر الاكسبيرت ان يحذف فى بعض الاوقات اوامر المعلقه البيع فقط وفى بعض الاوقات يحذف الاوامرا لمعلقه الشراء فقط
هل هذا ممكن ؟
يعنى اريدها ان تكون بهذه الصيغه
وعندما اريد ان احذف اوامر الشراء المعلقه اقول لهكود PHP:DeletePendingOrders(int type)
وعلى العكس فى حاله البيعكود PHP:DeletePendingOrders(OP_BUYSTOP)
هل وصلت فكرتى اليك مستر دولار .؟؟
تفضل هذه دالة الغاء اوامر معلقة
كود PHP:void Delete_Type(int type){ for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNo) { if( OrderType()==type) bool rt=OrderDelete(OrderTicket() );
} } return;}
تستدعيها من قائمةبالأمركود PHP:OnTick
ولمعرفة ماذا يعني الرقم 4 انظر للجدولكود PHP:Delete_Type(4);
OP_BUY Buy operation OP_SELL 1 Sell operation OP_BUYLIMIT 2 Buy limit pending order OP_SELLLIMIT 3 Sell limit pending order OP_BUYSTOP 4 Buy stop pending order OP_SELLSTOP 5 Sell stop pending order
بعض الاحيان نجد متغير بعده هكذا () او [ ] ما هو الفرق بينهم
اعرف انه يمكن كتابه الشرط هكذا
سوالي ما هي الصيغه الاخرى لكتابه نفس الشرطكود PHP:if (DayOfWeek()==4)
هل يمكن الكتابه ايضا هكذا
وهل هذه الصيغ صحيحه ايضاكود PHP:if (DayOfWeek(4))
او هذا العبارهكود PHP:TimeHour(17)
اذا كانت خطاء ما هو الصحكود PHP:Time[TimeDay(2)]
كيف سيكون الشرط وجوابه التالي؟؟
اذا كان الفريم تايم الفريم الاسبوعي ارسم خط عمودي على الشمعه الدقيقه الاولى في بدايه الاسبوع.
جزاك الله خيرا في الدنيا والآخرة
تم عمل الموضوع به كل التفاصيل
https://forum.arabictrader.com/t198945.html#post2829571
والله الموفق
هل يمكن ضبط الكومنت Comment يعني من ناحيه لون الخط وحجمه وغيرها من الخصائص؟؟
اناحاولت من عمل بطاقه نص من نوع LABEL ولكن المشكله انه عند تغير البيكسل لم يتغيير حجم LABEL وكذلك لم يكتب سطر ثاني وثالث وهكذا
وانما يكتب السطر الاول فقط والباقيه لم تظهر
اين المشكله
كود PHP:int Ali;
ObjectCreate( Ali,OBJ_LABEL,0,0,0);
ObjectSetText(Ali,"Hour21="+DoubleToString (5,0)+"\n ""Hour1="+DoubleToString (5,0)+"""Hour15="+DoubleToString (5,0)+" " "Hour21="+DoubleToString (5,0)+"\n""Hour4="+DoubleToString (5,0)+" ""Hour10="+DoubleToString (5,0)+" " "Hour16="+DoubleToString (5,0)+" "
"Hour22="+DoubleToString (5,0)+"\n""Hour5="+DoubleToString (5,0)+" " "Hour11="+DoubleToString (5,0)+" " "Hour17="+DoubleToString (5,0)+" ""Hour23="+DoubleToString (5,0),8,"Arial",clrYellow);
السلام عليكم
اريد كود بحيث يفتح اكسبرت فقة واحدة لكل عملة يعمل عليها الاكسبرت
وليس صفقة واحد لكل العملات
تحيااتي
وعليكم السلام ورحمة الله وبركاته
إذا كنت تقصد صفقة واحدة في اليوم لكل زوج فالدالة هي كالتالي :
تحسب مجموع عدد الصفقات المفعلة :
وتحسب مجموع الصفقات المغلقة الموجودة بالهيستوري:كود:int countA=0;
for (int i=OrdersTotal()-1; i>=0; i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderOpenTime()>=iTime(Symbol(),1440,0))
{
if(OrderType()==OP_SELL||OrderType()==OP_BUY)
{
countA++;
}
}
}
}
ثم تجمع الناتج وتجعله شرط أساسي قبل شرط الدخول في الصفقةكود:int countB=0;
for (int j=OrdersHistoryTotal()-1; j>=0; j--)
if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))
{
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderOpenTime()>=iTime(Symbol(),1440,0))
{
if(OrderType()==OP_SELL||OrderType()==OP_BUY)
{
countB++;
}
}
}
}
MaxTrades متغير خارجي للتحكم في مجموع عدد الصفقات اليوميةكود:if((countA+countB)<MaxTrades)
{
////
}
في النهاية الكود كامل :
كود PHP://+------------------------------------------------------------------+
//| Exported variables |
//+------------------------------------------------------------------+
input int MaxTrades=1;
input int MagicNo=1;
//+------------------------------------------------------------------+
//| Expert start |
//+------------------------------------------------------------------+
void OnTick()
{
LimitOpenAllOrdersInTime();
}
void LimitOpenAllOrdersInTime()
{
int countA=0;
for (int i=OrdersTotal()-1; i>=0; i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderOpenTime()>=iTime(Symbol(),1440,0))
{
if(OrderType()==OP_SELL||OrderType()==OP_BUY)
{
countA++;
}
}
}
}
int countB=0;
for (int j=OrdersHistoryTotal()-1; j>=0; j--)
if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))
{
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo)
{
if(OrderOpenTime()>=iTime(Symbol(),1440,0))
{
if(OrderType()==OP_SELL||OrderType()==OP_BUY)
{
countB++;
}
}
}
}
if((countA+countB)<MaxTrades)
{
////
}
}