در جلسه نوزدهم از آموزش دوره اسکریپت نویسی، با نحوه دریافت مقادیر Stoploss و Takeprofit از تریدر در زبان برنامه نویسی MQL آشنا خواهید شد.
برای اینکه زمانی که اسکریپت را روی چارت قرار می دهیم پنجره ی تنظیمات اسکریپت نمایش داده شود از دستور پیش پردازنده property show_inputs# استفاده می کنیم . و برای اینکه مقادیر Stoploss و Takeprofit از تریدر دریافت شود از کلمه کلیدی extern استفاده می کنیم . به عنوان مثال :
#property show_inputs extern int Stoploss = 20; extern int Takeprofit = 50;
به دلیل اینکه تعداد ارقام اعشار در قیمت ها در جفت ارزهای مختلف ، متفاوت می باشد باید از یک فرمول استفاده کنیم تا مقدار Stoploss و Takeprofit که تریدر وارد می کند برای جفت ارزهای مختلف در توابع OrderSend و OrderModify به درستی عمل کند.
double pips = _Point; if (_Digits == 5 || _Digits == 3 ) pips *=10;
به عنوان مثال :
OrderModify(ticket, open_price , open_price – (Stoploss*pips) , open_price ((Takeprofit*pips) , 0 ,clrOrange);
نکته : اگر بخواهیم زمانی که دکمه Auto trading در حالت disable هست و اسکریپتی را روی چارت قرار بدهیم خطای مرتبط باdisable بودن Auto trading را توسط تابع Alert مشاهده کنیم از کد زیر استفاده می کنیم.
if (error_cod == ERR_TRADE_NOT_ALLOWED) Alert("You need to enable AutoTrading button");
نکته : شماره یا id مربوط به error_code در هدر فایل stderror قابل مشاهده می باشد .
نکته : برای استفاده ی راحت تر از اسکریپت ها می توان برای آنها hotkey تعریف کرد. برای این منظور روی اسکریپت مورد نظر کلیک راست کرده و گزینه set hotkey را انتخاب می کنیم و در پتجره ی باز شده کلید های ترکیبی مورد نظر را وارد می کنیم.