Избранное трейдера test
Эта оценочная функция может быть эффективно вычислена и она нечувствительна к выбросам. Она может быть существенно более точна, чем неробастный метод наименьших квадратов для несимметричных и гетероскедастичных данных и хорошо конкурирует с неробастным методом наименьших квадратов даже для нормально распределенных данных в терминах статистической мощности.
Метод признан «наиболее популярной непараметрической техникой оценки линейного тренда»
Продолжаю рассказывать о простейших скриптах. Если вы читали предыдущий пост, то без проблем разберетесь и в этом коде.
На прошлой неделе мне задали такой вопрос:
Т.е. простой смертный берет питон пишет код. Типа там если сегодня среда 10-00, то купить 1 акцию. Прикрепляет блок, данные идут, условие срабатывает, покупка, лог… и т.п.
Спрашивали — отвечаю.
Не для пиара, а на пользу коллегам публикую журнал сделок и открытых позиций для квика.
https://github.com/9159340/TradeHistory
главный файл — TradeHistory.lua
Ниже — описание из документации.
Таблица открытых позиций.
Внешний вид
Колонки
Account – код брокерского счета
Comment – комментарий из сделки.
secCode – код инструмента
classCode – код класса
tradeNumber – номер сделки, используется только в таблице закрытых позиций
Перечисленные выше колонки – это разрезы учета сделок. Подробнее о работе с комментариями смотрите в разделе «Возможности».
lot – размер лота
dateOpen – дата открытия позиции (самой первой сделки)
timeOpen – время открытия позиции (самой первой сделки)
Готовый пример для акций, класс — TQBR.
Список всех классов выводится на вторую строку лог-файла.
-- seclist_csv.lua, © smart-lab.ru/profile/XXM/ -- список бумаг, транслируемые QUIK-ом local ver = '0.91' -- 22.12.2016 local scriptPath = getScriptPath() local Terminal_Version=getInfoParam('VERSION') local logFile = scriptPath..'\\'..'seclist.csv' local file = io.open(logFile, "w") assert(file, "Ошибка открытия "..logFile) function string.split(str, sep) local fields = {} str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end) return fields end function write_log(str) file:write(str .. "\n") end function Main() local local_datetime = os.time(os.date("*t")) local dtd = os.date("%d.%m.%Y %H:%M",local_datetime) local mes = 'Start seclist_csv '..ver..', QUIK '..Terminal_Version..', '..dtd message(mes); file:write(mes .. "\n") class_list = getClassesList() mes = 'class_list = '..class_list message(mes); write_log(mes); local class_listT = {} class_listT = string.split(class_list, ',') for i = 1, #class_listT do local fline = class_listT[i] if fline == 'TQBR' then -- для примера - только акции! local classInfo = {} classInfo = getClassInfo(fline) -- 3.2.2 getClassInfo -- Функция предназначена для получения информации о классе. local sec_list = getClassSecurities(classInfo.code) local sec_listTable = {} sec_listTable = string.split(sec_list, ',') for i = 1, #sec_listTable do local classCode = classInfo.code local secCode = sec_listTable[i] local securityInfo = getSecurityInfo(classCode, secCode) local name = securityInfo.name local step = securityInfo.min_price_step local secInfo = classInfo.name..';'..classCode..';'..name..';'..secCode..';'..step write_log(secInfo); end end end local mes = 'Готово!' message(mes); write_log(mes); file:flush() file:close() end Main() -- seclist_csv.luaНа выходе получил список из 292 ценных бумаг.
«По данным СМИ Интер РАО приступила к оценке станций Энел Россия, речь в основном идет о Рефтинской ГРЭС, ориентировочная цена которой может составить порядка 15-30 млрд. рублей. На ее долю приходится почти половина всей выработки электроэнергии компании Энел Россия. Данная сделка позитивна для обоих участников, Интер РАО купит качественный актив не переплачивая с уже завершенной инвест программой, только на топливе компания сможет сэкономить порядка 3 млрд. рублей. Деньги на покупку есть от продажи Иркутскэнерго за 70 млрд. рублей, на данной новости акции компании могут вырасти до 4 рублей.
Сделка может состоятся в середине декабря и скорее всего пройдет по нижней границе, вся компания Энел Россия может стоить порядка 40-75 млрд рублей»
Прочитать полностью
iis24.ru/enel-kratkosrochnii-vzgljad-na-vozmognosti/
Расскажу о типичной ситуации, в которой оказывались многие. Товарищем был приобретен игровой ноутбук за 48 тыс. рублей. Товарищ очень ждал этой покупки, копил сумму и радовался, когда приволок его домой. Поиграв на нем пару дней, в ноутбуке отвалился вай-фай и блютуз. И здесь начинается мой рассказ.
Мы начали с претензии покупателя продавцу. Отмечу, что это известный ритейлер М.Видео.
Претензия – это форма выражения своих требований продавцу, изготовителю или импортеру приобретенного товара. Она пишется обязательно в письменной форме. Часто, в случае поломки товара, люди идут в магазин вместе с товаром и пытаются решить этот вопрос на месте.
Settings={ Name = "Fractal_Chennal", period=5, line={ { Name = "Level_High", Type =TYPE_LINE,-- = LINE --линии = DASH -- тире = POINT -- точки Width = 1, Color = RGB(0,255, 0)--green }, { Name = "Level_Low", Type =TYPE_LINE, Width = 1, Color = RGB(255,0,0)--root }}} idx_prosl=0 function Init() return 2 end function OnCalculate(idx) if idx==1 then P = math.floor(Settings.period/2)*2+1 message("Код бумаги: "..getDataSourceInfo().sec_code.." ; период индикатора: "..P,1) t_H,t_L={},{} end if idx~=nil and idx>P then if idx_prosl~=idx then local l=idx-P for l=l,idx-1 do t_H[l]=H(l) t_L[l]=L(l) end if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then H_ind_value=t_H[#t_H-(P-1)/2] end if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then L_ind_value=t_L[#t_L-(P-1)/2] end end else H_ind_value=nil L_ind_value=nil end idx_prosl=idx return H_ind_value, L_ind_value endКак пользоваться:
4. Контртренд.
Работает для 30 наиболее ликвидных бумаг.
Точка входа ищется только в первые 2 часа торгов.
Не использовать, если по акции вышла новость, вызвавшая сильное движение цены (до недели тому назад) .
Вход только на свои, без плечей.
Направление позиции лонг/шорт.
При прочих равных, выбирается более «быстрая» бумага.
Желательно, чтобы бумага опережала рынок, или шла в против рынка.
Ищем бумагу, которая в первые 2 часа работы выросла на 2,5-3%. Рост отсчитывается от последней сделки вчерашнего дня, результаты послеторговой сессии не учитывается.
Вход против движения на 50% портфеля.
По-возможности ищется плотность котировок в стакане и заявка размещается перед ней (± 10 копеек).
Откуп позиции — 0,5% от точки входа.
Если после входа цена не откатывает и не продолжает движение, т.е. консолидируется, то выход через 30 минут.
Если рост продолжается до 3,5-4%, вход на оставшиеся 50% портфеля.
Стоп устанавливается на усмотрение трейдера — 4,3-4,5% роста бумаги.
При доливке позиции, средняя цена получается в районе 3—3,5% роста.
Цель устанавливается на 0,5% ниже средней цены позиции.
Есть выход по времени — макс. 30 минут после доливки.