رد: تحويل كود MT5 إلى MT4 , هل هذا ممكن ؟
اقتباس:
المشاركة الأصلية كتبت بواسطة Tarwada
السلام عليكم و رحمة الله و بركاته , قمت بكتابة كود اكسبيرت بواسطة Estasoft Forex Generator 5
المشكلة انه توجد خاصية في تكويد اكسبيرتات MT5 غير موجودة في MT4 من خلال البرنامج المذكور اعلاه
اللي هي : First Time
أخي محمد نزلت البرنامج المذكور ووجدت أن خاصية First Time موجودة في الـ MT4 حتى ولو لم تراها في الـ Parameters
هذا كود الدالة CheckLastOrderType في MT5
[PHP]
void CheckLastOrderType1()
{
long orderType = -1;
long lastCloseTime = 0;
ulong order_ticket;
// selection through the entire history
HistorySelect(0,TimeCurrent());
// go through all history orders
for (int i=HistoryOrdersTotal()-1;i>=0;i--)
{
order_ticket = HistoryOrderGetTicket
;
// order with appropriate ORDER_MAGIC, symbol and order type
if (HistoryOrderGetString(order_ticket, ORDER_SYMBOL) == Symbol() && lastCloseTime < HistoryOrderGetInteger(order_ticket, ORDER_TIME_DONE))
{
lastCloseTime = HistoryOrderGetInteger(order_ticket, ORDER_TIME_DONE);
orderType = HistoryOrderGetInteger(order_ticket, ORDER_TYPE);
}
}
if (orderType == ORDER_TYPE_SELL || FirstTime1)
{
FirstTime1 = false;
}
}
[/PHP]
وهذا كود الدالة CheckLastOrderType في MT4
[PHP]
void CheckLastOrderType1()
{
int orderType = -1;
int orderId = -1;
datetime lastCloseTime = 0;
int cnt = OrdersHistoryTotal();
for (int i=0; i < cnt; i++)
{
if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderSymbol() == Symbol() && lastCloseTime < OrderCloseTime() && orderId == 1)
{
lastCloseTime = OrderCloseTime();
orderType = OrderType();
orderId = OrderMagicNumber();
}
}
if (orderType == OP_SELL || FirstTime1)
{
FirstTime1 = false;
}
}
[/PHP]
كما تلاحظ الـ FirstTime موجودة .. وهي تعمل بالـ default وتستطيع جعلها false من البداية في الكود كي لاتعمل
بالتوفيق