Блог им. kiselev

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

Хорошей практикой диверсификации ваших инвестиций является покупка иностранных акций за валюту. Инвестировать в акции зарубежных компаний можно просто и выгодно через Санкт-Петербургскую биржу (https://spbexchange.ru/). Преимущества очевидны:

  1. Инвестиции производятся в долларах США и Евро
  2. Низкие комиссии за малые объемы инвестиций. Можно покупать акции хоть по одной штуке, тогда как на биржевых площадках в США минимальный торговый лот = 100 акций.

  3. Торговый терминал QUIK с возможностью создавать торговых роботов на языке lua. Пример скрипта в этом посте.

  4. Автоматизированные расчеты и удержание НДФЛ на сделки купли-продажи


Про покупку американских акций в свой частный инвестиционный портфель я создал уже несколько постов на смарт-лабе. Вот они:


  • Real estate investment trust (REIT) — уникальный сектор в США для возможности инвестировать в коммерческую недвижимость небольшие суммы денег частных инвесторов;

  • Kraft Heinz Co. — американский продовольственный концерн, одна из крупнейших инвестиций в портфеле Уоррена Баффетта;

  • Wells Fargo & Co. — банковская холдинговая компания, входит в “большую четверку” банков США;

  • Intel Corporation — крупнейший американский производитель процессоров и микрочипов;

  • Verizon Communications Inc. — американская телекоммуникационная компания, “дивидендный аристократ” в портфеле Баффетта с 2021 года;

  • Biogen Inc. — биотехнологическая компания с перспективными разработками лекарств от болезни Альцгеймера и рассеянного склероза;

  • Alibaba Holding Group Ltd — ADR — Китайская публичная компания, работающая в сфере e-коммерции на интернет-порталах Alibaba.com, AliExpress, Taobao.com, Tmall и ряда других.

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖
Итого, в моих постах на смарт-лабе раскрыто 39% инвестиционного портфеля иностранных акций. Заходите в блог и читайте мои аргументы.

Я сторонник широкой диверсификации портфеля акций. В портфеле уже более 30 эмитентов. Благо на СПБ-бирже богатый выбор компаний, работающих в разных отраслях экономики и разных странах. 🌏

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖
Когда буду добавлять (покупать) новые акции в портфель? 

Я считаю, что лучшее время для больших инвестиций — это кризис ликвидности. Так вот: микро-кризисами ликвидности СпБ биржа и славится — бывает, что здесь проскальзывают цены, которые сильно отклоняются от котировок на Уолл-стрит. Это время возможностей. 

Обратимся к истории.

Самым ярким примером является мини-кризис 9 марта 2020 года, когда на графиках многих ликвидных акций возникли “спайки”, цены по которым можно было бы выгодно купить или продать акции, используя заранее выставленные лимитированные заявки. А те кто ставил стоп-приказы как раз “попали” в тот день на убытки.

Купить Apple, Facebook, Microsoft за три доллара как вам такая игра? 🙃

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

В сети есть несколько статей про события того дня. Например, статья РБК от 11 марта 2020 г.: Клиенты «Тинькофф Инвестиций» пострадали из-за сбоя на СПб бирже. Подробнее : 
https://quote.rbc.ru/news/article/5e6908bb9a7947233678c676 

Люди бурно обсуждали этот кризис и подсчитывали свои потери в пульсе, собрали целое сообщество пострадавших численностью более 500 человек в телеграм-канале. Вроде как брокер признал ошибки и возместил потери, но это не точно.... 

Сама биржа получила тогда хороший урок и позднее изменила алгоритмы учета рыночной цены. Об этом читаем в пресс-релизе от 10 марта 2020 года.

Санкт-Петербургская биржа в ближайшее время планирует внести изменения в алгоритм расчета показателя «Текущая цена рынка»

Однако, 19 апреля 2021 года история почти повторилась — о чём можно прочитать в блоге Дмитрия Семенова :

У меня стояла стоп-лимитная заявка на продажу $MSFT, что при достижении определенной цены при падении, будет автоматически выставлена лимитная заявка на продажу не ниже указанной. В заявке стояла сумма 247.07.

В 7:03 я получаю уведомление, что все тейк-профиты отменены.

В 7:22 что моя лимитная заявка на продажу выставлена.

Заявка была исполнена в 1 минуту открытия биржи.

Потери составили 198 долларов, где 260 долларов, цена закрытия предыдущего рабочего дня, а 238 долларов это цена продажи.

Всего было продано 9 акций.

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

Много случаев “спайков” есть и позднее марта 2020 в разных акциях. Хорошо летают котировки биотехнологических компаний в час публикации важных корпоративных сообщений (в основном это пресс-релизы связанные с FDA) перед стартом основных торгов в Америке. Для иллюстрации открываем график Biogen (BIIB_SPB) и видим:

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

а также Moderna (MRNA_SPB):

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖
Бывали казусы после сплита акций — например случай произошедший 02 июня 2020 года, в первый день торгов Edwards Lifesciences (EW_SPB) после сплита 3 of 1.

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

Это самые яркие ценовые аномалии, но вы легко сможете найти отклонения на графиках других акций на разные величины. Если встречали — пишите в комментариях.

 

Почему кризисы ликвидности возможны ? 

Дело в локальном спросе и предложении, которые формируются на СпБ бирже в конкретную минуту торгов. Действующие силы, которые могут сильно влиять на цену:

  1. Масса частных физ лиц, принимающих эмоциональные решения о купле или продаже

  2. Брокеры с техническими сбоями программного обеспечения

  3. Стоп-лосс и тейк-профит заявки трейдеров

  4. Риск-менеджеры брокеров, которые “режут” кредитные позиции клиентов

  5. Маркет-мейкеры, осуществляющие арбитраж между площадками NYSE и SPB-EXCHANGE.


На нормальном спокойном рынке, который мы видим большую часть времени, все силы сбалансированы. Именно маркет-мейкеры дают основную ликвидность и держат спреды между площадками NYSE и SPB-Exchange на минимальных значениях 0,1-0,2%. 

Но, предположим, что пушной зверёк таки снова пробрался на мировые рынки (как это было в марте 2020) и ночью (у нас) произошел обвал в Америке. Утром следующего дня фьючерсы в минусе. 😱😵🤯

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖

И как тогда открывать котировки в утреннюю торговую сессию на СПБ-бирже когда основная площадка NYSE закрыта с большими неопределенностями ?! 🥴

Предполагаю, что в это утро Маркет-Мейкер просто не выйдет рисковать своими деньгами или встанет в покупках в лучшем случае на несколько процентных пунктов (или десятки процентов), ниже закрытий предыдущего дня. Спреды в утреннюю торговую сессию СПБ-биржи будут колоссальными, если торги вообще начнутся. А сверху возникнет навес предложения в виде массы паникеров, стоп-лоссов и рисковиков с маржин-коллами. Это и есть мини-кризис ликвидности, открывающий окно возможностей для частных инвестиций по выгодным ценам. Главное условие участия в щедром аукционе — наличие свободных денежных средств на брокерском счету. 😉

Шеф, так что же делать? 🧐

Я считаю, что лучше всего построить автоматическую торговую систему (АТС), которая торгует ценовые неэффективности. Очевидный плюс АТС — отсутствие эмоций робота на высоко-волатильном рынке, холодные математические расчеты и быстрые заявки купли-продажи. Сегодня публикую простой пример, воспользовавшись которым, вы тоже сможете выставить заявки на СПБ-бирже в автоматизированном режиме. 🤖

Исходный код написан на языке QLUA и предоставляется на условиях “как есть” для образовательных целей. Скрипт выставляет лимитированные заявки на покупку акций из разных секторов экономики: Apple (APPL_SPB), Qualcomm (QCOM_SPB), Biogen (BIIB_SPB), Bank of America (BAC_SPB), Simon Property Group (SPG_SPB). Акции доступны к торгам с 7-00 по Московскому времени. Далее можете корректировать, добавлять в скрипт свои заявки с интересными вам акциями и ценами. Список всех ценных бумаг можно посмотреть на сайте биржи здесь: https://spbexchange.ru/ru/listing/securities/ 

🚀 Исходный Код 🚀

--[[ Инициализиация торговой сессии - выставление лимитированных заявок по бумагам ]]

--/* НАСТРАИВАЕМЫЕ ПАРАМЕТРЫ */
ACCOUNT = 'VTBRM_CL';        -- Идентификатор счета
CL_CODE = '******'; -- код клиента

--/* РАБОЧИЕ ПЕРЕМЕННЫЕ */
CntBuys = 0;
ErrBuyNum = 0;

-- Функция первичной инициализации скрипта (ВЫЗЫВАЕТСЯ ТЕРМИНАЛОМ QUIK в самом начале)
function OnInit()
   -- Пытается открыть лог-файл в режиме "чтения/записи"
   Log = io.open(getScriptPath().."//START_SPB_EXCHANGE_LOG.txt","r+");
   -- Если файл не существует
   if Log == nil then 
      -- Создает файл в режиме "записи"
      Log = io.open(getScriptPath().."//START_SPB_EXCHANGE_LOG.txt","w"); 
      -- Закрывает файл
      Log:close();
      -- Открывает уже существующий файл в режиме "чтения/записи"
      Log = io.open(getScriptPath().."//START_SPB_EXCHANGE_LOG.txt","r+");
   end; 
   -- Встает в конец файла
   Log:seek("end",0);
   Log:flush();
   
   -- Инициализирует генератор
   math.randomseed(os.date("*t",os.time()).sec); -- Инициализирует генератор псевдослучайных чисел параметром, каждый параметр порождает соответствующую (но одну и ту же) последовательность псевдослучайных чисел.    
end;

function main()
	local ServTime = getInfoParam("SERVERTIME")
	
	sendLimitBUY("SPBXM", "AAPL_SPB", 101, 1, 103) -- покупка Apple
	sendLimitBUY("SPBXM", "QCOM_SPB", 101, 1, 105) -- покупка Qualcom
	sendLimitBUY("SPBXM", "BIIB_SPB", 150, 1, 152) -- покупка Biogen
	sendLimitBUY("SPBXM", "BAC_SPB", 41, 1, 42) -- покупка Bank of America
	sendLimitBUY("SPBXM", "SPG_SPB", 101, 1, 102) -- покупка Simon PG

	local ServTimeLast = getInfoParam("SERVERTIME")
	ToLog(" Buy nums: "..tostring(CntBuys).." Errors: "..tostring(ErrBuyNum).." Start ST: "..ServTime.." End ST: "..ServTimeLast)
	
end;

-- Функция ВЫЗЫВАЕТСЯ ТЕРМИНАЛОМ QUIK при остановке скрипта
function OnStop()
   -- Встает в конец файла
   Log:seek("end",0);
   -- Добавляет пустую строку-разрыв
   Log:write("\n");
   Log:flush();
   Log:close();
 
end;

--[[
Функция для отравки лимитированной заявки на покупку ценной бумаги 
class_code - класс бумаги согласно классификатору биржи
sec_code - код ценной бумаги
price - цена
volume - объем (количество) бумагам
maxbuyprice - максимально допустимая цена покупки (ценовой ограничитель)

Данная функция возвращает:
ID присвоенный транзакции либо nil если транзакция отвергнута на уровне сервера Квик
--]]
function sendLimitBUY(class_code, sec_code, price, volume, maxbuyprice)
	-- отправка лимитированной заявки
	-- все параметры кроме кода клиента и коментария должны быть не nil
	-- если код клиента nil - ошибка и возврат

	if (class_code == nil or sec_code == nil or maxbuyprice == nil or volume == nil or ACCOUNT == nil or price == nil) then		
		ToLog("Can`t send BUY order. Nil parameters for "..tostring(sec_code))
		ErrBuyNum = ErrBuyNum + 1
		return nil
	end
	
	if (maxbuyprice < price) then
		ToLog("ERROR!!! "..tostring(sec_code).."incorrect BUY price.")
		ErrBuyNum = ErrBuyNum + 1
		return nil
	end
	
    -- Получаем случайное уникальное число для id
    local trans_id = math.random(17001,999999)
	local prs = nil

	local scale = getParamEx(class_code, sec_code, "SEC_SCALE")
	SCALE = tonumber(scale.param_value) -- шаг цены
		
	if (SCALE == 1) then prs = string.format("%.1f",price)
	elseif (SCALE == 2) then prs = string.format("%.2f",price)
	elseif (SCALE == 3) then prs = string.format("%.3f",price)
	elseif (SCALE == 4) then prs = string.format("%.4f",price)
	elseif (SCALE == 5) then prs = string.format("%.5f",price)
	else prs = string.format("%.0f",price)
	end
	
	local vlmstr = string.format("%.0f",volume)
		
    -- Таблица параметров транзацкии
	local transaction={
		["ACCOUNT"] = ACCOUNT,
		["CLIENT_CODE"] = CL_CODE,
		["TYPE"] = "L",
		["TRANS_ID"] = tostring(trans_id),
		["CLASSCODE"] = class_code,
		["SECCODE"] = sec_code,
		["ACTION"] = "NEW_ORDER",
		["OPERATION"] = "B", -- покупка
		["PRICE"] = prs, -- Цена
		["QUANTITY"] = vlmstr, -- Объем
    }
	
    local res = sendTransaction(transaction)	-- Отправляем транзацкию

	if res ~= "" then	-- Если незультат не пустой
		ToLog("ERROR!!! "..tostring(sec_code).."send BUY order is failed")
		ErrBuyNum = ErrBuyNum + 1
		return nil
    else        
		ToLog(tostring(sec_code).." Order BUY is sended "..tostring(trans_id).." on price "..tostring(price))
		CntBuys = CntBuys + 1
		return trans_id
	end	
	sleep(10)	-- timeout = 10 ms
end;

-- Функция для записи в лог действий скрипта
function ToLog(str)
   local datetime = os.date("*t",os.time()); -- Текущие дата/время
   local sec_mcs_str = tostring(os.clock()); -- Секунды с микросекундами 
   local mcs_str = "000"
	if (sec_mcs_str ~= nil) then
		mcs_str = string.sub(sec_mcs_str, sec_mcs_str:find("%.") + 1);   -- Микросекунды
	end
   -- Записывает в лог-файл переданную строку, добавляя в ее начало время с точностью до микросекунд
   Log:write(tostring(datetime.day).."-"
            ..tostring(datetime.month).."-"
            ..tostring(datetime.year).." "
            ..tostring(datetime.hour)..":"
            ..tostring(datetime.min)..":"
            ..tostring(datetime.sec).."."
            ..mcs_str.." "
            ..str.."\n");  -- Записывает в лог-файл
   Log:flush();   -- Сохраняет изменения в лог-файле
end;

 

Как запустить скрипт ?

  1. Скопируйте текст кода в файл с расширением .lua

  2. В текстовом редакторе в файле вставьте номер своего брокерского счета CL_CODE

  3. Запустите торговый терминал QUIK с идентификацией пользователя. 

  4. Запустите диалоговое окно “Меню -> Сервисы -> Lua-скрипты…”

  5. Выберите файл скрипта и нажмите кнопку “Запустить”

  6. Теперь найдите свои заявки в диалоговом окне “Создать окно->Заявки”

🇺🇸🇷🇺 Spb Exchange - биржа больших возможностей 😎 Как заработать во время обвала?! $$$ 🤖 Автоматизация (QLUA-робот) 🤖
Таким образом, каждый день нажимая всего одну кнопку, вы можете выставлять сотни заявок на Санкт-Петербургской бирже. 

Домашнее задание: 

Код выполняет выставление заявок только на покупку, но вы можете добавить функцию на продажу самостоятельно путем редактирования lua файла. ✍ За направление операции отвечает параметр “”OPERATION” (“B” — покупка, “S” — продажа) в таблице параметров transaction. Удачи! 🙏

Если тема будет популярной (ваши лайки 💞 и сохранения⭐), то опубликую вторую часть с более сложным скриптом, содержащим:

  1. Таймер автозапуска (утренняя сессия, основная сессия)

  2. Определение лимитов по д.с. перед покупкой

  3. Определение лимитов по ценным бумагам перед продажей

  4. Установка цен купли-продажи в зависимости от цен закрытия предыдущего дня.

  5. Автоматизированное снятие всех заявок

Что ещё добавить в этот скрипт напишите в комментариях.


Удачи в инвестициях на Санкт-Петербургской бирже! 🙏

пост на сматлаб конкурс

★47
45 комментариев

Информация, приведенная в данном материале, не является индивидуальной инвестиционной рекомендацией.

Ссылка на страницу вконтакте:
vk.com/genitive?w=wall354586636_185%2Fall
Ссылка на страницу в facebook:
www.facebook.com/kiselev.alexey.1
avatar
я бы приз дал )
avatar
Андрей К, ещё не вечер, ждём конкурирующие фирмы 
avatar
kiseLEV, такое мало кто оценит наверное. Все считают это редким заборотком и практически маловероятным. И величину прибыли никто не понимает, особенно если она может год прокормить.
avatar
Андрей К, 
а это действительно редкий и маловероятный заработок.
Кроме того, там еще и лося можно прикормить неслабого.
Дмитрий Овчинников, смотря какие движения брать и когда. К кризису ликвидности инвесторы обычно слабо подготовлены…
avatar
kiseLEV, 
инвесторы вообще ни к чему не подготовлены, чего о них печалиться?
такие движения хорошо и уютно смотреть на левой части графика. 
на правой части вам придется встать лимитками во все 100/200/500 тикеров, не знаю сколько их на Спб. а есть у вас столько денег? 
встанете далеко- до вас «кризис ликвидности» не дойдет. встанете близко, наловите лосей на безоткатных движениях.

