Избранное трейдера dusheska

по

Как слать сообщения в телеграм из питона в три строчки

Удобно когда бот шлёт сообщения в телеграм, а не в лог файл. Как это можно сделать в python? Очень просто.

Как слать сообщения в телеграм из питона в три строчки

Шаг 1. Устанавливаем либу loguru. Вам же нужно логирование в боте? Через loguru настраивается парой строчек.
Шаг 2. Устанавливаем либу notifiers которая шлёт сообщения куда угодно тоже парой строчек.
Шаг 3. Настраиваем

# подключаем либы
from loguru import logger
from notifiers.logging import NotificationHandler

# прописываем параметры телеграм бота, от чьего имени и куда слать, где их взять думаю сами разберетесь
params = {
    'token': 'dfdfsfasdfljsahdfkljhasdfklj',
    'chat_id': 'dfkdsflksdjfls;kfjas;ldkf'
}
tg_handler = NotificationHandler("telegram", defaults=params)

# добавляем в logger правило, что все логи уровня info и выше отсылаются в телегу
logger.add(tg_handler, level="INFO")

Я у себя настроил уровень info. Использую его как раз для сообщений в телегу. А вот debug сообщения в телегу уже не приходят. Нечего эфир засорять. Подробнее про уровни логов можно почитать в справке docs.python.org/3/library/logging.html#logging-levels

Шаг 4. Отправляем сообщение
logger.info("Слава роботам! Убить всех человеков!")

Если не нужны логи, можно слать просто через notifiers.

ПРО РИСКИ

    • 01 мая 2021, 02:46
    • |
    • asfa
  • Еще


«Чтобы бороться завтра – надо выжить сегодня!» (какой-то альпинист)

«Good news for everyone

1. Сегодня про опционы будет очень мало!

2. Сейчас считаю свой «писательский зуд» удовлетворенным, посему делаю перерыв на неопределенное время. Не буду больше спамить. Ухожу с головой в работу, т.к. скоро будет «много крови!» или откровенное «болото»…

ПРЕЛЮДИЯ

В современном мире людям/детям прививают клиповое мышление. Показывают только красивую картинку, вызывающую «слюноотделение», но вообще не показывают риски и негативные исходы.
Всё как в идеальном мире или компьютерной игре, где без потерь (кроме времени!) можно просто начать уровень заново.

Например, как здорово заиметь вот этот классный смартфон!
Но реклама умалчивает о том какую информацию этот красивый новый друг передаёт о тебе «кому следует».



( Читать дальше )

Подборка полезных ресурсов без Yahoo Finance и Seeking Alpha: данные, идеи и воспроизводимые исследования

Привет, в этот раз будет общий пост про полезные источники в сети, где можно бесплатно взять данные, примеры кода и другие полезные вещи.

Более направленные подборки по идеям можно посмотреть здесь https://smart-lab.ru/blog/628709.php, а по книгам здесь https://smart-lab.ru/blog/681121.php

Биржевые данные:

Биржевые:

  • https://www.quandl.com Quandl. Простой и адекватный API для Python, много бесплатных данных по отдельным биржам. Например, по Гонконгской и Варшавской бирже. Есть данные по сырьевым фьючерсам и другому сырью. Экономическая статистика и альтернативные данные тоже есть в бесплатном варианте. В отличие от других сайтов с котировками и графиками – здесь промышленная выгрузка для исследований;
  • https://stooq.com Stooq. Неожиданно богатый бесплатным контентом локальный сайт (Польша). Большая часть не представляет интереса и можно сразу перейти к большим (для бесплатных) выборкам биржевых данных по США, некоторым европейским и азиатским странам


( Читать дальше )

Какого брокера выбрать, если у вас 3 миллиона рублей?

3 миллиона рублей — это та сумма, с которой можно получить бесплатное премиальное обслуживание (и вместе с ним кучу бонусов) в большинстве банков России.

При этом банки учитывают все ваши средства, в том числе на брокерских счетах. И это полностью меняет правила выбора брокера для человека с суммарным капиталом 3 миллиона рублей.

Участвуйте в анонимном голосовании о размере своего портфеля.

В этой статье я сравню предложения от разных банков и поделюсь личным опытом выбора брокера.

Брокерские компании проиграли

Я открывал брокерский счет в те времена, когда инвестиции не были популярны. Тогда ты шел не в банк, а именно в брокерскую компанию — Финам, БКС, Открытие, Кит-Финанс и т.п.

Конечно ВТБ, Сбербанк и Альфа-банк тоже предоставляли брокерское обслуживание, но не было никакой ассоциации банк=брокер.

Список ведущих брокеров на конец 2015 года:

Какого брокера выбрать, если у вас 3 миллиона рублей?Ведущие операторы рынка на 2015 год - 

( Читать дальше )

