Избранное трейдера Ramil Shahattudinov
--Массив с Тикерами, добавьте нужные тикеры
aTickerList = {"MSNG", "GAZP", "LKOH",
"SIBN", "GMKN","ROSN",
"SBER", "TATN", "NVTK",
"IRAO", "RSTI", "SBERP",
"PHOR", "SNGS", "TRNFP",
"VTBR", "FEES", "MVID",
"RASP", "MFON", "AFLT",
"MAGN", "ALRS", "MTSS", "MOEX",
"RTKM", "MGNT", "NLMK", "SNGSP",
"CHMF", "MTLR", "HYDR", "MFON",
"RSTI", "PLZL", "BANEP", "POLY"
};
--Функция поиска цены
function fGetPrice(sTickerName, sNum)
--Подключаемся к источнику данных
local ds=CreateDataSource("TQBR", sTickerName, INTERVAL_D1);
while (Error=="" or Error == nil) and ds:Size() ==0 do sleep(10) end;
if Error ~="" and Error ~=nil then message("Error: "..Error, 1) end;
local sSize=ds:Size();
local sCurrentPrice=ds:O(sSize);
local sLastWeekPrice7=0;
local sLastWeekPrice14=0;
--Берем цену закрытия свечи неделю назад
sLastWeekPrice7=ds:C(sSize-4);
--Берем цену закрытия свечи 2 недели назад
sLastWeekPrice14=ds:C(sSize-8);
--Вычисляем проценты
local sPrc7=math.floor((100-((sLastWeekPrice7*100)/sCurrentPrice))*100)/100;
local sPrc14=math.floor((100-((sLastWeekPrice14*100)/sCurrentPrice))*100)/100;
--Заполняем таблицу значениями
SetCell(t_id, sNum, 0, tostring(sTickerName));
SetCell(t_id, sNum, 1, tostring(sCurrentPrice),sCurrentPrice);
SetCell(t_id, sNum, 2, tostring(sLastWeekPrice7),sLastWeekPrice7);
SetCell(t_id, sNum, 3, tostring(sLastWeekPrice14),sLastWeekPrice14);
SetCell(t_id, sNum, 4, tostring(sPrc7),sPrc7);
SetCell(t_id, sNum, 5, tostring(sPrc14),sPrc14);
--Текущая цена больше цены прошлой недели - раскрашиваем зеленым
if sCurrentPrice>sLastWeekPrice7 then
fGreen(sNum);
end;
--Текущая цена меньше цены прошлой недели - раскрашиваем красным
if sCurrentPrice<sLastWeekPrice7 then
fRed(sNum);
end;
--Текущая цена больше цены прошлой недели и цена прошлой недели больше цены позапрошлой недели
--раскрашиваем желтым
if sCurrentPrice>sLastWeekPrice7 and sLastWeekPrice7>sLastWeekPrice14 then
fYellow(sNum);
end;
end;
--- Функция создает таблицу
function CreateTable()
-- Получает доступный id для создания
t_id = AllocTable();
-- Добавляет 6 колонок
AddColumn(t_id, 0, "Тикер", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 1, "Сегодня", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 2, "Неделя", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 3, "2 Недели", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 4, "Неделя (%)", true, QTABLE_INT_TYPE, 15);
AddColumn(t_id, 5, "2 Недели (%)", true, QTABLE_INT_TYPE, 15);
-- Создаем
t = CreateWindow(t_id);
-- Даем заголовок
SetWindowCaption(t_id, "7 Days");
-- Добавляем строки
for k,v in pairs(aTickerList) do
InsertRow(t_id, k);
end;
end;
--- Функции раскрашивают ячейки таблицы
function fRed(col)
SetColor(t_id, col, -1, RGB(255,168,164), RGB(0,0,0), RGB(255,168,164), RGB(0,0,0));
end;
function fGreen(col)
SetColor(t_id, col, -1, RGB(157,241,163), RGB(0,0,0), RGB(157,241,163), RGB(0,0,0));
end;
function fYellow(col)
SetColor(t_id, col, -1, RGB(249,247,172), RGB(0,0,0), RGB(249,247,172), RGB(0,0,0));
end;
--Основная функция
function main()
-- Создаем таблицу
CreateTable();
--Пробегаемся по массиву тикеров
for k,v in pairs(aTickerList) do
fGetPrice(v, k);
end;
end;как выглядит в квике:Салют смартлабу! Решил написать свой первый пост здесь в связи с первой покупкой акций. В дальнейшем буду писать о своих сделках, финансовых решениях, результатах и всем прочем связанном с деньгами.
Я не так давно, в конце прошлого года, открыл свой первый брокерский счет – ИИС и начал инвестировать средства на фондовый рынок. Сначала купил ОФЗ, так как боялся волатильного рынка акций. Да и не знал, что следует покупать. Но почитав умные книжки, где сравниваются акции и облигации, доходность инвестирования на разных горизонтах, решил по мере погашения облигаций начать покупать акции. От инструментов с фиксированной доходностью отказываться естественно не буду, но для этих целей буду использовать не биржевые продукты, а депозиты (в основном, пополняемо-отзывные) и карты с начислением % на остаток. Так я смогу свободно распоряжаться этими средствами, как для потребительских, так и инвестиционных целей, а также иметь подушку безопасности. Сейчас мой инвестиционный портфель выглядит вот так:


Показывает IQ акции.
Чем больше показатель IQ у акции, тем больше денег она позволяет в себя распихать))!
Кто торгует большие объемы — тому может пригодиться.

Полная библиотека индикаторов, фильтров и и сканеров для Thinkorswim в этом блоге http://bit.ly/2vKq4F8
#Thinkorswim filter for Watchlist
#Показывает IQ акции
#Thinkorswim https://RadchenkoVY.com/TOS
def length = 14; # сколько дней учитывать при расчетах показателей
input AvgVolume = {default "1", "0"};
input ATR = {default "1", "0"};
def iATR = Round((Average(high(period = "DAY"), length ) - Average(low(period = "DAY"), length )), 2);
def iAvgVolume = Round(Average (volume(period = "DAY")[1], length), 1);
plot IQ = round ((iAvgVolume/390*iATR/1000),0);В основе человеческой психологии лежит желание купить то, что подешевело, то, что стоило раньше 100, а сейчас, к примеру, 90. Подобные сделки кажутся очень выгодными, тем более, что в обычной повседневной жизни они, как правило, действительно являются выгодными. Например, выгодно покупать продукты по акциям в магазине со скидкой, выгодно отовариваться на распродажах, покупать товары при ликвидации магазинов и т.д. Именно поэтому многие и на фондовом рынке придерживаются такой же стратегии, покупая акции компаний аутсайдеров, которые падают и, зачастую, падают сильно. Не скрою, что когда-то и я так торговал, но анализ собственных сделок, а также анализ движения цен на акции лидеров рынка и аутсайдеров, заставили меня пересмотреть этот подход.
Если вы уже давно торгуете на фондовом рынке, то наверняка заметили, что одни и те же бумаги растут сильнее рынка, а другие все время стоят на месте или даже падают. Примеров можно привести много: это и ВТБ, который разместился на IPO в 2007 году по 13.6 копеек, а сейчас стоит менее 4 копеек, это и Газпром, который когда-то в 2008 году стоил более 300 рублей, а сейчас, спустя 10 лет, стоит в два раза меньше. Да и каждый из вас без труда может привести множество подобных примеров. В то же время есть бумаги, которые выросли за это время в несколько раз, оставаясь лучшими много лет подряд.
Часто при торговле на фондовом рынке у нас возникает вопрос: каким процентом от своего капитала рисковать в сделке? Обратите внимание, что данный вопрос отличается от следующего: какой размер позиции открывать в том или ином случае? Чтобы стало понятно, о чем идет речь, приведу следующий пример: вы можете открыть сделку на 200 тысяч рублей и установить стоп-лосс на уровне 5% или вы можете открыть сделку на 100 тысяч рублей и установить стоп-лосс на уровне 10%, в обоих случаях вы рискуете в сделке 10 тысячами рублей. Главное в данном случае, какой именно суммой вы рискуете в сделке, а не размер самой сделки как таковой. Так вот, каким же процентом от своего капитала рисковать в сделке? Интуитивно понятно, что если рисковать в одной сделке 50% капитала, то очень быстро можно потерять все деньги, а если рисковать всего 0.1%, то трудно рассчитывать на серьезную прибыль. Логично было бы предположить, что где-то между этими значениями и лежит некоторый оптимальный именно для вашей торговой стратегии процент.

-- fn044set.lua расчет стоимости фьючерсных контрактов в портфеле относительно депозита
-- © smart-lab.ru/profile/xxm 08.10.2018
-- торговый счет (из таблицы «Позиции по клиентским счетам (фьючерсы)»)
account = 'SPBFUT0003f'
--положение окна с таблицей. Левый верхний угол в координаты left,top и размеры в width и height.
xy = {}
xy.left, xy.top, xy.width,xy.height = 0, 232, 722, nil
--ширина столбцов таблицы
t_width = {12, 6, 10, 8, 10, 10, 9, 7, 6, 11, 10, 11}
-- месяц и год исполнения, 2 символа, https://www.moex.com/s205
MonthYear = "Z8"
-- код базового актива, 2 символа
-- если 4 символа, то переменная "MonthYear" не учитывается
SecCodes={
{"MM"}, --контракт на индекс МосБиржи
{"Si"}, --руб/доллар FORTS
{"SR"}, --Sber FORTS
{"LK"}, --контракт на Лукойл
{"GZ"}, --контракт на Газпром
{"BRX8"}, --контракт на нефть Брент, месяц и год - "X8"
{"ED"}, --контракт на ED
{"RN"}, --контракт на Роснефть
{"GD"}, -- Gold
}
--Если xy.height == nil, то вычислить ее.
--Для разных мониторов коэффициенты (17, 45 и 868 - подобраны эмпирически) будут разными.
local height = xy.height or ((#SecCodes + 1)*17 + 45)
if height > 868 then height = 868 end
xy.height = height| Правила торговли. | ||||||||
| 1. Макс 3 сделки в день. | 30 п | |||||||
| 2. Я не торгую запасы, перед запасами я не в сделке. С 19-30 до 21-00 я не торгую. | ||||||||