Ошибки, баги, вопросы - страница 2125

 
Скажите, пожалуйста, как избавиться от всплывающего алерта "End of Test Time"?
 

Подскажите, почему возвращается максимальное количество баров, а не количество на запрашиваемом диапазоне дат?

input datetime time=D'2017.02.05 00:00';
///////////////////////////////////////////////////////

datetime Time_[];
ArraySetAsSeries(Time_,true);
CopyTime(_Symbol,_Period,0,1,Time_);
   
bar=Bars(_Symbol,_Period,time,Time_[0]); 

Сейчас попробовал копировать два элемента массива Time_. И попробовать вызвать:

bar=Bars(_Symbol,_Period,Time_[1],Time_[0]); 

то возвращается два бара, так как нужно. Значит переменная time, не корректна. И получается, что time равняется каким-то образом нулем, а bars из-за этого все бары возвращает,

как в первом варианте справки.

 
Здравствуйте,  такой вопрос - можно ли в MT5 создать свой инструмент, экспортируя данные из API некой другой биржи?
[Удален]  

mt5 грузит процессор.

открыто много фин инструментов, на каждом - одинаковые советник и индюк.

я предложил сервисдеску навешивать один советник или индюк на весь терминал.

еще я предложил добавить режим простоя - мол, пока я работаю с одним фин инструментом, пусть другие умирают. плюс, это экономило бы RAM. постоянно работает вентилятор/кулер - это разряжает аккумулятор.

сервисдеск пока что не хочет. неужели это не актуально? могли бы совместно надавить.

спасибо 


P.S. я собираюсь заказать более совершенный процессор из Китая.


 
arraga:
Здравствуйте,  такой вопрос - можно ли в MT5 создать свой инструмент, экспортируя данные из API некой другой биржи?

https://www.mql5.com/ru/articles/4160

Как торговать на внешней бирже криптовалют через MetaTrader 5
Как торговать на внешней бирже криптовалют через MetaTrader 5
  • 2017.11.24
  • o_o
  • www.mql5.com
Не так давно разработчики языка MQL5 представили его обновленный функционал, в котором появилась возможность создания пользовательских символов и графиков. Широкая трейдерская общественность еще не успела оценить мощь этого нововведения, но даже легкий и ненавязчивый брейншторм показывает, какие огромные возможности скрывают в себе кастомные...
 

Открываю руками BUY-позицию на двух торговых демо-серверах


RoboForex-MetaTrader 5

2018.02.13 00:02:08.424 '8520459': market buy 1.00 GBPUSD
2018.02.13 00:02:10.101 '8520459': accepted market buy 1.00 GBPUSD
2018.02.13 00:02:10.101 '8520459': deal #90389019 buy 1.00 GBPUSD at 1.38387 done (based on order #107426544)
2018.02.13 00:02:10.101 '8520459': order #107426544 buy 1.00 / 1.00 GBPUSD at 1.38387 done in 1683.949 ms


FXOpen-MT5

2018.02.13 00:00:25.780 '18000903': market buy 1.00 GBPUSD
2018.02.13 00:00:25.912 '18000903': accepted market buy 1.00 GBPUSD
2018.02.13 00:00:25.922 '18000903': market buy 1.00 GBPUSD placed for execution
2018.02.13 00:00:25.942 '18000903': order #896454 buy 1.00 / 1.00 GBPUSD at market done in 154.252 ms
2018.02.13 00:00:25.942 '18000903': deal #80559 buy 1.00 GBPUSD at 1.38387 done (based on order #896454)

Строки одного цвета обозначают одно и то же. Однако, хорошо видно, что они идут в разных очередностях. У Робо сообщение о выполнении приказа приходит после выполнения сделки. А у опенов - ДО! По этой причине OrderSend возвращает удачу, но сделки еще нет. Т.е. получаем несинхронизированность OrderSend с историей, что есть баг. В чем причина?

 
На MQ-Demo скрипт работает при любых значениях эквити - включая отрицательные
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Ask (SymbolInfoDouble(Symb, SYMBOL_ASK))

void OnStart()
{
  const string Symb = "BTCJPY";

  if (OrderSelect(OrderSend(Symb, OP_BUY, 1, Ask, 100, 0, 0), SELECT_BY_TICKET))
    OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 100);
}
[Удален]  

У одного меня страницы сайта загружаются ну очень долго?

Затем появляется такое сообщение


 
Nikolay Gaylis:

У одного меня страницы сайта загружаются ну очень долго?

Затем появляется такое сообщение


Такая же проблема...

 
Artsem:

mt5 грузит процессор.

открыто много фин инструментов, на каждом - одинаковые советник и индюк.

Не нужно чтоб ЕА работал на каждй тик.

Можете вставить в самом начале експерта строку вроде :

if ( LastTimeWork+NoWorkSeconds>TimeCurrent() ) return; //

Так ЕА будет работать раз за время NoWorkSeconds