Избранное трейдера Сергей Грошев
Добрый день, коллеги!
Наступил 2016 год и можно уже приниматься за процедуру возврата налога и зачета убытков на фондовом рынке за 2015 год. Многие из вас закрыли прошлый год в “плюсе”. Это хорошо, но давайте вспомним, были ли у вас убытки в период с 2010 до 2014 года. Если да, тогда надо собирать документы:
1) Справки об убытках за убыточные годы. Возможно, что брокер вам даст не справку, а налоговый регистр или выписку. Казалось бы, название документа другое, но суть одна — нужен документ, в котором указана сумма убытка.
Как выглядит такой документ? В нем должна быть отражена следующая информация:
— год, за который получен убыток,
— название операции и ее код, например, если вы получили убыток по операциям с ценными бумагами, тогда код операции будет “1530”. У каждого вида дохода есть свой код, по нему легко ориентироваться,
— сумма убытка.
— и все! Не надо отражать суммы налогов в такой справке, они не нужны.
2) Справка 2-НДФЛ за прибыльный год. Если у вас прибыль за 2015 год, значит, надо справку 2-НДФЛ получить за 2015 год. Эта справка имеет свой “индивидуальный” вид — в ней отражается сумма полученного дохода и сумма удержанного налога. Вот тут сумму НДФЛ (подоходного налога) надо отражать обязательно.
Регулярно сталкиваюсь с кризисами. Беда прямо какая-то. Куда ни приду, все начинает валиться. Вначале грешил, что это я их сам провоцирую. Стал сереньким, исповедуя тактику невмешательства. Нет, то же самое выходит. Потом думал, что просто мне так везет. Ну, думаю, ладно, каждый сам кузнец своего счастья – стал пробовать предотвратить. Верите-нет, ни разу не вышло, оттягивал на месяц-год, но итог все равно один. Тогда снова сменил тактику и решил сваливать при первых же признаках кризиса — энергозатраты меньше, результат тот же. Совесть не мучает - нет, я — эгоист. Но все время беспокоит вопрос «почему?» в чем причина такой неустойчивости социальных систем в РФ (АО – тоже социальная система). Мысль, что «отдельно богом взята и отдельно богом проклята» – посещала, но была отринута за антинаучностью :)
И только когда жена заставила посмотреть вот эту лекцию Ильи Колмановского, у меня в голове медленно начал складываться пазл. И вот сложился. Прав был классик – «в консерватории надо что-то менять»
Продолжаем наше обучение:
На прошлых уроках мы познакомились с векторами и индексированием.
В 5-м уроке мы разберем несколько полезных команд для работы с рабочей директорией, а также начнем свое знакомство с таблицами. Узнаем как импортировать данные из текстового файла, как преобразовать их к нужному виду и построим свой первый график.
В 6-м уроке мы продолжим работать с таблицами, выучим несколько новых функций, узнаем как обращаться к элементам таблицы по индексу, а также построим гистограмму, используя функцию baplot().
//Читаем их Excel данные в массив List getParamsFromExcel(string filePath) { //С какой строки начинаем читать данные int start_from_row = 2; //Индекс колонки с Тикером int symbol_index = 1; //Индекс колонки с типом ордера int order_type_index = 2; //Индекс колонки с ценой входа int entry_price_index = 4; //Индекс колонки с ценой стопа int stop_price_index = 5; //Индекс колонки с временем входа int entry_time_index = 7; int current_index = start_from_row; //Текущий символ графика string read_symbol = Bars.Symbol; //Текущий считанный из Excel символ string current_symbol; //Список параметров считанный из Excell List result; result = new List(); //Переменная Excel приложение Excel.Application xlApp; //Переменная рабочая книга Excel.Workbook xlWorkBook; //Переменная рабочий лист Excel.Worksheet xlWorkSheet; //Переменная диапазон Excel.Range range; //Инициализируем переменные xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(filePath); xlWorkSheet = xlWorkBook.Worksheets.get_Item(1); range = xlWorkSheet.UsedRange; //Считываем тикер из Excel current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2; //Читаем тикеры, пока не наткнемся на пустую строку while(current_symbol != null) { //Если считанный тикер совпадает с тикером графика, на котором запустили робота if(read_symbol == current_symbol) { //Читаем и добавляем параметры ордера result.Add(new OrderParams { ePrice = Convert.ToDouble((range.Cells[current_index, entry_price_index] as Excel.Range).Value2), sPrice = Convert.ToDouble((range.Cells[current_index, stop_price_index] as Excel.Range).Value2), eTime = DateTime.FromOADate((range.Cells[current_index, entry_time_index] as Excel.Range).Value2), pType = ((string)(range.Cells[current_index, order_type_index] as Excel.Range).Value2 == "Short" ? PositionType.Short : PositionType.Long) }); } current_index++; //Считываем очередной тикер current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2; } //Закрываем рабочую книгу xlWorkBook.Close(true, null, null); //Выходим из приложения xlApp.Quit(); //Уничтожаем созданные объекты releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); return result; } //Уничтожаем переданный объект private void releaseObject(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; } finally { GC.Collect(); } }