Избранное трейдера 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 минут после доливки.