Избранное трейдера Denis Lisin
Много вопросов поступает в личку, по поводу сайтов, которыми пользуюсь, выкладываю список самых используемых сайтов.
Сайты для просмотра графиков:
http://finviz.com — Хороший графический скринер акций + просмотр графиков
http://chartmill.com/stockscreener.php — Просто просмотр графиков, не путать со сканером акций как финвиз.
http://stocksinplay.ru - Хороший графический скринер акций + просмотр графиков
http://www.forexpf.ru/chart/rts - РТС онлайн
http://bigcharts.com - Просто просмотр графиков, не путать со сканером акций как финвиз.
http://stockcharts.com - Просто просмотр графиков, не путать со сканером акций как финвиз.
А ТАК ЖЕ ЕСТЬ ПОДБРОНЫЙ ПОСТ С КАРТИНКАМИ ПРО САЙТЫ С ГРАФИКАМИ
Этот эффект я назвал «скальп стопов». Он носит очень краткосрочный характер и непременно работает уже много лет. Хотя здесь дело далеко не в одних стопах. Просто в один конкретный момент происходит очень большой перекос ордеров на покупку/продажу, и цена зачастую краткосрочно улетает и дальше по направлению перекоса. Затем возвращается обратно.
Суть такая: берем уровни максимума и минимума за предыдущий час (час значит не 60 последних минут, а временной интервал с 10:00 по 11:00 и т.д.), далее ставим стоп-лимит на покупку по цене максимума и стоп-лимит на продажу по минимуму. Ордер может сработать только 1 раз в текущем часу. Кроем сразу же на открытии следующего минутного бара. Больше никаких условий.
Пример сделки:
Кривая доходности и параметры с 2009 по 2016 годы (сделок на гэпе первой минуты нет, вечерняя сессия также не включена). Фактор восстановления впечатляет.
Нередко вижу посты про агрессивную торговлю и много процентов годовых как цель, и подумал, что стоит поделиться своим скромным опытом, хуже не будет. Так как до этого лишь выступал как читатель, пришлось регистрироваться. Среагировал, в частности, на этот пост:
http://smart-lab.ru/blog/310660.php (про разгон маленького депо с плечами).
Автор прав, наверное, по-своему, но я бы хотел сказать вот о чем.
Так получилось, что по основной работе стало больше свободного времени, в связи с этим весь последний год привожу в порядок свои записи по трейдингу, которые делал на протяжении нескольких лет своей торговли на рынке. Делаю для себя, так как сам не очень публичный человек по своему характеру. За все это время накопил много мыслей, прочитанных и подсмотренных у ярких личностей (в России и зарубежом, я свободно владею английским и регулярно читаю англоязычные ресурсы), на наших форумах, а также в книгах на биржевую тематику. Мне нравится находить интересные мысли на просторах инета.
Если говорить образно. То, чтобы отправить сообщение на сервер, нам просто нужно сформировать нужную строку со всеми данными и отправить ее на биржу. Ну например:
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, длину сообщения нужно считать без учета концовки и первых двух полей заголовка. А именно:
//Получаем 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));