الكود البرمجي التالي في لغة MQL4 لفتح صفقات وإغلاقها عند تحقيق ربح محدد
// تعريف المتغيرات العامة
double TakeProfit = 100.0; // الربح المحدد
int MagicNumber = 123456; // رقم السحري للصفقة
// دالة لفتح صفقة جديدة
void OpenTrade()
{
// حساب الأرقام الحالية للسعر
double AskPrice = MarketInfo(Symbol(), MODE_ASK);
double BidPrice = MarketInfo(Symbol(), MODE_BID);
// تعيين الإيقاف والهدف
double StopLoss = BidPrice - (TakeProfit * Point);
double TakeProfitLevel = AskPrice + (TakeProfit * Point);
// فتح الصفقة
int ticket = OrderSend(Symbol(), OP_BUY, 0.01, AskPrice, 3, StopLoss, TakeProfitLevel, "MyOrder", MagicNumber, 0, Green);
// التحقق من نجاح فتح الصفقة
if(ticket > 0)
{
Print("تم فتح الصفقة بنجاح. رقم الصفقة: ", ticket);
}
else
{
Print("فشل في فتح الصفقة. الخطأ: ", GetLastError());
}
}
// دالة لإغلاق الصفقة
void CloseTrade(int ticket)
{
// إغلاق الصفقة
bool result = OrderClose(ticket, OrderLots(), MarketInfo(ticket, MODE_BID), 3, Red);
// التحقق من نجاح إغلاق الصفقة
if(result)
{
Print("تم إغلاق الصفقة بنجاح. رقم الصفقة: ", ticket);
}
else
{
Print("فشل في إغلاق الصفقة. الخطأ: ", GetLastError());
}
}
// دالة تنفيذية للتداول
void OnTick()
{
// التحقق من تحقيق الربح المحدد
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderMagicNumber() == MagicNumber && OrderProfit() >= TakeProfit)
{
CloseTrade(OrderTicket());
}
}
}
}
// دالة المببدأ
int init()
{
// تعيين الدالة المنفذة
OnTick();
return(0);
}
( ما يلفظ من قول إلا لديه رقيب عتيد )