- У меня windows10, МТ4 от Альпари, советника пришлось разместить по адресу C:\Program Files (x86)\Alpari MT4\MQL4\Experts
Всю апи 4.4.14 разместил C:\Program Files (x86)\Alpari MT4\MQL4\Experts\StockSharp - в логе советника (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()".
Помогите, пожалуйста?
Comentarios (30)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Здравствуйте,
Скачайте, пожалуйста, ночную сборку S#.API.
Добрый день. Не знаю как лучше сюда или в новую тему.
Использую ночную сборку пример \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. Генератор лицензий не работает.
Предположу, что дело в том, что MT4 не имеет лога заявок.
ок. Я тоже так предположил и решил строить свечи: BuildCandlesMode =MarketDataBuildModes.Build, BuildCandlesFrom = MarketDataTypes.Trades
Так же работать должно? даже если ордер лог нету, как то же свечи построить можно?
Предположу, что через Level1. Тики так же отсутствуют в MT4.
Круто. Ошибки теперь нет, но правда и данных нет(.. Спасибо большое, что помогаете. А то ж инструкций нету, что как, тяжко..
И еще раз добрый день. Подскажите пожалуйста примером, как через коннектор МТ4 получить свечи.
Попробуйте наш пример SampleFIX. Инструкция по настройке доступна в документации по коннектору. Пример позволяет сделать запрос на получение свечей. Получение свечей у всех коннекторов делается одинаково, поэтому вы можете взять любой пример со свечами.
Ну любой пример явно не подойдет, т.к. лога заявок нету, тиков нету, свечек нету. SampleFIX у меня при попытке отобразить свечи, пишет ошибки приведу в файле
Сам пример универсален, но свечи выбираются в окне с инструментами. Там есть выпадающий ТФ список для выбора.
Да, я согласен с тем, что я это не заметил в начале. Но я выбрал инструмент, выбрал тайм фрэйм, и получил ошибку. (Если тут не удобно смотреть, можно посмотреть в предыдущем сообщении файл)
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.'.
Еще раз вопрос: Как отобразить свечи при работе через МТ4. Исторические свечи выгружаются, меня интересуют реал тайм. Строить свечи по level1 это бред. Или у меня что то криво настроено?
А в самом МТ есть 1м свечи для данного инструмента?
Да, у меня открыто второй график с этим инструментом с этим тайм фреймом. Или как когда то в квике, надо открыть график правильного таймфрейма и инструмента и к нему прикрепить эксперта?
Пришлите пожалуйста лог самого мкл части.
И да уточните пожалуйста. Свечи не рисуются для всех инструментов или только для одного?
Ну за все не рискну сказать, но крипто инструменты не рисуются, не рисуются #AA, фьюч какой то. Я Не нашел какой рисуется. НА всякий случай уточнение история рисуется. Проблемы с реал таймом.
По ошибке, которая получается от МТ4, видно, что нет исторических данных. Наверное, в этом причина.
По причине отсутствия исторических свечек, не строятся свечки реалтайм? Ок, ща запущу без погрузки истории и этой ошибки не будет. Или тут нюанс что из мт4 нельзя строить свечи, а только заказывать?
А это и есть тех.поддержка? Или есть что то еще?
Я сам разобрался: Если не запрашивать историю, то при попытке отобразить свечку выдается ошибка. А если прогрузить историю, то свечки отображаются и исторические и реал таймовые.
Тех поддержка пока не обслуживает коннектор, потому что он новый.
Можете как-то подробнее расписать, что именно вы делаете и как? Лучше в примере кодов, которые можно применить к 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 протокол.
Суть моего вопроса не в исторических свечках, а в свечках реал тайма. И Ваш пример сэмпэл фикс не рисует реал таймовые свечи, если не прогрузить историю в МТ4.
Тогда я вас не понял. Каким образом вы хотите получать реал тайм свечи, если историю не дает терминал? Вы хотите строить свечи из тиковых данных, начиная с момента подписки (без истории)?
Ну да с момента подписки. Строить из чего нибудь, что есть. Или свечки начинают строиться только если терминал шлет историю (но историю то мы в терминале загружаем только за определенный период, а после истории, он же свечки реалтаймовые делает)?
В общем это осталось не понятно. Но хорошо, хоть после прогрузки истории рисует, остановимся на этом (Но хорошо бы в инструкцию к МТ4 это внести, что свечи можно построить только полсе прогрузки какойнить истории по инструменту). А то я так понимаю, что все равно ни куда не придем с этим вопросом.
Теоретически, можно строить и из bid/ask, но мы проверим. Есть вероятность, что пока нет открыт график, не идут вообще никаких данные по валютной паре.
На этой неделе проверим тестирование, вам отпишусь по результатам.
Добрый день. Ну как успехи?
Да, протестировали буквально на днях. Ошибки нет, данные получаются тиковые в любом случае.
Какой у вас брокер? Воспроизводится ли ошибка на его демо?
Я пока только на демке и работаю. instaforex А какой у вас брокер, я не против сменить.
Вы про мт4?
обычные инструменты начинают прогрузку, только после прогрузки истории. крипта вообще не рисуется, т.к. не грузится история на демке, в бою не знаю..