Избранное трейдера Краснов Геннадий
Тут неожиданно призвали к ответу: почему дескать опционный софт написал, а заработать сам не можешь?
Наезд странный: программить это одно, а трейдить этож совсем другое. И знания совсем другие, и психология. Если программист может уйти в астрал и долго там витать, то трейдер должен быть шустрым-быстрым и всегда на чеку. Схватил добычу и быстро в кусты. Не жадничать, а то очень быстро из охотника сам в жертву превратишься. Не быть инертным, быстро признавать ошибку и готовность перевернуться в противоположное направление. Программист же более инертен и упрям. Грубо говоря: программист — интраверт, трейдер — экстраверт.
В общем, торговля и программинг вещи сильно разные. Но лично мне удалось немного заработать. Вот здесь описал свой опыт торговли в 2018г. Там 09.04.2018 за день удалось утроить депо. Но это просто повезло в хорошей позе оказаться перед гэпом. Тем более потом часть слил и закрыл торговлю в реале. Стал снова теорию копать и программить. Но ушел все-таки в плюсе: было 100тр, стало 383тр.
-- -- Выполнение действий с массивами. -- local pairs = pairs local type = type module(...) --- Создать копию массива (таблицы) -- @return копию массива (таблицы) function copy(array) local copy_array = {} if type(array) ~= "table" then return array end for k, v in pairs(array) do if type(v) == "table" then copy_array[k] = copy(v) else copy_array[k] = v end end return copy_array end --- Узнать, начинается ли индексация в массиве с нуля или с единицы. -- @return 0 или 1 function base(array) if array[0] ~= nil then return 0 else return 1 end end --- Вычислить число элементов в массиве. -- @return число элементов в массиве function size(array) local n = 0 for _, _ in pairs(array) do n = n + 1 end return n end --- Проверить пустой или нет массив. -- @return true/false function isEmpty(array) for _, _ in pairs(array) do return false end return true end --- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1. -- @return первый индекс массива, где ничего не записано function firstEmptyIndex(array) local i = 1 while array[i] ~= nil do i = i + 1 end return i end
Семь причин не переезжать в Долину
Недавно вышел фильм Юрия Дудя о Кремниевой долине. В нем предприниматели-эмигранты рассказывают о преимуществах переезда в США.
Будучи знакомым со многими героями фильма Юрия лично, я заметил контраст между тем, что они декларируют на камеру, и тем, о чем говорят в личных беседах. От всех знакомых предпринимателей из сюжета я не раз слышал о минусах жизни в США. Сейчас один из них половину времени проводит на родине, другой фактически уже несколько месяцев как вернулся в Европу, третий разочаровался в американцах и строит вокруг себя “маленькую Россию”.
В целом, на камеру герои фильма демонстрируют одну очень американскую черту – обходить острые углы и концентрироваться на позитивных сторонах. Считаю своим долгом рассказать о недостатках Америки для того, чтобы предостеречь новое поколение предпринимателей от повторения ошибок предшественников. Ниже – 7 причин, почему не стоит переезжать в Кремниевую долину.
на Московской бирже будет введен в промышленную эксплуатацию релиз SPECTRA 6.3. Подробнее об изменениях на сайте Московской биржи.
Ключевым нововведением SPECTRA 6.3 является увеличение размерности идентификатора заявок/сделок и изменение логики нумерации заявок/сделок. Изменение размерности будет проводиться в 2 этапа:
1) До 14 знаков с 16 декабря 2019 года — это изменение не потребует обновления торговых терминалов и будет поддерживаться актуальными на данный момент версиями: «АЛОР-Трейд» (6.0.150.413), «АЛОР-Фаст» (1.2.59 и выше), TSLab (2.0.33 и выше) и Quik (версия 7 и выше).
2) До 19 знаков после апреля (точной даты не указано) 2020 года— это изменение потребует обновления торговых терминалов, .
Часто задаваемые вопросы о релизе срочного рынка SPECTRA 6.3 на сайте Московской биржи.
import requests import datetime import pathlib SECIDs = ["GAZP", "BANEP", "LKOH"] DISK = "E" for SECID in SECIDs: from_date = "2020-05-04" to_date = "2005-01-03" while str(to_date) != from_date: to_date = str(to_date) to_date = to_date.split('-') a = datetime.date(int(to_date[0]), int(to_date[1]), int(to_date[2])) b = datetime.timedelta(days=140) to_date = a + b pathlib.Path("{}:/{}/{}".format(DISK, "Database_MOEX", SECID)).mkdir(parents=True, exist_ok=True) filename = SECID + "_" + str(to_date) + ".csv" with requests.get("http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/tqbr/securities/{}.csv?date={}".format(SECID, to_date)) as response: with open("{}:/Database_MOEX/{}/{}".format(DISK, SECID, filename), 'wb') as f: for chunk in response.iter_content(): f.write(chunk)Для начала пройдемся по его плюсам и минусам. Самый главный минус, что этот парсер качает только определенный период, который уникален для каждой акции, судя по всему для увеличения этого периода надо кинуть бирже на лапу:), и то что информация предоставляется за день, теперь перейдем к плюсам: можно выкачивать историю за определенный период для нескольких инструментов сразу (их количество ограничивается лишь количеством инструментов на мосбиржи), есть возможность назначать диск для сохранения информации, быстрота выгрузки данных.
Кол+Пут= ATR(Н1)*КОРЕНЬ(N)*0,5, где N количество торговых часов до экспирации.
как описано здесь smart-lab.ru/blog/474365.phpВсем привет.
Все кто давно пользуется терминалом Квик – знают, что со временем он начинает «подтормаживать», долго загружаться, медленно переключаться между вкладками, а в особо тяжёлых случаях проводить заявки с задержкой. А это уже чревато потерей реальных денег….
В этой статье мы рассмотрим простые действия для ускорения работы Квика, которые нужно проводить регулярно, как сервисное обслуживание в автомобиле. А чтобы был спортивный интерес – проведем замер скорости загрузки терминала.
Поехали!
Итак – включаем секундомер и делаем первоначальные замеры:
Результат времени загрузки до появления окна загрузить новую версию
1 минута 21 секунда.
Ну что ж…. За работу:
1-е что мы сделаем удалим лог файл, который больше всего влияет на загрузку. Переходим в папку с Квиком