Избранное трейдера Александр Дорош
Обзор от пользователя.
Вышла новая версии риск-менеджера Acceleration 3.0 для QUIK [скачать демо] разработана на LUA, добавлен модуль алгоритмической торговли (МТС), в базовой версии 10 индикаторов подключены к более 20 вариантам выбора стратегий с открытым кодом, при небольших навыках знаний в LUA можно редактировать, изменять стратегии на основе имеющихся, создавать свои стратегии МТС с интерфейсом настроек, инструкция прилагается. Невысока стоимость программы, позволит, не затрачивая больших средств, поэкспериментировать в разработке стратегий алгоритмической торговли.
В программе есть режим имитации торговли, позволяет потренироваться в ручной торговле, а также протестировать стратегию МТС, не рискуя денежными средствами на реальном счёте.
Если говорить образно. То, чтобы отправить сообщение на сервер, нам просто нужно сформировать нужную строку со всеми данными и отправить ее на биржу. Ну например:
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));
А.А.: Легкий и большой заработок. Безграничная свобода и пьянящие перспективы. Жизнь в стиле героя фильма «Волк с Уолл Стрит».
Именно такие ассоциации вызывает у обывателей словосочетание «торговля на бирже». Мало кто задумывается, что перечисленные ассоциации – лишь одна сторона медали.
Обратная – работа с огромным массивом динамичной информации, постоянная аналитика и учет сопутствующих торговле последствий.
ML: Какие нормативные акты регулируют деятельность биржевых трейдеров по купле-продаже валюты на валютном рынке Московской биржи?
А.А.: Операции на валютных рынках, в частности, куплю-продажу валюты на бирже, можно смело признать одним из наименее проработанных вопросов, поэтому казусов в этой сфере возникает масса.
Например, в соответствии с ГК РФ к объектам гражданских прав относятся вещи, включая наличные и безналичные денежные средства.
Продолжаю проект по популяризации языка R. Сегодня познакомимся с его историей. И заодно поймем, как так вышло, что он стал САМЫМ популярным языком алготрейдеров/квантов на западе.
Итак, жили-были красноглазые программисты, и спать не могли т.к. мысли роились в их огромных головах. Много чего они думали: о языках программирования, играх, операционных системах, биг-датах и конечно же больших и упругих сиськах.
Таким образом, в середине 80ых годов появился язык S. Да-да. Язык S(не R). Кто и зачем его так назвал, оставим за скобками. Язык S был быстр, красив и работал с бигДатой весьма хорошо. Но была и проблема. Язык S — был ПЛАТНЫМ (тьфу!).
Долго такой беспредел продолжаться не мог, и уже в 1993 году, появился Бесплатный аналог S — язык R.
Язык R вобрал в себя самое лучшее от своего платного собрата, и начал своё победное шествие по планете!
Как развивалсяКоллеги, добрый день. Сегодня поднимаю тему сальдирования убытков по операциям с ценными бумагами и финансовыми инструментами срочных сделок. Мы уже неоднократно обсуждали порядок возврата налога, зачета убытков, но хочу рассказать о том, за какие годы вы можете зачесть ваши убытки.
На днях ко мне обратился клиент, который подавал декларацию 3-НДФЛ за 2012 год, в которой отражался доход 2012 года и зачитывали убытки 2010 и 2011 годы. Налоговая инспекция не приняла декларацию, сославшись на то, что вернуть убытки 2010 уже нельзя. Получается, что из-за неграмотности сотрудника налоговой инспекции человек пропускает драгоценное время на возврат налога за 2012 год. Мы помогли клиенту избежать судебного разбирательства и вернуть налог за 2012 год, причем уже в 2016 году.
Давайте еще раз вспомним порядок возврата налога по полученным убыткам. Налог возвращают за три предыдущие года. Например, в текущем 2016 году можно вернуть НДФЛ за 2013, 2014 и 2015 годы. То есть, у вас должны быть это прибыльные годы, в которые ваш брокер удерживал с вашего дохода подоходный налог. А вот зачесть убытки в прибыльном году можно за десять лет. Причем “брать во внимание” убытки можно, начиная с 2010 года. Это ваше право.