← Назад

Проблема с коннектором МТ4

  1. У меня windows10, МТ4 от Альпари, советника пришлось разместить по адресу C:\Program Files (x86)\Alpari MT4\MQL4\Experts
    Всю апи 4.4.14 разместил C:\Program Files (x86)\Alpari MT4\MQL4\Experts\StockSharp
  2. в логе советника (C:\Program Files (x86)\Alpari MT4\MQL4\Experts\Data\Log\2018_11_20\MqlServer.txt) ошибка: 21:39:33.111| |MqlServer |StockSharp.MT4 v4.4.14.0 21:39:34.385| |MqlServer |MQL.START 21:39:34.386| |MqlServer |Commander started 21:39:34.389| |MqlServer |=> Commander.Parser 21:39:34.456|Error |MqlServer |System.MissingMethodException: Метод не найден: "StockSharp.Algo.IRemoteAuthorization StockSharp.Fix.FixServer.get_Authorization()". в #=zPTGTJ402waqzfDDqXX3FUxQ=.#=zZvuNQT0=(String #=zPu9HbRQ=, String #=z4ig2G_4=) в StockSharp.MT4.Exports.#=zYeDVzeib0hci(InitParams #=zc6QE4ng=) в StockSharp.MT4.Exports.StartConnector(InitParams* args, Char* ptr) 21:39:34.457|Error |MqlServer |INIT ERROR: Метод не найден: "StockSharp.Algo.IRemoteAuthorization StockSharp.Fix.FixServer.get_Authorization()".

Помогите, пожалуйста?

Комментарии (30)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

Здравствуйте,

Скачайте, пожалуйста, ночную сборку S#.API.

ghost-mo
ghost-mo
ghost-mo Автор

Добрый день. Не знаю как лучше сюда или в новую тему.

Использую ночную сборку пример \SampleFix (и свой вариант) и MT_4.4.17.zip, и windows10, МТ4 от Альпари.

при попытке отобразить ордерлог (или в своем варианте построить свечки выдается ошибка (загрузка истории работает)): 2019/04/08 18:44:18.842|Error |BasketMessageAdapter|System.InvalidOperationException: Не найден подходящий адаптер для MarketData,T(L)=2019/04/08 18:44:18.781,Sec=S#:EURRUB@FX RUB, Native:,Type:,Name=EURRUB,Price=0.001,Vol=0.01,Dec=3,Cur=EUR,Sec=S#:EURRUB@FX RUB, Native:,Type:,Type=OrderLog,IsSubscribe=True,Arg=,TransId=67437060,OrigId=0,SmallTF=True. в StockSharp.Algo.BasketMessageAdapter.GetSubscriptionAdapters(MarketDataMessage mdMsg) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Algo\BasketMessageAdapter.cs:строка 735 в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Algo\BasketMessageAdapter.cs:строка 799 в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Algo\BasketMessageAdapter.cs:строка 505 в StockSharp.Messages.MessageAdapter.SendInMessage(Message message) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Messages\MessageAdapter.cs:строка 394 2019/04/08 18:44:18.828|Error |FixTrader |Инструмент EURRUB@FX RUB не может подписаться на OrderLog. Ошибка'Не найден подходящий адаптер для MarketData,T(L)=2019/04/08 18:44:18.781,Sec=S#:EURRUB@FX RUB, Native:,Type:,Name=EURRUB,Price=0.001,Vol=0.01,Dec=3,Cur=EUR,Sec=S#:EURRUB@FX RUB, Native:,Type:,Type=OrderLog,IsSubscribe=True,Arg=,TransId=67437060,OrigId=0,SmallTF=True.'.

P.S. Генератор лицензий не работает.

Mikhail Sukhov
Mikhail Sukhov

Предположу, что дело в том, что MT4 не имеет лога заявок.

ghost-mo
ghost-mo
ghost-mo Автор

Mikhail Sukhov: Предположу, что дело в том, что MT4 не имеет лога заявок.

ок. Я тоже так предположил и решил строить свечи: BuildCandlesMode =MarketDataBuildModes.Build, BuildCandlesFrom = MarketDataTypes.Trades

Так же работать должно? даже если ордер лог нету, как то же свечи построить можно?

  • исторические свечи грузятся.
Mikhail Sukhov
Mikhail Sukhov

ghost-mo:

Mikhail Sukhov: Предположу, что дело в том, что MT4 не имеет лога заявок.

ок. Я тоже так предположил и решил строить свечи: BuildCandlesMode =MarketDataBuildModes.Build, BuildCandlesFrom = MarketDataTypes.Trades

Так же работать должно? даже если ордер лог нету, как то же свечи построить можно?

  • исторические свечи грузятся.