Успей до 30 апреля. Как платить налог на дивиденды иностранных компаний. Пошаговая инструкция

Ребята, вы подали налоговые декларации за 2020 год? Помните, что 30 апреля — крайний срок?

Налог на дивиденды от иностранных компаний — эта процедура вводит в ступор неопытных инвесторов, потому что отчитываться необходимо самостоятельно. Кажется, что это сложный процесс. На самом деле нет. Но нужно знать о нюансах.

Отчитываться нужно тем инвесторам, которые подписали налоговую форму 8W-ben (делается через брокера). Она необходима для налоговой Службы США, чтобы сократить размер налога. 

❌ Если данная форма не подписана, то инвестор платит 30% налог на дивиденды от компаний из США. Налог за него перечисляет брокер. Инвестору нужно подать декларацию, налог с него не спишут.

✅ Если форма подписана, то общая сумма налога уменьшается до 13%. Из них 10% перечисляет брокер, а инвестору необходимо отчитаться самостоятельно в российскую налоговую службу об еще 3%. 


Шаг 1️⃣: заказываем у брокера Справку о доходах за пределами РФ



( Читать дальше )

"Танцы с бубнами" с 3-НДФЛ или почему в ЛК налоговой "кривые" справки о доходах от брокеров

    • 05 апреля 2021, 17:22
    • |
    • А. Г.
      Проверенный аккаунт
  • Еще
При заполнении декларации выяснилась одна неприятная вещь: к одному коду дохода можно добавить лишь один код вычета. При этом добавить код вычета, по которому нет дохода, согласно справке 2-НДФЛ от брокера, не получится.

Что делать? Просто складывать вычеты и помещать их в один. Например, сумму 201 и 222 помещать под кодом 201, сумму 205 (сальдирование ЦБ и ПФИ на ЦБ и фондовые индексы) и 206 помещать  на 201 (+222) или 206, выбрав тот из них, который в справке 2-НДФЛ не равен доходу по кодам 1530 и 1532, соответственно, сумму 206 и 209 (сальдирование  ПФИ на ЦБ и фондовые индексы с ПФИ не на ЦБ) помещать на 206 или 207, выбрав тот из них, который в справке 2-НДФЛ не равен доходу по кодам 1532 и 1535, соответственно. Именно так эти коды расположены друг под другом в справке 2-НДФЛ.

Теперь понятно почему справки 2-НДФЛ от брокеров — неверные. Бухгалтерия то ведет вычеты по разным кодам, а налоговая для каждого дохода принимает лишь один из.

Поэтому в одной справке от брокера в ЛК налоговой у меня нет вычетов  201 и 209, в другой 222 и 205, и только третья справка, где один код вычета — 201, верная.

( Читать дальше )

Как приобрести криптовалюту? Все что вы хотели знать, но не знали, как спросить

Криптовалюта с этого года официально признана в России имуществом и средством накопления. Ей нельзя расплачиваться за товары и услуги на территории России, но можно совершать с сделки, так же, как с ценными бумагами.

Я не призываю вас покупать криптовалюту, но если вы решились все-таки прикупить, например, биткойнов, то вот один из способов, как я это можно сделать.

Сначала краткая вводная по типам криптовалют. Я для себя их делю их условно на 3 типа:

  • Регрессивные криптовалюты, то есть такие, которые нельзя добыть (майнить) больше определенного количества. К таким криптовалютам относиться, например, Bitcoin (Биткоины), общий объем которых составляет 21 млн., из которых, на данный момент, уже добыто 18,6 млн. Суть таких криптовалют близка к драгоценным металлам, которых тоже ограниченный запас, их надо добывать, нельзя подделать и для добычи надо потратить ресурсы.
  • Эмиссионные криповалюты, добыча которых не ограничена верхней планкой, но при этом их все равно надо добывать, и на это тратится энергия — такие валюты являются «кровью» блокчейн платформ, например Ethereum (Эфириум)
  • Цифровые валюты или stablecoins, это когда каждой цифровой монете соответствует обычная валюта. Например Tether (USDT) — их выпускает компания Tether, и каждый токен  обеспечен $1. Это криптоаналог обычных денег, он широко используется для расчетов за другие криптовалюты, для быстрых переводов денег между людьми, вне зависимости от их местонахождения. Аналогичные токены есть и для евро и для йены. Стеблкойны обычно базируются на блокчейне эфира или биткойна, именно блокчейн позволяет совершать с ними операции.


( Читать дальше )

Как легально вывести деньги с ИИС, не ломая его (без регистрации, СМС и костылей). Лайфхак!!!

Тема поста в заголовке, поэтому без лишней воды приступим.

Вводные данные:
— у вас открыт ИИС. Тип вычета А (т.е. возвращаем НДФЛ со взносов)
— в договоре с брокером вы указали, что получаете дивы и купоны на свой банковский!!! отдельный!!! счет (не ИИС).

Что делаем:
Шаг 1: загоняем деньги на ИИС.
Шаг 2: покупаем на ту сумму, что нужно вывести, облиги ВЭБа с ближайшей датой погашения.
Важно: не ближайшая дата выплата купона, а ближайшая дата погашения. Т.е. последняя выплата  = последний купон + номинал.

Шаг 3: ждем дату погашения, получаем последний купон и номинал облиги на свой банковский счет.

Что за хрень спросите вы? Объясняю.

В прошлом году я заметила, что номиналы по облигам ВЭБа при погашении мне приходят на банковский счет. Хотя все другие облиги погашаются так: купоны на банковский, номинал возвращается на ИИС. Но только не ВЭБ.

Справедливо рассудив, что такая петрушка не понравится налоговому органу и мне могут завернуть вычет, да еще и попросят вернуть предыдущие, я запулила вопрос в суппорт брокера и выяснилось следующее.

( Читать дальше )
  • обсудить на форуме:
  • ИИС

Реальная причина богатства США (ответ VpnS )

Всем привет)
Смотрю, на главной странице красуется пост VpnS… такой… ну, несолидный для серьезного ФИНАНСОВОГО ресурса. Такой… по-детски умилительный)))
У человека реально, на полном серьезе, такая вот искренняя вера в американцев, как СВЕРХЛЮДЕЙ, и умиление и преклонение перед США))

Ну… что поделать… в конце концов Смарт-Лаб, это тоже часть людского сообщества… люди все разные… значит и здесь должны быть люди с разным образованием, уровнем жизни, жизненных или политических взглядов, жизненных интересов, представлений о мире и т.д., и т.п.

Но всё-же я прям переживаю за Смарт-Лаб… ну реально-же что ни день, то ресурс пробивает очередное дно((
Так что, спешу исправить эту оплошность)
На серьезном финансовом ресурсе все-же должны быть хоть более-менее обстоятельные посты)

Это было вступление, теперь перехожу к конкретике, итак...:


Реальная причина богатства США


( Читать дальше )

Как отправлять сообщения из Квика в Телеграм! И писать в файлик разную дребедень!


Все очень и  очень просто!
Достаточно создать бота в телеге,  написать примитивный  луа  скрипт и запустить его.

Про ботов в телеге здесь  https://core.telegram.org/bots
в гугле  куча инфы  и примеров, как чего куда и зачем.


--
--СКРИПТ Niki для smart-lab.ru 260321  ревизия
---------------------------------------

-- Флаг для поддержания работы функции main
is_run=true

fut_limit_old =0
fut_limit_max =0
kgo_old       =0.5


