Кстати, возможно, многие не знают одной хорошей фишки редактора, сам недавно наткнулся случайно.
Если открытый в редакторе файл изменить внешней программой, например, редактором VS и записать его в нем, то он автоматически измениться и в редакторе МТ5! VS тоже такие внешние изменения обнаруживает, но по умолчанию переспрашивает, принять изменения или нет.
То есть можно редактировать проект одновремено в МТ5 и VS и он будет синхронизирован.
В редакторе МТ4 такая фишка тоже появилась в последнем декабрьском билде.
Там что остроты вопроса с редактором больше не существует (для меня по крайней мере).
Об этом знаю, как-то на форуме выложили синхронизацию Notepad++ >> MetaEditor, так вон ним и пользуюсь. То, что изменили внешне, действительно изменяется в MetaEditor, но компилировать нужно вручную, и когда происходят обновления, то MetaEditor переезжает на первую строку в начало кода, что очень неудобно.
Одним словом - всё совсем плохо, самая важная часть для написания кодов, и самая недоделанная. Я уже молчу о фолдинге, хотя-бы сделать простейшую подсветку.
Rashid, есть шанс хотя-бы к концу 2020г получить подсветку кода?
Rashid Umarov: Добавлено также описание библиотеки OpenCL
Возможно
ли для тестирования/оптимизации реализовать расчет стандартных и
пользовательских индикаторов с помощью OpenCL? Именно решение такой задачи популяризирует
использование OpenCL в MT5.
Как через GUI частично закрыть позицию? В MT4 нажимая на "Закрыть позицию" выскавивало диалоговое окно, где можно было указать количество лотов на закрытие. В MT5 такого не нашел.
for (int i = 0; i < ArraySize(Lots); i++) if (OrderSelect(0, SELECT_BY_POS) && SymbolInfoTick(_Symbol, Tick)) OrderClose(OrderTicket(), Lots[i], Tick.bid, 0);
constint Total = OrdersHistoryTotal();
for (int i = 0; i < Total; i++) if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) OrderPrint(); } }
Сначала на MT5-Hedge. Получаем такую симпатичную MT4-распечатку
Видно, что совсем не соответствует MT4-логике. Не работает, как дОлжно.
В качестве подтверждения, запускаем этот же скрипт на MT4.
Классический MT4-отчет
Closed Transactions:
Ticket
Open Time
Type
Size
Item
Price
S / L
T / P
Close Time
Price
Commission
Taxes
Swap
Profit
170039246
2017.01.27 20:00:41
balance
Deposit
50 000.00
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
0.00
-10.80
to #170039289
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
0.00
-5.40
to #170039290
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
0.00
-1.80
from #170039289
И распечатка лога скипта
#1700392462017.01.2720:00:41 balance 0.010002017.01.2720:00:4100.000.0050000.00 Deposit 0 #1700392872017.01.2720:00:57 buy 0.60 EURUSD 1.068540.000000.000002017.01.2720:00:571.068360.000.00 -10.80 to #1700392890 #1700392892017.01.2720:00:57 buy 0.30 EURUSD 1.068540.000000.000002017.01.2720:00:581.068360.000.00 -5.40 to #1700392900 #1700392902017.01.2720:00:57 buy 0.10 EURUSD 1.068540.000000.000002017.01.2720:00:581.068360.000.00 -1.80 from #1700392890
Хорошо видно, что лог скрипта в MT4 и MT5 совпадает - кроссплатформенность пашет. Надо приводить в соответствие новую MT4-фишку.
Случайно обнаружился баг в MT4 - выделил желтым цветом.
ЗЫ Если логику скрипта написать под MT5 через СБ, то работать корректно скрипт не сможет. В общем, даже сложно сказать, как на MT5 написать такую простую MQL4-логику.
Кстати, возможно, многие не знают одной хорошей фишки редактора, сам недавно наткнулся случайно.
Если открытый в редакторе файл изменить внешней программой, например, редактором VS и записать его в нем, то он автоматически измениться и в редакторе МТ5! VS тоже такие внешние изменения обнаруживает, но по умолчанию переспрашивает, принять изменения или нет.
То есть можно редактировать проект одновремено в МТ5 и VS и он будет синхронизирован.
В редакторе МТ4 такая фишка тоже появилась в последнем декабрьском билде.
Там что остроты вопроса с редактором больше не существует (для меня по крайней мере).
Об этом знаю, как-то на форуме выложили синхронизацию Notepad++ >> MetaEditor, так вон ним и пользуюсь. То, что изменили внешне, действительно изменяется в MetaEditor, но компилировать нужно вручную, и когда происходят обновления, то MetaEditor переезжает на первую строку в начало кода, что очень неудобно.
Одним словом - всё совсем плохо, самая важная часть для написания кодов, и самая недоделанная. Я уже молчу о фолдинге, хотя-бы сделать простейшую подсветку.
Rashid, есть шанс хотя-бы к концу 2020г получить подсветку кода?
Rashid, есть шанс хотя-бы к концу 2020г получить подсветку кода?
Добавлено также описание библиотеки OpenCL
Возможно ли для тестирования/оптимизации реализовать расчет стандартных и пользовательских индикаторов с помощью OpenCL? Именно решение такой задачи популяризирует использование OpenCL в MT5.
В Metaeditor открыл MQ4-файл и пробую через Save As сохранить его, как MQ5. Не выходит
В Metaeditor открыл MQ4-файл и пробую через Save As сохранить его, как MQ5. Не выходит
а если к имени сохраняемого явно добавить расширение?
Посмотрел новую фишку MT4-истории - сыро (1513).
Запускаем кроссплатформенный скрипт
#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-распечатку
#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
и классический отчет
а теперь новая MT4-фишка в MT5
Видно, что совсем не соответствует MT4-логике. Не работает, как дОлжно.
В качестве подтверждения, запускаем этот же скрипт на MT4.
Классический MT4-отчет
И распечатка лога скипта
#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-логику.
Посмотрел новую фишку MT4-истории - сыро (1513).
Видно, что совсем не соответствует MT4-логике. Не работает, как дОлжно.
что конкретно не работает?
ткните пальцем где дОлжно