النتائج 16 إلى 23 من 23
الموضوع: كيفية اغلاق صفقه معينه
- 12-11-2017, 07:53 AM #16
وعليكم السلام
أخي الكريم
يجب أن تضع شروط معينة لاغلاق الصفقة الأولى، أو تقوم بتمييزها عن طريق الماجك نمبر او الكومنت او حتى بمتغير،
مثلا عند فتح اول صفقة تقوم بحفظ التيكت الخاص بها والافضل عن طريق دوال الجلوبال لضمان الحفظ
وبعد تحقق شرط الاغلاق تقوم باغلاق الصفقة ذات التيكت المحفوظ، ولا تحذف الحفظ إلا بعد اغلاق الصفقات،
مثال:
كود PHP:datetime time=0;
void OnTick()
{
if(OrdersTotal()==0)GlobalVariableDel("Ticket");
if(Close[1]>Open[1]&&time!=Time[0]&&Volume[0]<5)//شرط الشراء مثلا
{
int ticket=OrderSend(Symbol(),OP_BUY,0.1,NormalizeDouble(Ask,Digits),10,0,0,"",0,0,Blue);
if(ticket>0&&GlobalVariableGet("Ticket")==0)GlobalVariableSet("Ticket",ticket);//شرط الحفظ
time=Time[0];
}
if(Close[1]<Open[1])CloseBuyOrder();//وهنا مثلا شرط اغلاق الصفقة ذات التكت المحفوظ سلفا
}
void CloseBuyOrder()
{
for(int i=0;i<OrdersTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrdersTotal()>0&&OrderTicket()==GlobalVariableGet("Ticket"))
{
if(OrderType()==OP_BUY)
{
bool close=OrderClose(GlobalVariableGet("Ticket"),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10);
}
}
}
}
آخر تعديل بواسطة kira-h ، 12-11-2017 الساعة 08:08 AM
- 12-11-2017, 09:01 AM #17
- 12-11-2017, 03:53 PM #18
Global Variables تعني المتغيرات العامة، يعني متغيرات يمكن تغيير قيمها او قراءتها من قبل الدوال على نطاق أوسع، حيث تخزن القيم في الجهاز لمدة 4 أسابيع منذ لحظة استدعائها،
ويتم استدعاؤها بشكل عادي حتى لو انقطع السيرفر أو الكهرباء أو تغيير الحساب...،
ويمكن رؤية الـ global variables من المنصة بالدخول الى Tools أو بالضغط على F3 ستجد قيمها وتاريخ تسجيلها بالجهاز.
من أهم تطبيقات الـ Global Variables انها حلقة الوصل والاتصال بين مجموعة اكسبيرتات تتبادل المعلومات بينها، كيف؟
لنفترض انك تشغل اكسبيرت على شارت يورودولار واكسبيرت اخر يعمل على شارت لزوج آخر وتريد ان يراقب احدهما الاخر هل دخل بيع ام شراء حتى يفعل نفسه لمهمة محددة. هنا يأتي دور الـ global variables بان تعرف متغير على انه global variable في اكسبيرت ثم الاكسبيرت الاخر يقرأ هذا المتغير وعليه يحدد مهمته.
للمزيد من المعلومات راجع الصفحة التالية :
https://book.mql4.com/variables/globalsآخر تعديل بواسطة kira-h ، 12-11-2017 الساعة 03:57 PM
- 12-11-2017, 06:15 PM #19
هذه التطبيقات ممكن بغير الغلوبال معالجتها بطريقة او بأخرى
هل يوجد تطبيقات لايمكن ان تتم ابدا الا باستخدامها؟
- 12-11-2017, 06:19 PM #20
- 14-11-2017, 08:39 AM #21
- 18-11-2017, 07:51 AM #22
العفو اخي
معناه حرية اكبر وضمان اكثر بعدم ضياع قيمة المتغير
ويمكنك استخدام عدة متغيرات جلوبال لعدة ازواج فقط بتغيير اسمائها وافضلها باسم الزوج والماجك للتمييز
مثال لحفظ حجم عقد الزوج الحالي ذو ماجك نمبر محدد
كود PHP:GlobalVariableSet(Symbol()+MagicNo+"Lots",Lots5);
التريلينغ الستوب المخفي
اذا استخدمت متغيرات static فسيختل نظام التريلينغ بمجرد اعادة فتح المنصة لأنها ستعود الى قيمتها الاصلية
بينما متغيرت الجلوبال ستحفظ دائما آخر قيم بالتريلينغ وستكمل عملها على أكمل وجه
وغيرها كحفظ القيم الحقيقية للترندات الاوبجكتس بالفريمات الاخرى ... ولا شك ستحتاج اليها بمشروعك حول النماذج والهارمونك
والله الموفقآخر تعديل بواسطة kira-h ، 18-11-2017 الساعة 08:09 AM
- 18-11-2017, 08:39 AM #23التريلينغ الستوب المخفي
اذا استخدمت متغيرات static فسيختل نظام التريلينغ بمجرد اعادة فتح المنصة لأنها ستعود الى قيمتها الاصلية
بينما متغيرت الجلوبال ستحفظ دائما آخر قيم بالتريلينغ وستكمل عملها على أكمل وجه
حالة unique
كنت ابي اكتب انه من خلال الملفات يمكن حفظ اخر قيم ولكن تذكرت ان الملف نفسه سيعود للحالة الاصلية طالما يأخذ من البرنامج ايضا
رجاء اي حالة لايمكن التفاهم معها كما نريد الا من خلال الغلوبال نرجو طرحه لتصبح مرجع موسوعي لهذه الدوالآخر تعديل بواسطة فيلسوف البادية ، 18-11-2017 الساعة 08:41 AM