Дмитрий Овчинников, зачем все тикеры, только выбранные. Достаточно один раз схватить движение, которое по доходности даст несколько сотен годовых. А в хороших бумагах можно спокойно находится потом длительное время…
встанете близко, наловите лосей на безоткатных движениях.
Ну опубликуйте свою ТС, а мы заценим как надо правильно торговать 
avatar
kiseLEV, 
Ну опубликуйте свою ТС, а мы заценим как надо правильно торговать 
Переход на личности — самый никудышный прием в дискуссии. Учитесь нормальному диалогу, иначе с вами перестанут общаться вменяемые собеседники.

Для проверки любой гипотезы существуют бектесты. Пробуйте, тестируйте, зарабатывайте, пишите о своих успехах!
Дмитрий Овчинников, я пока не переходил на личности. Просто видимо у вас очень ранимая оболочка  Вы пришли потроллить у меня в комментах — какой ещё реакции вы ожидаете? Халявных бэктестов вам ещё дать? Ага, щас 
avatar
Дмитрий Овчинников, до спб наверное тех прогресс не дошел, не щупал. Но если встать по обе стороны, то денег съедает меньше )
avatar
Дмитрий Овчинников, знаешь как оно бывает. И кстати случай не единичный и у многих. Когда ты сидишь в полной Ж и режешь косты, именно такие единичные случаи приходят и кормят. То есть да, тебе приходится делать одни и те же рутинные процессы из за дня в день, из месяца в месяц, которые не приносят результат ежедневный, но по итогу оно стояло того. С маленькой оговоркой, если на поляне мало кто есть. Если на поляне еще кто есть, приходится двигать попой в конкуренции
avatar
Андрей К, 
я делаю подобное на фортс, в более «технологичном» варианте. Рыбы там ну ОЧЕНЬ мало.
Дмитрий Овчинников, да, еще с 2014+ я раз в квартал ловил открытие сессий. Биржа принимает меры, чтоб такого не было. Поэтому топик как раз про то, что надо пробовать там, где еще нет технологий и «дикий» рынок.
avatar
Андрей К, 
не сравнивай свои возможности на открытии с возможностями «обычного» трейдера.
Андрей К, вот Вы верно ухватили суть. СПБ биржа — это пока дикий запад  Тем более утренние торги… Пока ликвидности валом, всё спокойно, но не дай боже американские индексы развернутся в понижательный тренд… Здесь может такой цирк начаться, опять будет куча соплей и воплей… Но мой пост к тому времени уже забудется в анналах истории смартлабика 
avatar
Андрей К, 
такие техники всегда идут в довесок ко всему остальному. Завести деньги на «дикий» рынок чтобы торговать только такую шляпу это утопия. А торговать нормальные вещи на Спб по-моему невозможно. Хотя да, я тоже не щупал.
Завести деньги на «дикий» рынок чтобы торговать только такую ...
Дмитрий Овчинников, а кто сказал, что все деньги были поставлены только на эту тактику? Не было такого. Это как-раз всего лишь один из рабочих инструментов.
avatar
скрипт просто выставляет лимитные заявки, всё? 
avatar
Igr, этот скрипт — да, только лимитки.
avatar
Igr, у меня есть уже код по пунктам: 
  1. Таймер автозапуска (утренняя сессия, основная сессия)

  2. Определение лимитов по д.с. перед покупкой

  3. Определение лимитов по ценным бумагам перед продажей

  4. Установка цен купли-продажи в зависимости от цен закрытия предыдущего дня.

  5. Автоматизированное снятие всех заявок


