،،،السلام عليكم ورحمة الله وبركاته،،،
،،،اعضاء وزوار ارابيا الكرام،،،
،،،نحتاج في بعض الاحيان ان يقوم الاكسبيرت بادارة راس المال للحساب وتحديد اللوت المناسب حسب نسبة المخاطرة التي نتبعها ، وطريقة كتابة هذا الكود كالتالي،،،
extern bool UseMoneyManagement = false;
extern int RiskPercent = 10;
extern double Lot = 0.01;
،،،المتغيرات السابقة يتم الاعلان عنها او كتابتها في Global Area او في بداية الكود قبل اي وظائف اخري،،،
،،،وسنقوم بكتابة الوظيفة التالية في اخر الكود،،،
double LotManage()
{
double lot = MathCeil(AccountFreeMargin() * RiskPercent / 1000) / 100;
if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
return (lot);
}
،،،وفي السطور الباقية من الوظيفة قمنا باخبار الاكسبيرت اذا كان اللوت الناتج اقل من اقل لوت تقبله المنصة اجعل قيمة اللوت تساوي اقل لوت تقبله المنصة ، واذا كان اللوت الناتج اكبر من اكبر لوت تقبله المنصة اجعل قيمة اللوت تساوي اكبر لوت تقبله المنصة،،،
،،،بعد ذلك في بداية الوظيفة OnTick نقوم بكتابة الكود التالي،،،
double Lots=Lot;
if(UseMoneyManagement){Lots=LotManage();}
،،،تحياتي،،،