Новая версия платформы MetaTrader 5 build 1525: Представление истории в виде позиций и улучшение тестера - страница 2

 
Alexey Volchanskiy:

Кстати, возможно, многие не знают одной хорошей фишки редактора, сам недавно наткнулся случайно.

Если открытый в редакторе файл изменить внешней программой, например, редактором VS и записать его в нем, то он автоматически измениться и в редакторе МТ5! VS тоже такие внешние изменения обнаруживает, но по умолчанию переспрашивает, принять изменения или нет.

То есть можно редактировать проект одновремено в МТ5 и VS и он будет синхронизирован. 

В редакторе МТ4 такая фишка тоже появилась в последнем декабрьском билде.

Там что остроты вопроса с редактором больше не существует (для меня по крайней мере).

Об этом знаю, как-то на форуме выложили синхронизацию  Notepad++ >> MetaEditor, так вон ним и пользуюсь. То, что изменили внешне, действительно изменяется в MetaEditor, но компилировать нужно вручную, и когда происходят обновления, то MetaEditor переезжает на первую строку в начало кода, что очень неудобно.

Одним словом - всё совсем плохо, самая важная часть для написания кодов, и самая недоделанная. Я уже молчу о фолдинге, хотя-бы сделать простейшую подсветку.

Rashid, есть шанс хотя-бы к концу 2020г получить подсветку кода?

 
Vitaly Muzichenko:

Rashid, есть шанс хотя-бы к концу 2020г получить подсветку кода?

Я не определяю приоритеты, но думаю, что шансы  очень высокие
 
Добавлено также описание библиотеки OpenCL
 
Rashid Umarov:
Добавлено также описание библиотеки OpenCL

Возможно ли для тестирования/оптимизации реализовать расчет стандартных  и пользовательских индикаторов с помощью OpenCL? Именно решение такой задачи популяризирует использование OpenCL в MT5.

 
Как через GUI частично закрыть позицию? В MT4 нажимая на "Закрыть позицию" выскавивало диалоговое окно, где можно было указать количество лотов на закрытие. В MT5 такого не нашел.
 

В Metaeditor открыл MQ4-файл и пробую через Save As сохранить его, как MQ5. Не выходит

 

 
fxsaber:

В Metaeditor открыл MQ4-файл и пробую через Save As сохранить его, как MQ5. Не выходит

 

а если к имени сохраняемого явно добавить расширение?
 
Artyom Trishkin:
а если к имени сохраняемого явно добавить расширение?
Спасибо, так баг обходится.
 

Посмотрел новую фишку MT4-истории - сыро (1513).

 

Запускаем кроссплатформенный скрипт

// MQL4&5-code

#property strict

#include <MT4Orders.mqh>

void OnStart()
{
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick) && (OrdersTotal() == 0) &&
      (OrderSend(_Symbol, OP_BUY, 1, Tick.ask, 0, 0, 0) > 0))
  {
    const double Lots[] = {0.6, 0.3, 0.1};
    
    for (int i = 0; i < ArraySize(Lots); i++)    
      if (OrderSelect(0, SELECT_BY_POS) && SymbolInfoTick(_Symbol, Tick))
        OrderClose(OrderTicket(), Lots[i], Tick.bid, 0);

    const int Total = OrdersHistoryTotal();
    
    for (int i = 0; i < Total; i++)
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
        OrderPrint();  
  }
}

Сначала на MT5-Hedge. Получаем такую симпатичную MT4-распечатку

#114769046 2017.01.27 19:57:25 balance 0.00  1 0 0 2017.01.27 19:57:11 0 0.00 0.00 50000.00 0
#114769087 2017.01.27 19:57:25 buy 0.60 EURUSD 1.06838 0.00000 0.00000 2017.01.27 19:57:25 1.06829 0.00 0.00 -5.40 0
#114769088 2017.01.27 19:57:25 buy 0.30 EURUSD 1.06838 0.00000 0.00000 2017.01.27 19:57:25 1.06829 0.00 0.00 -2.70 0
#114769089 2017.01.27 19:57:25 buy 0.10 EURUSD 1.06838 0.00000 0.00000 2017.01.27 19:57:26 1.06829 0.00 0.00 -0.90 0