Предположу, что через Level1. Тики так же отсутствуют в MT4.

ghost-mo
ghost-mo Автор

Круто. Ошибки теперь нет, но правда и данных нет(.. Спасибо большое, что помогаете. А то ж инструкций нету, что как, тяжко..

ghost-mo
ghost-mo Автор

И еще раз добрый день. Подскажите пожалуйста примером, как через коннектор МТ4 получить свечи.

Mikhail Sukhov
Mikhail Sukhov

Попробуйте наш пример SampleFIX. Инструкция по настройке доступна в документации по коннектору. Пример позволяет сделать запрос на получение свечей. Получение свечей у всех коннекторов делается одинаково, поэтому вы можете взять любой пример со свечами.

ghost-mo
ghost-mo Автор

Mikhail Sukhov: Попробуйте наш пример SampleFIX. Инструкция по настройке доступна в документации по коннектору. Пример позволяет сделать запрос на получение свечей. Получение свечей у всех коннекторов делается одинаково, поэтому вы можете взять любой пример со свечами.

Ну любой пример явно не подойдет, т.к. лога заявок нету, тиков нету, свечек нету. SampleFIX у меня при попытке отобразить свечи, пишет ошибки приведу в файле

Mikhail Sukhov
Mikhail Sukhov

Сам пример универсален, но свечи выбираются в окне с инструментами. Там есть выпадающий ТФ список для выбора.

ghost-mo
ghost-mo Автор

Mikhail Sukhov: Сам пример универсален, но свечи выбираются в окне с инструментами. Там есть выпадающий ТФ список для выбора.

Да, я согласен с тем, что я это не заметил в начале. Но я выбрал инструмент, выбрал тайм фрэйм, и получил ошибку. (Если тут не удобно смотреть, можно посмотреть в предыдущем сообщении файл)

2019/04/11 00:20:50.879| |FIX |Origin tf: 00:01:00 2019/04/11 00:20:50.971| |FIX |Build tf: Trades->00:01:00 2019/04/11 00:20:50.991| |BasketMessageAdapter|Не найден подходящий адаптер для MarketData,T(L)=2019/04/11 00:20:50.982,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Name=#LITECOIN,Price=0.01,Vol=0.01,Dec=2,Cur=USD,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=00:01:00,TransId=1215873,OrigId=0,From=04/04/2019 01:40:50 +03:00,SmallTF=True. 2019/04/11 00:20:51.115|Error |BasketMessageAdapter|System.InvalidOperationException: Не найден подходящий адаптер для MarketData,T(L)=2019/04/11 00:20:50.982,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Name=#LITECOIN,Price=0.01,Vol=0.01,Dec=2,Cur=USD,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=00:01:00,TransId=1215873,OrigId=0,From=04/04/2019 01:40:50 +03:00,SmallTF=True. в StockSharp.Algo.BasketMessageAdapter.GetSubscriptionAdapters(MarketDataMessage mdMsg) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Algo\BasketMessageAdapter.cs:строка 735 в StockSharp.Algo.BasketMessageAdapter.ProcessMarketDataRequest(MarketDataMessage mdMsg) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Algo\BasketMessageAdapter.cs:строка 799 в StockSharp.Algo.BasketMessageAdapter.OnSendInMessage(Message message) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Algo\BasketMessageAdapter.cs:строка 505 в StockSharp.Messages.MessageAdapter.SendInMessage(Message message) в E:\Users\Ghost-mo\Desktop\проджекты\Сергей\StockSharp-master\Messages\MessageAdapter.cs:строка 394 2019/04/11 00:20:51.114|Error |FixTrader |Подписка '#LITECOIN@CRYPTOCURRENCY' на CandleTimeFrame неожоданное закончилась с ошибкой 'Не найден подходящий адаптер для MarketData,T(L)=2019/04/11 00:20:50.982,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Name=#LITECOIN,Price=0.01,Vol=0.01,Dec=2,Cur=USD,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=00:01:00,TransId=1215873,OrigId=0,From=04/04/2019 01:40:50 +03:00,SmallTF=True.'.

ghost-mo
ghost-mo Автор

Еще раз вопрос: Как отобразить свечи при работе через МТ4. Исторические свечи выгружаются, меня интересуют реал тайм. Строить свечи по level1 это бред. Или у меня что то криво настроено?

Mikhail Sukhov
Mikhail Sukhov

А в самом МТ есть 1м свечи для данного инструмента?

ghost-mo
ghost-mo Автор

Mikhail Sukhov: А в самом МТ есть 1м свечи для данного инструмента?

Да, у меня открыто второй график с этим инструментом с этим тайм фреймом. Или как когда то в квике, надо открыть график правильного таймфрейма и инструмента и к нему прикрепить эксперта?

Mikhail Sukhov
Mikhail Sukhov

Пришлите пожалуйста лог самого мкл части.

Mikhail Sukhov
Mikhail Sukhov

И да уточните пожалуйста. Свечи не рисуются для всех инструментов или только для одного?

ghost-mo
ghost-mo Автор

Mikhail Sukhov: И да уточните пожалуйста. Свечи не рисуются для всех инструментов или только для одного?

Ну за все не рискну сказать, но крипто инструменты не рисуются, не рисуются #AA, фьюч какой то. Я Не нашел какой рисуется. НА всякий случай уточнение история рисуется. Проблемы с реал таймом.

Mikhail Sukhov
Mikhail Sukhov

По ошибке, которая получается от МТ4, видно, что нет исторических данных. Наверное, в этом причина.

ghost-mo
ghost-mo Автор

Mikhail Sukhov: По ошибке, которая получается от МТ4, видно, что нет исторических данных. Наверное, в этом причина.

По причине отсутствия исторических свечек, не строятся свечки реалтайм? Ок, ща запущу без погрузки истории и этой ошибки не будет. Или тут нюанс что из мт4 нельзя строить свечи, а только заказывать?

ghost-mo
ghost-mo Автор

Mikhail Sukhov: По ошибке, которая получается от МТ4, видно, что нет исторических данных. Наверное, в этом причина.

А это и есть тех.поддержка? Или есть что то еще?

Я сам разобрался: Если не запрашивать историю, то при попытке отобразить свечку выдается ошибка. А если прогрузить историю, то свечки отображаются и исторические и реал таймовые.

  1. об этом ни где не говорится.
  2. это не совсем правильно
  3. можно это как то обойти?
Mikhail Sukhov
Mikhail Sukhov

ghost-mo:

Mikhail Sukhov: По ошибке, которая получается от МТ4, видно, что нет исторических данных. Наверное, в этом причина.

А это и есть тех.поддержка? Или есть что то еще?

Я сам разобрался: Если не запрашивать историю, то при попытке отобразить свечку выдается ошибка. А если прогрузить историю, то свечки отображаются и исторические и реал таймовые.

  1. об этом ни где не говорится.
  2. это не совсем правильно
  3. можно это как то обойти?

Тех поддержка пока не обслуживает коннектор, потому что он новый.

Можете как-то подробнее расписать, что именно вы делаете и как? Лучше в примере кодов, которые можно применить к SampleFIX.

ghost-mo
ghost-mo Автор

Mikhail Sukhov: Тех поддержка пока не обслуживает коннектор, потому что он новый.

Можете как-то подробнее расписать, что именно вы делаете и как? Лучше в примере кодов, которые можно применить к SampleFIX.

Неожиданный поворот. Об этом хорошо бы писать, хоть где то. А если купить крипто коннектор, то там такая же история с поддержкой?

Конечно. Берем SampleFIX, и например мт4 от Альпари с коннектором. Подключаемся, открываем окно инструментов, выбираем инструмент, выбираем тайм фрэйм, нажимаем кнопку свечи получаем ошибку: |BasketMessageAdapter|Не найден подходящий адаптер для MarketData,T(L)=2019/04/11 00:20:50.982,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Name=#LITECOIN,Price=0.01,Vol=0.01,Dec=2,Cur=USD,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=00:01:00,TransId=1215873,OrigId=0,From=04/04/2019 01:40:50 +03:00,SmallTF=True. Закрываем окно графика. Потом идём в МТ4, загружаем историю по этому инструменту, снова нажимаем свечи, и о чудо после прогрузки истории, начинают строиться и реалтаймовые свечи.

Mikhail Sukhov
Mikhail Sukhov

ghost-mo:

Mikhail Sukhov: Тех поддержка пока не обслуживает коннектор, потому что он новый.

Можете как-то подробнее расписать, что именно вы делаете и как? Лучше в примере кодов, которые можно применить к SampleFIX.

Неожиданный поворот. Об этом хорошо бы писать, хоть где то. А если купить крипто коннектор, то там такая же история с поддержкой?

Конечно. Берем SampleFIX, и например мт4 от Альпари с коннектором. Подключаемся, открываем окно инструментов, выбираем инструмент, выбираем тайм фрэйм, нажимаем кнопку свечи получаем ошибку: |BasketMessageAdapter|Не найден подходящий адаптер для MarketData,T(L)=2019/04/11 00:20:50.982,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Name=#LITECOIN,Price=0.01,Vol=0.01,Dec=2,Cur=USD,Sec=S#:#LITECOIN@CRYPTOCURRENCY, Native:,Type:,Type=CandleTimeFrame,IsSubscribe=True,Arg=00:01:00,TransId=1215873,OrigId=0,From=04/04/2019 01:40:50 +03:00,SmallTF=True. Закрываем окно графика. Потом идём в МТ4, загружаем историю по этому инструменту, снова нажимаем свечи, и о чудо после прогрузки истории, начинают строиться и реалтаймовые свечи.

МТ коннектор не является коннектором к крипто бирже. Все крипто коннекторы указаны отдельно, и это написано у нас на сайте https://stocksharp.ru/products/pricing/

Ответ был дан здесь https://stocksharp.ru/posts/m/47214/ Возможно, он не понятен, я распишу. Ошибку отсуствия данных генерирует сам МТ. Он не дает данные по разным причинам. Одна из них как у вас - когда свечи не прогрузились в сам терминал. Коннектор подключается к терминалу, и работает через MQL. Данный язык достаточно ограничен в своих возможностях, поэтому все ограничения данного языка являются ограничениями коннектора. Вы не сможете получать данные, пока они не станут доступны в терминале для скриптов. Это ограничение невозможно обойти, так как это недостаток их платформы в целом. Как вариант, если вам нужна история торгов непосредственно с сервера брокера, то можно подключится попробовать напрямую к брокеру, минуя инфрастуктуру МТ. Спросите, предоставляет ли ваш брокер такую возможность. Обычно, это работает через FIX протокол.

ghost-mo
ghost-mo Автор

Mikhail Sukhov: ....

Суть моего вопроса не в исторических свечках, а в свечках реал тайма. И Ваш пример сэмпэл фикс не рисует реал таймовые свечи, если не прогрузить историю в МТ4.

Mikhail Sukhov
Mikhail Sukhov

ghost-mo:

Mikhail Sukhov: ....

Суть моего вопроса не в исторических свечках, а в свечках реал тайма. И Ваш пример сэмпэл фикс не рисует реал таймовые свечи, если не прогрузить историю в МТ4.

Тогда я вас не понял. Каким образом вы хотите получать реал тайм свечи, если историю не дает терминал? Вы хотите строить свечи из тиковых данных, начиная с момента подписки (без истории)?

ghost-mo
ghost-mo Автор

Mikhail Sukhov:

ghost-mo:

Тогда я вас не понял. Каким образом вы хотите получать реал тайм свечи, если историю не дает терминал? Вы хотите строить свечи из тиковых данных, начиная с момента подписки (без истории)?

Ну да с момента подписки. Строить из чего нибудь, что есть. Или свечки начинают строиться только если терминал шлет историю (но историю то мы в терминале загружаем только за определенный период, а после истории, он же свечки реалтаймовые делает)?

В общем это осталось не понятно. Но хорошо, хоть после прогрузки истории рисует, остановимся на этом (Но хорошо бы в инструкцию к МТ4 это внести, что свечи можно построить только полсе прогрузки какойнить истории по инструменту). А то я так понимаю, что все равно ни куда не придем с этим вопросом.

Mikhail Sukhov
Mikhail Sukhov

ghost-mo: Или свечки начинают строиться только если терминал шлет историю (но историю то мы в терминале загружаем только за определенный период, а после истории, он же свечки реалтаймовые делает)?

Теоретически, можно строить и из bid/ask, но мы проверим. Есть вероятность, что пока нет открыт график, не идут вообще никаких данные по валютной паре.

ghost-mo: В общем это осталось не понятно. Но хорошо, хоть после прогрузки истории рисует, остановимся на этом (Но хорошо бы в инструкцию к МТ4 это внести, что свечи можно построить только полсе прогрузки какойнить истории по инструменту). А то я так понимаю, что все равно ни куда не придем с этим вопросом.

На этой неделе проверим тестирование, вам отпишусь по результатам.

ghost-mo
ghost-mo Автор

Mikhail Sukhov: На этой неделе проверим тестирование, вам отпишусь по результатам.

Добрый день. Ну как успехи?

Mikhail Sukhov
Mikhail Sukhov

Да, протестировали буквально на днях. Ошибки нет, данные получаются тиковые в любом случае.

Какой у вас брокер? Воспроизводится ли ошибка на его демо?

ghost-mo
ghost-mo Автор

Mikhail Sukhov: Да, протестировали буквально на днях. Ошибки нет, данные получаются тиковые в любом случае.

Какой у вас брокер? Воспроизводится ли ошибка на его демо?

Я пока только на демке и работаю. instaforex А какой у вас брокер, я не против сменить.

Вы про мт4?

обычные инструменты начинают прогрузку, только после прогрузки истории. крипта вообще не рисуется, т.к. не грузится история на демке, в бою не знаю..