Но пока этот код не причёсан, чтобы его выкладывать на публику… Будет победа в конкурсе, будет мотивация поработать над второй частью с красивым исходным кодом.
avatar
Kiselev Alexey, а какой процент закладывается в определение от цен закрытия дня и сколько заявки висят по времени?
avatar
Paulmarko, процент определяется константой для каждой акции. Есть идея привязаться к фьючерсу на S&P и коэффициенту бэта акции. Заявки висят по времени до установленного таймера. Напрмер до 15-00.
avatar
Возьму на заметку
avatar
Годнота топик! kiseLEV всегда как пишет, хоть  редко, да метко.
 Не вникая в суть «скрипта», и забегая наперед, подумалось сделать какой нибудь спред-индикатор между биржами (другая нога естессно на СПБ).Задать роботу открывать позицию. Но с QUIK я не знаком.  
avatar
Вы же в курсе, что os.clock() выводит миллисекунды, и это миллисекунды не текущего времени?
avatar
MegaFan, 

os.clock  — возвращает время в секундах с точностью до миллисекунд с момента запуска UoPilot.

А как вывести миллисекунды текущего времени? Напишите пожалуйста

 
avatar
Kiselev Alexey, штатными средствами никак :(
Либо подключать внешний модуль, но тут будут танцы с бубнами по совместимости lua 5.1, 5.3, 5.4 x86, x64. Либо написать свою собственную dll. По ссылке есть примеры stackoverflow.com/questions/463101/lua-current-time-in-milliseconds
avatar
MegaFan, благодарю 
avatar
1) Сначала я подумал, что коды бумаг и цены покупок внутри скрипта прописывать. Но  увидел этот пункт:
6 Теперь найдите свои заявки в диалоговом окне “Создать окно->Заявки”
и не понял что это значит.

2) Что в этой строке кода
sendLimitBUY(«SPBXM», «AAPL_SPB», 101, 1, 103) — покупка Apple
означают цифры 101 и 103?

3) Что значит «Идентификатор счета» в этой строке?:
ACCOUNT = 'VTBRM_CL';        — Идентификатор счета
В таблице заявок нашел и добавил столбец с таким названием, но он остается пустым (Открытие брокер)
У Открытия не вижу чего-то схожего.
avatar
2) Что в этой строке кодаsendLimitBUY(«SPBXM», «AAPL_SPB», 101, 1, 103) — покупка Appleозначают цифры 101 и 103?
Weddy, 101 — цена купли, 103 — это просто ограничитель, который может быть использован в более поздних версиях скрипта, когда расчет цены будет автоматический. То есть в следующей версии например насчитали, что согласно предыдущему закрытию можем купить по 105, но стоит ограничетель 103, это цена выше которой мы не хотим выставлять заявку, тогда заявка выставлена не будет, а в лог-файл будет записано сообщение типа:
"ERROR!!! "..tostring(sec_code).."incorrect BUY price."

В-общем пока в этой версии вручную ставим цену1 < цены2, тогда заявки выставляются.
avatar
3) Что значит «Идентификатор счета» в этой строке?:
ACCOUNT = 'VTBRM_CL';        — Идентификатор счета
В таблице заявок нашел и добавил столбец с таким названием
Weddy, верно, спасибо за вопрос!
Совсем про это забыл указать — это переменная из диалогового окна: «SPB: Акции Ввод заявки»


