Пользовательский инструмент, я создавал скриптом.
//+------------------------------------------------------------------+ //| t_create.mq5 | //| test | //| | //+------------------------------------------------------------------+ #property copyright "test" #property link "" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { if (CustomSymbolCreate( "USDCHF_", "Custom")) Print("Ok SymCreat "); else Print("SymCreat ERR", GetLastError()); if (SymbolSelect( "USDCHF_", true)) Print("OK SymSel"); else Print("SymSel ERR"); /* SYMBOL_DIGITS SYMBOL_SPREAD_FLOAT Признак плавающего спреда SYMBOL_TRADE_MODE Тип исполнения ордеров SYMBOL_TRADE_EXEMODE Режим заключения сделок SYMBOL_SWAP_MODE Модель расчета свопа SYMBOL_SWAP_ROLLOVER3DAYS День недели для начисления тройного свопа */ } //+------------------------------------------------------------------+
А эксперт, который транслирует тики вот-такой.
//+------------------------------------------------------------------+ //| test_cp.mq5 | //| 0 | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "0" #property link "https://www.mql5.com" #property version "1.00" MqlRates rate[1]={0}; MqlTick tick[1]={0}; //datetime x=Time[0]; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- create timer // EventSetTimer(60); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer // EventKillTimer(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { long t; if(SymbolInfoTick("USDCHF",tick[0])) { //-------------- *100,000 ----------- tick[0].last = tick[0].last*100; tick[0].ask = tick[0].ask *100; tick[0].bid = tick[0].bid *100; tick[0].time = tick[0].time + 7200; tick[0].time_msc = tick[0].time * 1000; //----------------------------------- Print(tick[0].time,": Bid = ",tick[0].bid); t=tick[0].time; Print("UNIX_time ",t); tick[0].flags=0; if (CustomTicksAdd("USDCHF_", tick)) Print("ok"); else Print("CustomTicksAdd(), err=",GetLastError()); } else Print("SymbolInfoTick(), err=",GetLastError()); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+
МММ, возможно я поторопился создавать тему...
сейчас, как все компьютерщики "вышел - зашел" (с) и все стало как надо... буду экспериментировать дальше, все вопросы не снялись, какие-то глюки все-же присутствуют...

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Я эксперементирую с пользовательским инструментом, а именно с функцией CustomTicksAdd().
Столкнулся с не корректным отображением цены в графике, в окне "обзор рынка", цена отображается нормально...
Это я что-то не то делаю, или это баг? (MT5 - билд 1755, с сайта www.metaquotes.net)