и классический отчет

Ордера
Время открытияОрдерСимволТипОбъемЦенаS / LT / PВремяСостояниеКомментарий
2017.01.27 19:57:25131208025EURUSDbuy1.00 / 1.001.068382017.01.27 19:57:25filled
2017.01.27 19:57:25131208027EURUSDsell0.60 / 0.601.068292017.01.27 19:57:25filled
2017.01.27 19:57:25131208030EURUSDsell0.30 / 0.301.068292017.01.27 19:57:25filled
2017.01.27 19:57:26131208031EURUSDsell0.10 / 0.101.068292017.01.27 19:57:26filled
Сделки
ВремяСделкаСимволТипНаправлениеОбъемЦенаОрдерКомиссияСвопПрибыльБалансКомментарий
2017.01.27 19:57:11114769046balance0.000.0050 000.0050 000.00
2017.01.27 19:57:25114769085EURUSDbuyin1.001.068381312080250.000.000.0050 000.00
2017.01.27 19:57:25114769087EURUSDsellout0.601.068291312080270.000.00-5.4049 994.60
2017.01.27 19:57:25114769088EURUSDsellout0.301.068291312080300.000.00-2.7049 991.90
2017.01.27 19:57:26114769089EURUSDsellout0.101.068291312080310.000.00-0.9049 991.00

 

а теперь новая MT4-фишка в MT5 

 

Видно, что совсем не соответствует MT4-логике. Не работает, как дОлжно.

 

В качестве подтверждения, запускаем этот же скрипт на MT4.

Классический MT4-отчет

Closed Transactions:
TicketOpen TimeTypeSizeItemPriceS / LT / PClose TimePriceCommissionTaxesSwapProfit
1700392462017.01.27 20:00:41balanceDeposit50 000.00
1700392872017.01.27 20:00:57buy0.60eurusd1.068540.000000.000002017.01.27 20:00:571.068360.000.000.00-10.80
  to #170039289
1700392892017.01.27 20:00:57buy0.30eurusd1.068540.000000.000002017.01.27 20:00:581.068360.000.000.00-5.40
  to #170039290
1700392902017.01.27 20:00:57buy0.10eurusd1.068540.000000.000002017.01.27 20:00:581.068360.000.000.00-1.80
  from #170039289

И распечатка лога скипта

#170039246 2017.01.27 20:00:41 balance 0.01  0 0 0 2017.01.27 20:00:41 0 0.00 0.00 50000.00 Deposit 0
#170039287 2017.01.27 20:00:57 buy 0.60 EURUSD 1.06854 0.00000 0.00000 2017.01.27 20:00:57 1.06836 0.00 0.00 -10.80 to #170039289 0
#170039289 2017.01.27 20:00:57 buy 0.30 EURUSD 1.06854 0.00000 0.00000 2017.01.27 20:00:58 1.06836 0.00 0.00 -5.40 to #170039290 0
#170039290 2017.01.27 20:00:57 buy 0.10 EURUSD 1.06854 0.00000 0.00000 2017.01.27 20:00:58 1.06836 0.00 0.00 -1.80 from #170039289 0

Хорошо видно, что лог скрипта в MT4 и MT5 совпадает - кроссплатформенность пашет. Надо приводить в соответствие новую MT4-фишку.

 

Случайно обнаружился баг в MT4 - выделил желтым цветом.

 

ЗЫ Если логику скрипта написать под MT5 через СБ, то работать корректно скрипт не сможет. В общем, даже сложно сказать, как на MT5 написать такую простую MQL4-логику.

 
fxsaber:

Посмотрел новую фишку MT4-истории - сыро (1513).


Видно, что совсем не соответствует MT4-логике. Не работает, как дОлжно.


что конкретно не работает?

ткните пальцем где дОлжно

Причина обращения: