 | | | |  | |
21-03-2008, 08:19 PM
|
#31 (permalink)
| | معلومات العضو | | عضو مميز ومشرف سابق | | رد: دورة صناعة الاكسبيرتات المتحولات العامة Global Variable تحتوي لغة الميتاتريدر على تقنية تسمى Global Variable يستطيع المبرمج من خلالها تخزين واسترجاع المعلومات ومشاركتها بين جميع المؤشرات أو الاكسبيرتات أو حتى المستخدم نفسه . يمكنك يدويا أو برمجيا إنشاء متحول عام وإسناد قيمة ما له . يمكنك تغيير هذه القيمة في أي وقت تريد يدويا أو برمجيا . هذه المتحولات يمكن قراءة قيمها من أي مؤشر أو اكسبيرت آخر . بهذه الطريقة يمكن تبادل المعلومات بين مجموعة من المؤشرات أو الاكسبيرتات . يمكن مثلا برمجة مؤشر يقوم بحسابات معقدة ثم يعطي اشارة بيع أو شراء ويخزنها داخل متحول عام . ثم هناك اكسبيرت يفحص هذا المتحول الذي يعرف اسمه ويرى ما هي الإشارة الأخيرة هل هي بيع أم شراء ليقوم بتنفيذ صفقة حقيقية . هذا مثال بسيط لما يمكن عمله بواسطة هذه التقنية الرائعة . العمل اليدوي على المتحولات العامة هو عن طريق برنامج الميتاتريدر نفسه . من القائمة Tools اختر Global Variable أو اضغط F3 مباشرة . ستظهر لك نافذة المتحولات العامة لتظهر لك المتحولات الحالية مع قيمها . يمكنك إضافة متحول جديد أو حذف متحول موجود أو تغيير قيمته كما تريد . العمل مع المتحولات العامة من خلال البرمجة : تحتوي لغة MQL4 على كافة الوظائف المناسبة للعمل مع هذه المتحولات . وهذه الوظائف هي : كود PHP: bool GlobalVariableCheck( string name)
تقوم بفحص هل يوجد متحول عام له الاسم المحدد .. تعيد هذه الوظيفة القيمة true في حال وجدت المتحول والقيمة false في حال لم يكن المتحول موجودا . كود PHP: bool GlobalVariableDel( string name)
تقوم بحذف المتحول ذو الاسم المحدد وتعيد القيمة true في حال نجحت في عملية الحذف والقيمة false في حال لم تنجح لأي سبب من الأسباب . كود PHP: double GlobalVariableGet( string name)
تقوم بقراءة قيمة المتحول ذو الاسم المحدد . كود PHP: datetime GlobalVariableSet( string name, double value)
تقوم بوضع قيمة رقمية في المتحول ذو الاسم المحدد وتعيد زمن آخر قراءة تمت على هذا المتحول . أو تعيد القيمة صفر إذا كانت هذه أول مرة يتم تخزين قيمة في هذا المتحول . كود PHP: int GlobalVariablesDeleteAll( string prefix_name=NULL)
تقوم بحذف كافة المتحولات العامة أو يمكنك حذف فقط المتحولات التي يبدأ اسمها ببادئة محددة . تعيد هذه الوظيفة عدد المتحولات التي قامت بحذفها . كود PHP: int GlobalVariablesTotal( )
تقوم بإعادة عدد المتحولات العامة المتوفرة حاليا . كود PHP: string GlobalVariableName( int index)
تقوم بإعادة اسم المتحول من خلال رقمه الذي يبدأ من الصفر حتى آخر متحول . أمثلة : كود PHP: // check variable before use if(!GlobalVariableCheck("g1")) GlobalVariableSet("g1",1);
يقوم هذا المثال بفحص هل يوجد متحول اسمه g1 . في حال لم يجد هذا المتحول فإنه ينشئه ويضع فيه القيمة 1 . كود PHP: GlobalVariableDel("gvar_1");
يقوم هذا المثال بحذف المتحول ذو الاسم gvar_1 . كود PHP: double v1=GlobalVariableGet("g1");
يقوم هذا المثال بقراءة قيمة المتحول g1 وتخزينه في المتحول v1 . كود PHP: int var_total=GlobalVariablesTotal(); string name; for(int i=0;i<var_total;i++) { name=GlobalVariableName(i); Print(i,": Global variable name - ",name); }
يقوم هذا المثال بقراءة وطباعة أسماء جميع المتحولات المتوفرة حاليا فقط أسمائها وليس قيمها . |  | | التوقيع | | لا إله إلا الله محمد رسول الله | |
| |
03-05-2008, 04:56 AM
|
#35 (permalink)
| | معلومات العضو | | مـتداول ذهـبي | | رد: دورة صناعة الاكسبيرتات اخى الحبيب وضاح السلام عليكم بدايه اشكرك على هذا المجهود الرائع فى الشرح ومحاوله لإفادة الأخوه والأخوات , وبكل تأكيد نترك جزائك عند المولى عز وجل فهو القادر على مكافأتك نظرا لما تبذله من جهد ثقيل فى الشرح وانا اعلم معنى شرح البرمجه اخى الحبيب لقد قمت بتنفيذ الأوامر فى الأكسبيرت الأول الذى قمت بشرحه واللذى يعمل على وضع ارودرات معلقه على بعد معين عند اغلاق شمعه الديلى ولقد قمت ببعض التعديلات عليه - وذلك من خلال تعلمى لشرحك الوافر ما شاء الله - لأجعله يضع أوردرات الشراء فوق الهاى لليوم السابق واوردرات البيع فوق اللو لليوم السابق ولكن ... تظل الأوردرات المعلقه مفتوحه ويعجز الأكسبيرت عن تنفيذ اى ارودرات اخرى لحين اغلاق المعلق وها هو الكود فأرجوا ان تقول لى ما هو الخطأ كى اتفاداه ولك جزيل الشكر بارك الله فيك الكود كود PHP: int start() { if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0) { DeletePendingOrders(Magicnumber); CloseOrders(Magicnumber); } if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0) { double Dayhigh=iHigh(Symbol(),PERIOD_D1,1); double Daylow=iLow(Symbol(),PERIOD_D1,1); double BuyPrice=Dayhigh+Step*Point; double BuyTP=BuyPrice+Takeprofit*Point; double BuySL=BuyPrice-Stoploss*Point; double SellPrice=Daylow-Step*Point; double SellTP=SellPrice-Takeprofit*Point; double SellSL=SellPrice+Stoploss*Point; OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green); OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Red); } return(0); } int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { c++; } } return(c); } int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); } } return(0); } int CloseOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } return(0); }
|  | | التوقيع | | هكذا تكون البداية ــــــــــــــــــــــــــــــــــــــــــــ الصديق وقت الضيق إذا اردت ان تعرف صديقك ومن يحبك ويهتم بأمرك فأطلعه على همك وثق انك ستعرفه من اول كلمة ينطق بها لك يقول الحبيب المصطفى صلى الله عليه وسلم أو كما قال " المرأ على دين خليله فلينظر احدكم من يخالل " صدقت يا حبيبى يا رسول الله  | |
| |
03-05-2008, 11:54 AM
|
#36 (permalink)
| | رد: دورة صناعة الاكسبيرتات اقتباس:
المشاركة الأصلية كتبت بواسطة Amro
اخى الحبيب وضاح السلام عليكم بدايه اشكرك على هذا المجهود الرائع فى الشرح ومحاوله لإفادة الأخوه والأخوات , وبكل تأكيد نترك جزائك عند المولى عز وجل فهو القادر على مكافأتك نظرا لما تبذله من جهد ثقيل فى الشرح وانا اعلم معنى شرح البرمجه  اخى الحبيب لقد قمت بتنفيذ الأوامر فى الأكسبيرت الأول الذى قمت بشرحه واللذى يعمل على وضع ارودرات معلقه على بعد معين عند اغلاق شمعه الديلى ولقد قمت ببعض التعديلات عليه - وذلك من خلال تعلمى لشرحك الوافر ما شاء الله - لأجعله يضع أوردرات الشراء فوق الهاى لليوم السابق واوردرات البيع فوق اللو لليوم السابق ولكن ... تظل الأوردرات المعلقه مفتوحه ويعجز الأكسبيرت عن تنفيذ اى ارودرات اخرى لحين اغلاق المعلق وها هو الكود فأرجوا ان تقول لى ما هو الخطأ كى اتفاداه ولك جزيل الشكر بارك الله فيك الكود كود PHP: int start() { if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0) { DeletePendingOrders(Magicnumber); CloseOrders(Magicnumber); } if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0) { double Dayhigh=iHigh(Symbol(),PERIOD_D1,1); double Daylow=iLow(Symbol(),PERIOD_D1,1); double BuyPrice=Dayhigh+Step*Point; double BuyTP=BuyPrice+Takeprofit*Point; double BuySL=BuyPrice-Stoploss*Point; double SellPrice=Daylow-Step*Point; double SellTP=SellPrice-Takeprofit*Point; double SellSL=SellPrice+Stoploss*Point; OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green); OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Red); } return(0); } int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { c++; } } return(c); } int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); } } return(0); } int CloseOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } return(0); }
| اخي الكريم
بعد اذن المهندس وضاح
بعد نظرة سريعة على الكود ، هناك خطأ في دالة DeletePendingOrders حيث يجب عليك تغيير كود PHP: if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
الى كود PHP: if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUYSTOP || OrderType()!=OP_SELLSTOP))
|  | |
| |
03-05-2008, 03:46 PM
|
#37 (permalink)
| | معلومات العضو | | عضو مميز ومشرف سابق | | رد: دورة صناعة الاكسبيرتات
أهلا بك أخي عمرو
استبدل الوظيفة التالية بمثيلتها في الكود عندك : كود PHP: int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); RefreshRates(); Sleep(100); } } return(0); }
وأخبرني بالنتيجة
أخي وجدي شكرا لك
لكنك لم تنتبه لإشارة لا يساوي != في الوظيفة
لذلك الوظيفة برمجيا صحيحة ولكن أحيانا لبطيء السيرفر والتنفيذ لا يتم تنفيذ الوظيفة بشكل صحيح .
|  | | التوقيع | | لا إله إلا الله محمد رسول الله | |
| |
03-05-2008, 04:28 PM
|
#38 (permalink)
| | معلومات العضو | | مـتداول ذهـبي | | رد: دورة صناعة الاكسبيرتات اقتباس:
المشاركة الأصلية كتبت بواسطة wajdyss
اخي الكريم بعد اذن المهندس وضاح بعد نظرة سريعة على الكود ، هناك خطأ في دالة DeletePendingOrders حيث يجب عليك تغيير كود PHP: if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
كود PHP: [center][/center]
الى كود PHP: [center][center]if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUYSTOP || OrderType()!=OP_SELLSTOP)) [/center][/center]
| شكرا لك اخ وجدى على اهتمامك وزوقك وحبك لأخوتك لكن مازال الموضوع كما هو اقتباس:
المشاركة الأصلية كتبت بواسطة وضاح عطار
أهلا بك أخي عمرو | اقتباس:
المشاركة الأصلية كتبت بواسطة وضاح عطار
كود PHP: [center]int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); RefreshRates(); Sleep(100); } } return(0); } <div align="center">استبدل الوظيفة التالية بمثيلتها في الكود عندك : </div>
وأخبرني بالنتيجة أخي وجدي شكرا لك لكنك لم تنتبه لإشارة لا يساوي != في الوظيفة لذلك الوظيفة برمجيا صحيحة ولكن أحيانا لبطيء السيرفر والتنفيذ لا يتم تنفيذ الوظيفة بشكل صحيح . [/center] | كود PHP: [center]{ if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0) { DeletePendingOrders(Magicnumber); CloseOrders(Magicnumber); } if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0) { double Dayhigh=iHigh(Symbol(),PERIOD_D1,1); double Daylow=iLow(Symbol(),PERIOD_D1,1); double BuyPrice=Dayhigh+Step*Point; double BuyTP=BuyPrice+Takeprofit*Point; double BuySL=BuyPrice-Stoploss*Point; double SellPrice=Daylow-Step*Point; double SellTP=SellPrice-Takeprofit*Point; double SellSL=SellPrice+Stoploss*Point; OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green); OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Red); } return(0); } int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { c++; } } return(c); }
int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(0,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); RefreshRates(); Sleep(100); } } return(0); }
int CloseOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } return(0); } <div align="center"><font size="5"><font color="blue">الأخ الحبيب <font color="sienna">وضاح</font></font></font> <div align="center"><font size="5"><font color="blue">جزاك الله كل الخير على اهتمامك</font></font> <font size="5"><font color="blue">قمت بتغيير الكود ولكن <font color="sienna">الأمر كما هو</font> ومرفق لك الكود مرة اخرى </font></font></div>
<div align="center"><div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">كود PHP:</div>
<div class="alt2" dir="ltr" style="
margin: 0px;
padding: 6px;
border: 1px inset;
width: 640px;
height: 34px;
text-align: left;
overflow: auto">
<code style="white-space:nowrap">
<!-- php buffer start --><code><span style="color: #000000"> <span style="color: #0000BB">int start</span><span style="color: #007700">()
</span><span style="color: #0000BB"></span> </span> </code><!-- php buffer end -->
</code>
</div>
</div></div></div>
[/center]
|  | | التوقيع | | هكذا تكون البداية ــــــــــــــــــــــــــــــــــــــــــــ الصديق وقت الضيق إذا اردت ان تعرف صديقك ومن يحبك ويهتم بأمرك فأطلعه على همك وثق انك ستعرفه من اول كلمة ينطق بها لك يقول الحبيب المصطفى صلى الله عليه وسلم أو كما قال " المرأ على دين خليله فلينظر احدكم من يخالل " صدقت يا حبيبى يا رسول الله  | |
| |
03-05-2008, 07:05 PM
|
#39 (permalink)
| | معلومات العضو | | عضو مميز ومشرف سابق | | رد: دورة صناعة الاكسبيرتات
بعد التدقيق في الكود وجدت الخطأ
هذا هو الكود الصحيح كود PHP: //+------------------------------------------------------------------+ //| Amro high low.mq4 | //| Copyright © 2008, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern int Step=20; extern int Takeprofit=50; extern int Stoploss=50; extern double Lots=1; int Magicnumber=234561; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0) { DeletePendingOrders(Magicnumber); CloseOrders(Magicnumber); } if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0) { double Dayhigh=iHigh(Symbol(),PERIOD_D1,1); double Daylow=iLow(Symbol(),PERIOD_D1,1); double BuyPrice=Dayhigh+Step*Point; double BuyTP=BuyPrice+Takeprofit*Point; double BuySL=BuyPrice-Stoploss*Point; double SellPrice=Daylow-Step*Point; double SellTP=SellPrice-Takeprofit*Point; double SellSL=SellPrice+Stoploss*Point; OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green); OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Red); } return(0); } int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { c++; } } return(c); }
int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt >= 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); } } return(0); }
int CloseOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt >= 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } return(0); }
//+------------------------------------------------------------------+
|  | | التوقيع | | لا إله إلا الله محمد رسول الله | |
| |
04-05-2008, 01:11 AM
|
#40 (permalink)
| | معلومات العضو | | مـتداول ذهـبي | | رد: دورة صناعة الاكسبيرتات شكرا اخى وضاح وجزاك الله كل الخير تمام الكود شغال بإذن الله هعمل بعض التجارب عليه واوافيك بالأخبار لعل يكون فيه الخير الكثير للأخوه بأمر الله بارك الله فيك |  | | التوقيع | | هكذا تكون البداية ــــــــــــــــــــــــــــــــــــــــــــ الصديق وقت الضيق إذا اردت ان تعرف صديقك ومن يحبك ويهتم بأمرك فأطلعه على همك وثق انك ستعرفه من اول كلمة ينطق بها لك يقول الحبيب المصطفى صلى الله عليه وسلم أو كما قال " المرأ على دين خليله فلينظر احدكم من يخالل " صدقت يا حبيبى يا رسول الله  | |
| |
05-05-2008, 10:52 AM
|
#41 (permalink)
| | معلومات العضو | | المتداول العربي | | رد: دورة صناعة الاكسبيرتات |
جزاك الله عنا كل خير اخوي وضاح
و احنا معاك
|  | | التوقيع | | استغفر الله العظيم استغفر الله العظيم استغفر الله العظيم | |
| |
26-05-2008, 09:08 PM
|
#45 (permalink)
| | معلومات العضو | | عضو مميز ومشرف سابق | | رد: دورة صناعة الاكسبيرتات
فيما يلي بعض الوظائف الهامة التي أستخدمها بكثرة في الاكسبيرتات التي أصنعها
وأعتقد أنها سوف تنفعكم أيضا
هذه الوظائف سهلة الاستخدام ومفهومة جدا وكلها تعتمد على مدخل واحد هو الرقم السحري المميز للصفقات ...
الوظيفة الأولى :
MyRealOrdersTotal
تقوم بإعادة عدد الصفقات الحقيقية المفتوحة من قبل الاكسبيرت سواء كانت بيع أو شراء : كود PHP: int MyRealOrdersTotal(int Magic) { int c=0; int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL)) { c++; } } return(c); }
|  | | التوقيع | | لا إله إلا الله محمد رسول الله | |
| | |