Избранное трейдера Егор Коняхин
Если говорить образно. То, чтобы отправить сообщение на сервер, нам просто нужно сформировать нужную строку со всеми данными и отправить ее на биржу. Ну например:
8=FIX.4.4;9=78;35=A;49=FG;56=tgFhcfx901U05;34=1;52=20160212-11:42:51.812;98=0;108=3000;141=Y;10=047;
Если быть внимательным, то мы увидим, что кол-во символов в строке у нас 100, а в заголовке сообщения мы передаем, что 78 (9 = 78). По правилам протокола FIX, длину сообщения нужно считать без учета концовки и первых двух полей заголовка. А именно:
С длиной сообщения разобрались. Теперь про разделитель. Пока в моем скрине это ";". В документациях западных написано что это символ SOH. Чтобы однозначно ответить на этот вопрос, я запустил прилагаемого клиента биржи и сниффером стал перехватывать сообщения между клиентом и биржей. Кстати, программа ведет логи, и их общение выглядит так (зеленое — передача запроса на биржу, красное — ответ от биржи)://Получаем ip сервера
IPAddress ipAddr = IPAddress.Parse(server);
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, port);
//Создаем заголовк
HeaderMessage msHeader = new HeaderMessage
{
BeginString = «FIX.4.4»,
MsgType = «A», //Тип сообщения на установку сессии
SenderCompID = "",
TargetCompID = «FG»,
MsgSeqNum = 1
};
//Создаем сообщение на подключение onLogon
LogonMessage msLogon = new LogonMessage
{
EncryptMethod = 0,
HeartBtInt = 3000,
ResetSeqNumFlag = true
};//Вычисляем длину сообщения
msHeader.BodyLength = msHeader.GetHeaderSize() + msLogon.GetMessageSize();
//Создаем концовку сообщения
TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msLogon.ToString());//Формируем полное готовое сообщение
string fullMessage = msHeader.ToString() + msLogon.ToString() + msTrailer.ToString();
Console.WriteLine(«Сообщение для отправки {0}»,fullMessage);//Создаем сокет для подключения
sSender = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
//Подключаемся
sSender.Connect(ipEndPoint);
Console.WriteLine(«Сокет соединился с {0} », sSender.RemoteEndPoint.ToString());
byte[] msg = Encoding.UTF8.GetBytes(fullMessage);
//Отправляем сообщение
int bytesSent = sSender.Send(msg);
Console.WriteLine(«Отправил {0} байт», bytesSent.ToString());
//Получаем ответ от сервера
byte[] bytes = new byte[1024];
int bytesRec = 0;
bytesRec = sSender.Receive(bytes);
Console.WriteLine(«Ответ от сервера: {0}», Encoding.UTF8.GetString(bytes, 0, bytesRec));
Добрый день!
Отписывался раньше в ветках товарищей, обозревающих золото, но что-то все начали там шорт искать, кто-то уже слил 10-30% депозита и поэтому комментировать что-то там становится уже не приятно.
Я торгую всегда по тренду. Я не разделяю этой огромной любви ловить ножи, откаты и прочее. У меня есть свое, сформированное определение краткосрочного, среднесрочного и долгосрочного тренда и я ему слепо следую.
Золото я торгую среднесрочно и долгосрочно.
Темно-зеленая стрелка — вход в долгосрочную позицию по пробою.
Оранжевая стрелка — вход в среднесрочную позицию по пробою.
Вверху оранжевая линия — закрытие половины среднесрочной сделки. Это не по системе, это просто уровень, который как мне показалось, закончит рост вчерашнего дня. Так и случилось. Но это не значит что тут надо закрывать всю позу и не ни в коем случае не шортить!
Представляю вашему вниманию программу для вывода значения свечей и индикаторов из Квик в Эксель. Она позволит за несколько минут настроить экспорт, БЕЗ НАПИСАНИЯ КОДА И РЕДАКТИРОВАНИЯ СКРИПТОВ.
Программа позволит алгоритмизироваться огромному количеству людей.
И это статья/инструкция о том, как ей пользоваться.
План:
1) Как создать скрипт для Quik при помощи TableFromQuikToExcel;
2) Как запустить скрипт и вывести таблицу Quik;
3) Как импортировать данные свечей и индикаторов в Excel;
4) Заключение
1 Как создать скрипт для Quik при помощи TableFromQuikToExcel
Отключите «шум», который доносится с Уолл-стрит, и прислушайтесь к своему внутреннему голосу. Советы по покупке акций можно услышать повсюду — по телевидению, на встрече с друзьями, в спортзале и т.д. Да и сами вы можете найти акции, устойчивый рост которых кажется непоколебимым.
«Возьмите любую акцию, и найдется человек, который сможет придумать, почему ее стоит купить», — сказал Даг Куден, руководитель направления акций в инвестиционной компании Seneca Capital Management.
Чтобы акция начала двигаться, нужен какой-то катализатор. Это может быть новый продукт, смена руководства компании или завоевание лидерства на рынке. Нахождение горячего сектора может быть полезным, но не стоит рассчитывать на то, что все акции из этого сектора сразу же начнут расти. Помните, что компания из хорошей индустрии — не обязательно хорошая акция.
Новичка, пришедшего на рынок облигаций, охватывает страх: этот вид инвестирования имеет массу специфической терминологии, странные концепции и гораздо больше разговоров о математике и экономике, чем можно услышать в брокерской фирме, работающей с акциями.
Но не стоит впадать в отчаяние. Облигации — не такие загадочные, как может показаться на первый взгляд. Рассмотрим для начала 10 основных моментов, которые нужно знать об облигациях.