جلسه نوزدهم – External Stoploss & Takeprofit

در جلسه نوزدهم از آموزش دوره اسکریپت نویسی،  با نحوه دریافت مقادیر 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 را انتخاب می کنیم و در پتجره ی باز شده کلید های ترکیبی مورد نظر را وارد می کنیم.

دیدگاهتان را بنویسید

You have to agree to the comment policy.