avatar
1) Сначала я подумал, что коды бумаг и цены покупок внутри скрипта прописывать. 
Да, коды инструментов прописываете в теле основного цикла main, там сейчас забито пять кодов, указанных в посте: Apple (APPL_SPB), Qualcomm (QCOM_SPB), Biogen (BIIB_SPB), Bank of America (BAC_SPB), Simon Property Group (SPG_SPB).
Код — это тикер NYSE подчеркивание SPB
avatar
Плюсанул. Судя по коду скрипта — Ваш брокер ВТБ. В этой технологии есть ещё один нюанс, отражение которого я не увидел в тексте поста :)

Заявки можно расставлять под залог имеющихся активов. После окончания торговой сессии заявки автоматически снимаются биржей и полученный брокерский кредит гасится в этот же торговый день. У ВТБ за такой кредит проценты не начисляются.
avatar
pessimist, верно. Спасибо! 
avatar
Kiselev Alexey, 

pessimist, верно. Спасибо! 

Чот, каментов маловато, спрошу «для мебели»:

А с какой целью такие «танцы с бубном» вокруг файла Log? Зачем ему режим чтения-записи, подвижка ползунка и т.д. ? 

То есть, когда возникает случай, чтобы программе потребовалось что-то прочитать из Log файла?

Почему недостаточно просто создать файл в режиме уничтожения-записи «w»? Тогда, каждый новый запуск — это чистый лог, позиционироваться не нужно, все происходит автоматически...? 
avatar
pessimist, спасибо. Записал 
avatar
Kiselev Alexey, 

pessimist, спасибо. Записал 

Ну, типа, чтобы топик зашел на «главную» в категории «жара», нужно набрать каментов штук 60, а на текущий момент — только за 30 перевалило.

Можно поотвечать на каменты без ответа, например :)

В конце-концов, для айфона — нужна победа 
avatar
нужно набрать каментов штук 60, а на текущий момент — только за 30 перевалило.
pessimist, это да, технологии мы знаем, но пост был вчера... 
avatar
Kiselev Alexey, 

pessimist, это да, технологии мы знаем, но пост был вчера... 

Ай-яй-яй… А в «Азию» написали только сегодня... 
avatar
pessimist, думал, что без тяжёлой артилерии смогу победить 
avatar
pessimist, думал, что без тяжёлой артилерии смогу победить 

Да… В следующий раз — предупреждайте… Теперь, даже пост о посте уже не поможет…
avatar
Рада, что моя инфографика пригодилась, но лайк можно было и поставить)
avatar
Daria Reutova, я Вам прошлый раз поставил жирный лайк в первом конкурсе и проголосовал в итоговом голосовании — за ваш пост. Так что какие тут могут быть обидняки? )
avatar

теги блога Алексей

....все тэги



UPDONW
Новый дизайн