function main( ... )  -- чудотворная функция внутри  которой все  работает

		   
		    --"r": режим чтения (по умолчанию);
			--"w": режим записи;
			--"a": режим добавления;
			--"r+": режим обновления, все предыдущие данные сохраняются;
			--"w+": режим обновления, все предыдущие данные стираются;
			--"a+": режим добавления и обновления, предыдущие данные сохраняются, запись разрешена только в конец файла.     b бинарные файлы
		   
		   -- Пытается открыть файл в режиме "чтения/записи"
		   f = io.open(getScriptPath().."\\Limits.txt","a");
		   -- Если файл не существует
		   if f == nil then 
			  -- Создает файл в режиме "записи"
			  f = io.open(getScriptPath().."\\Limits.txt","w"); 
			  -- Закрывает файл
			  f:close();
			  -- Открывает уже существующий файл в режиме "чтения/записи"
			  f = io.open(getScriptPath().."\\Limits.txt","a");
		   end;

    while is_run do    
        sleep(1000)   -- 1000 = 1 секунда    --волшебная пауза в  работе  скрипта
		
		if getFuturesLimit("A111", "A111111", 0, "SUR") ~= nil then     -- защита от  пустых таблиц    -- впишите ваши данные из Квика
		
			-- %c   - дата и время (по-умолчанию) (пример, 03/22/15 22:28:11) 
			-- %x   - дата (пример, 09/16/98)
			-- %X   - время (пример, 23:48:10)
			
			seconds = os.time(); -- в seconds будет значение 1427052491
			date1 = os.date("%x",seconds);  --  %c   - дата (по-умолчанию) (пример, 03/22/15 22:28:11) 
			time1 = os.date("%X",seconds);  --  %c   - время (по-умолчанию) (пример, 03/22/15 22:28:11) 
			
			
			--[[
			liquidity_coef           --NUMBER  Коэффициент ликвидности  
			cbp_prev_limit           --NUMBER  Предыдущий лимит открытых позиций на спот-рынке» 
			cbplimit                 --NUMBER  Лимит открытых позиций  
			cbplused                 --NUMBER  Текущие чистые позиции  
			cbplplanned              --NUMBER  Плановые чистые позиции  
			varmargin                --NUMBER  Вариационная маржа  
			accruedint               --NUMBER  Накопленный доход   
			cbplused_for_orders      --NUMBER  Текущие чистые позиции (под заявки)  
			cbplused_for_positions   --NUMBER  Текущие чистые позиции (под открытые позиции)  
			options_premium          --NUMBER  Премия по опционам  
			ts_comission             --NUMBER  Биржевые сборы  
			kgo                      --NUMBER  Коэффициент клиентского гарантийного обеспечения  
			currcode                 --STRING   Валюта, в которой транслируется ограничение  
			real_varmargin           --NUMBER  Реально начисленная в ходе клиринга вариационная маржа. Отображается с точностью до 2 двух знаков. При этом в поле «varmargin» транслируется вариационная маржа, рассчитанная с учетом установленных границ изменения цены  
			--]]
			
			
			fut_limit    = getFuturesLimit("A111", "A111111", 0, "SUR").cbplused_for_positions    --  NUMBER  Текущие чистые позиции (под открытые позиции)     -- впишите ваши данные из Квика
			varmargin    = getFuturesLimit("A111", "A111111", 0, "SUR").varmargin                 -- впишите ваши данные из Квика
			accruedint   = getFuturesLimit("A111", "A111111", 0, "SUR").accruedint                -- впишите ваши данные из Квика
			ts_comission = getFuturesLimit("A111", "A111111", 0, "SUR").ts_comission              -- впишите ваши данные из Квика
			kgo          = getFuturesLimit("A111", "A111111", 0, "SUR").kgo                       -- впишите ваши данные из Квика
			
			profit = varmargin + accruedint;
	 
			--if  math.abs(fut_limit-fut_limit_old) > 10000 then       -- каждые 10000 рублей изменения ГО,   слишком частый файл печати 
			if  math.abs(fut_limit-fut_limit_old) > 100000 then       -- каждые 100000 рублей изменения ГО,   настраиваем под себя.
			
				open_lim     = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit                  --NUMBER  Лимит открытых позиций
				f:write( tostring(date1).."  "..tostring(time1).."  ".."ГО: "..tostring(fut_limit).."  ".."Профит: "..tostring(profit).."  ".."Комис: "..tostring(ts_comission).."  ".. "КГО: "..tostring(kgo).."  Lim: "..tostring(open_lim)..  "\n"); -- "\n" признак конца строки
				--f:write( tostring(date1).. "  " ..tostring(time1)..  "  " .. "BID: " .. tostring(res_trans) .. "  " .. "ASK: " ..  tostring(MXU8ask_vol) .. "\n"); -- "\n" признак конца строки
				   -- Сохраняет изменения в файле на диск
				f:flush();
				
				fut_limit_old = fut_limit;
			end
			
			if fut_limit_max == 0  then   								
				fut_limit_max = fut_limit;
			end	
				
			if ( math.abs(fut_limit-fut_limit_max) > 1000000 and fut_limit>0 ) then   	  -- настраиваем под себя							
				message( tostring(fut_limit) )   ----сообщение в Квик--
				--message( tostring(time1) )
				---------------------------------------- отправляем сообщение в  Телеграмм--
				pos_free     = getFuturesLimit("A111", "A111111", 0, "SUR").cbplplanned               --NUMBER  ГО свободных денег от позы без пониженного ГО 
				open_lim     = getFuturesLimit("A111", "A111111", 0, "SUR").cbplimit                  --NUMBER  Лимит открытых позиций
				tg_message = tostring(open_lim).."   ГО:"..tostring(fut_limit).."   Поза:"..tostring(open_lim-pos_free) 
				os.execute('curl  "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ')    -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм
				----------------------------------------
				-- Пример строки   https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text=  + Привет Квик!
				----------------------------------------
				fut_limit_max = fut_limit;
			end	
			
			if  math.abs(kgo-kgo_old) > 0 then
				---------------------------------------- отправляем сообщение в  телеграмм
				tg_message = tostring(kgo).." Внимание! Изменился коэффициент КГО" 
				os.execute('curl  "https://api.telegram.org/botВашиДанныеИзТелеграмм&text= + '..tg_message..' " ')    -- отправляем в телегу, через винду. Вписать ваши данные из Телеграмм
				----------------------------------------
				-- Пример строки   https://api.telegram.org/bot365877050:AAE232342348HIqifnyGSsw89U_4TK3Y/sendMessage?chat_id=202560128&text=  + Привет Квик!
				----------------------------------------
				kgo_old = kgo;
			end
		end
		
		
		
    end
f:close();  -- закрываем файл печати.
end		
		

-- Остановка скрипта из Квика
function OnStop(stop_flag)

    is_run=false

end


( Читать дальше )
  • обсудить на форуме:
  • QUIK

....все тэги
UPDONW
Новый дизайн