Websocket как сделать? - страница 21

 
Fedor Arkhipov:

Так что, не получится запрашивать старые свечи через websocket?

в советнике ( в прикладной программе) отдельно открывают WebSocket и отдельно через Rest спрашивают требуемую историю. И с момента когда они синхронизовались (нет дырок и прочего) начинают торговлю, 

но сейчас не про то - сейчас конкретно про как жить с hibou :-) 

 
Maxim Kuznetsov:

в советнике ( в прикладной программе) отдельно открывают WebSocket и отдельно через Rest спрашивают требуемую историю. И с момента когда они синхронизовались (нет дырок и прочего) начинают торговлю, 

но сейчас не про то - сейчас конкретно про как жить с hibou :-) 

Макс, ты можешь нам время немного уделить? Ты имеешь опыт создания кастомных символов в МТ4?

То есть просто получить рыночную информацию само по себе это не имеет смысла, нам нужно бы ее сразу записать и строить график.

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

Макс, ты можешь нам время немного уделить? Ты имеешь опыт создания кастомных символов в МТ4?

То есть просто получить рыночную информацию само по себе это не имеет смысла, нам нужно бы ее сразу записать и строить график.

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

Я могу построить завтра, с этим думаю проблем не будет.

Самое главное получить свечи

 
Алексей Барбашин:

Макс, ты можешь нам время немного уделить? Ты имеешь опыт создания кастомных символов в МТ4?

То есть просто получить рыночную информацию само по себе это не имеет смысла, нам нужно бы ее сразу записать и строить график.

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

пишите в CSV пригодном к импорту и не парьтесь. Вот когда заработает, тогда можно чё-то думать;

PS через полгода-год-два 4-ку окончательно укайдохают.

PPS можно писать сразу с подобающими поклонами и в нужных форматах, НО это просто реально рано - ещё нифига не заработало

 
Алексей Барбашин:

Макс, ты можешь нам время немного уделить? Ты имеешь опыт создания кастомных символов в МТ4?

То есть просто получить рыночную информацию само по себе это не имеет смысла, нам нужно бы ее сразу записать и строить график.

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

Федор, что я предлагаю..

У нас две точки входа в программу: класс Program (метод Main)- для отладки в режиме консольного приложения, и класс ConnectorMQL, в котором находятся и будут находиться методы для связи mql с шарпом.

Я предлагаю создать отдельный класс, в котором будут именно те методы, которые нам потребуются, и которые мы сможем отладить в консольном режиме, вызывая методы этого класса, а затем эти же методы мы сможем просто перенаправить в класс ConnectorMQL.

Какие конкретно методы могут потребоваться нам?

Connected() - при инициализации, с передачей имени сервера

Disconnected() - при деинициализации советника

SetSymbol() - для установки нужного символа

GetTicks() - для выборки очередного тика

ReqHistory() - Для запроса истории котировок

GetHistory() - для получения истории котировок, так как при запросе ничего не вернется, сокет даст ответ асинхронно.

 
Maxim Kuznetsov:

пишите в CSV пригодном к импорту и не парьтесь. Вот когда заработает, тогда можно чё-то думать;

PS через полгода-год-два 4-ку окончательно укайдохают.

PPS можно писать сразу с подобающими поклонами и в нужных форматах, НО это просто реально рано - ещё нифига не заработало

Я думал сразу записывать в файл котировок, разве это невозможно? Помнится fxsaber целую библиотеку кастомных символов публиковал.

На начальном этапе мы можем вообще записать котировки в базу данных.
 
Алексей Барбашин:

Я думал сразу записывать в файл котировок, разве это невозможно? Помнится fxsaber целую библиотеку кастомных символов публиковал.

лучше - проще. А то потом в коде C#  без бутылки не разберешься
 
Fedor Arkhipov:
лучше - проще. А то потом в коде C#  без бутылки не разберешься

Федор, ну вот ты немного пописал на c#, разве чем-то это отличается от того же mql? Какие незнакомые слова ты увидел в редакторе VS?

А ты в курсе что этот редактор позволяет и тексты mql редактировать? :)

 
Алексей Барбашин:

Федор, ну вот ты немного пописал на c#, разве чем-то это отличается от того же mql? Какие незнакомые слова ты увидел в редакторе VS?

А ты в курсе что этот редактор позволяет и тексты mql редактировать? :)

да, некоторые непонятки есть.

Я уже прочитал, что он и другие языки поддерживает ))

 
Fedor Arkhipov:

да, некоторые непонятки есть.

Я уже прочитал, что он и другие языки поддерживает ))

Представь что ты пишешь программу на mql не в одном файле, а в разных, подключая их в качестве include (позаимствовано из с++) . То есть если ты программу пишешь на классах, то удобнее каждый класс писать в своем файле, а все это дело объединять через include.

И все эти файлы ты будешь видеть в навигаторе MetaEditor

Вот два навигатора, которые выполняют одну и ту же функцию.

Ладно, все это лирика.

Для закрепления материала пройдем с самого начала. Создаем новый проект (Консольное приложение), назовем его BinaryTicks

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