Избранное трейдера vovak_85
Если говорить образно. То, чтобы отправить сообщение на сервер, нам просто нужно сформировать нужную строку со всеми данными и отправить ее на биржу. Ну например:
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));
непруха или 7мь месяцев боковика
Пошел 10ый год активной торговли. Лично сделал с 40к 14.4мио за 6лет ботами. Год в плане алготорговли был крайне неоднозначен. С начала года боты быстро напилили с 9.5мио 14.5мио. Потом в июне случился писец. 7 месяцев неоконченного боковика от 13 до 14.4мио. (на прошлой неделе видел в третий раз 14.4мио… а через неделю распилился на -12% от хаев словив стресс). Дальше будет про торговлю много букв можно не читать.
1 Боты были спроектированы под счет в районе 3-4мио.
2 Ликвидность на фортсе и мамбе упала. Это я сразу почувствовал. Та же ФСК вместо обычных 250мио оборота в день скатилась унылое говнище с оборотом 70мио. Если раньше я мог легко торговать счет в 3мио широкой диверсификацией в 15-20 бумаг, то теперь из-за разросшегося счета + падения объема торгов на мамбе пришлось уйти в самые ликвидные бумаги.
3 Поэтому нагрузка на самые ликвидные бумаги возросла. Так например, зачастую делаю во фьючах лук, рося, втб более 5-10% от дневного оборота. Сейчас мне надо купить с рынка в 10 раз больше бумаг чем раньше (в три раза больший счет и в три раза меньшее число бумаг). Увеличились проскальзывания. Если на счете в 2-3 мио и диверсификации по 20ти бумагам проскальзывание было практически равно нулю, то сейчас при обороте в 30-40мио в день проскальзывание составляет 0.03%. Удовольствие поторговать стоит мне в месяц 200-250к. Это -1.7% от капитала в месяц. Т.е. Издержки на торговлю выросли с 5-7% до 20% в год.
Рыночные условия.Как США выходили из Великой депрессии
Великая депрессия остается классическим примером финансового кризиса рыночной экономики. Изучение методов выхода из неё, которые были применены разными странами, может оказаться полезным для проверки моделей кризиса на соответствие реальности. Модель финансового кризиса в виде роста денежного пузыря должна быть проверена на основе анализа имеющихся исторических материалов, показывающих, как развивались предыдущие кризисы и какие меры оказались успешными в их преодолении. Наиболее интересным является опыт ведущих экономик мира. В данной статье речь пойдет о США.
ГУВЕР
Распространённая легенда, будто администрация Гувера в условиях кризиса бездействовала, весьма далека от реальности. Президент Гувер не стал уповать на саморегулирование экономики и решил смягчить удары кризиса с помощью активного государственного вмешательства. Он развил бурную деятельность". Уже в ноябре 1929 года был обнародован президентский план «Направить мощь государства на спасение экономики». Предполагалась активная государственная поддержка банковской системы, промышленности и сельского хозяйства. Только Сельскохозяйственной сбытовой ассоциации, созданной в 1929-м, было выделено 600 миллионов долларов кредитов. Правительство Г. Гувера пыталось ослабить действие кризиса путем оказания финансовой помощи банкирам и промышленникам, чтобы спасти их от банкротства. Была создана «Реконструктивная финансовая корпорация», которая, кредитуя кампании, истратила миллиарды долларов, спасая от неминуемого банкротства неплатежеспособные банки, предприятия, железные дороги и фермерские хозяйства. Скачок государственных расходов при Гувере был самым большим за всю американскую историю в мирное время.
9 марта 1931 г. был принят чрезвычайный закон о банках, главным положение которого было предоставление Федерально-резервной системой США (аналог Центрального банка) займов частным банкам. Одновременно были предприняты меры по предотвращению массового изъятия вкладов из банков. Установлен запрет на экспорт золота. Проведены банковские каникулы, т.е. почти все банки были закрыты для проведения финансовой проверки (не путайте эти каникулы с банковскими каникулами Рузвельта, см. ниже). После нее к концу марта 80% банков было открыто, а 20% ликвидировано. Но это помогло мало. В последний год своего президентства Гувер отчаянно пытался реализовать другие планы по оздоровлению банковской системы. Однако не получилось, так как для принятия решения в Конгрессе было необходимо заручиться поддержкой демократического большинства.
Вторым пунктом была справедливая социальная политика. Осенью 1929 года президент провел ряд встреч с крупными промышленниками и заставил их торжественно пообещать не снижать заработную плату своим работникам. Обещание честно выполнялось до лета 1931-го. В 1930-м было предпринято снижение налогов: налоги семейного американца с доходом в 4000 долларов упали на 2/3. Всячески поощрялась гуманитарная деятельность муниципальных структур и частная благотворительность.
Наконец, были организованы масштабные общественные работы по строительству инфраструктурных объектов. Уже весной 1930-го на общественные работы было выделено 750 миллионов долларов — баснословная сумма. Повсеместно возводились новые административные здания. За четыре года президентства Гувера в США затеяли больше крупных строек, чем за предыдущие 30 лет. Именно при Гувере началось строительство моста «Золотые ворота» в Сан-Франциско и гигантской плотины на реке Колорадо. А теперь сравните с планом Обамы. Очень похоже. Не правда ли?
Тщетно пыталось изъять с рынка излишки сельскохозяйственной продукции образованное правительством «Федеральное фермерское бюро», оказавшее практически помощь лишь крупным фермерам.
Следующим элементом плана была защита национального производителя. В 1930 году был принят закон Смута-Холи о таможенных тарифах, внесенный однопартийцами президента сенаторами Смутом и Хоули и вводивший высокие таможенные пошлины на импортные товары. Новые таможенные пошлины, одобренные Гувером, были рекордно высокими, а круг охватываемых товаров — рекордно широким. В итоге объем импорта сократился в несколько раз. Между тем, сейчас этот закон, считают одним из факторов, подстегнувших наступление Великой депрессии.
Высокий таможенный тариф способствовал резкому сокращению ввоза в США товаров из-за границы. Это в свою очередь снизило и без того неважную покупательную способность населения, а также вынудило другие страны применить контрмеры, навредившие американским экспортерам – иностранцы в ответ ввели тарифы против США. Все это привело к сокращению международной торговли. В результате все экономики проиграли и ещё больше усугубили кризис. Потом, как обычно, все свои внутренние беды в массовом сознании американцы свалили на происки иностранцев. Именно поэтому главным решением двадцатки в ноябре 2008 года был мораторий на протекционистские меры в течение года.
По мере развития Великой депрессии в наиболее пострадавших странах стали принимать меры по недопущению Великой депрессии в будущем, поняли опасность зависимости от США. Поэтому там установили контроль за иностранным капиталом, возник государственный сектор экономики и кое-где было ограничено господство латифундистов, особенно в Бразилии, Чили, Мексике… В Мексике реформы были настолько глубоки, что были национализированы железные дороги, нефтяная промышленность.
Лишь в середине 30-х годов после вступления в силу Закона о соглашениях о взаимной торговле, существенно снизившем таможенные пошлины, международная торговля начала восстанавливаться, оказывая позитивное влияние на мировую экономику.
Скрипты на языке Lua
Написанный на Lua скрипт не имеет какой-либо специальной функции, с которой начиналось бы его выполнение. Скрипт можно рассматривать просто как набор команд (инструкций), который выполняется, начиная с первой инструкции.
Скрипт может быть как очень простым, состоящим всего из одной команды, так и весьма сложным, содержащим десятки, сотни и даже тысячи инструкций. Следующие друг за другом инструкции могут разделяться точкой с запятой (;). Однако это требование не является обязательным, поэтому весь приведённый ниже код является корректным с точки зрения синтаксиса:
a = 1; b = 2
a = 1 b = 2
a = 1;
b = 2;
a = 1
b = 2
Работа с переменными в Lua
Переменные используются для хранения значений в процессе выполнения скрипта.
Имена переменных в Lua
Именами (идентификаторами) переменных в Lua могут быть любые последовательности из букв, цифр и символа подчеркивания, начинающиеся не с цифры.
Риск-менеджмент это слишком широкое понимание, чтобы пытаться раскрывать его в данной статье. Будет рассмотрена тема контроля риска с целью увеличение эффективности торгового алгоритма (т.е. уменьшении меры рыночного риска и увеличении доходности).
Settings =
{
Name = «Brent»,
USDRUB = «USDRUB_KURS»,
line =
{
{
Name = «rubrent»,
Color = RGB (0, 255, 0),
Type = TYPE_LINE,
Width = 1
}
}
}
function Init()