Избранное трейдера /\../

по

Утренний сон алготрейдера


После введения утренней торговой сессии проблема автоматического запуска торгового ПО стала особенно актуальна.
Хорошее решение предложил Евгений Логунов  в своей статье «Простой автологин за 5 минут».  Мы предложим аналогичное решение для КВИК на С++.

Задача очень простая — в 7:00 пробудить ПК с помощью планировщика заданий Windows, запустить несколько терминалов QUIK, и в каждом из них запустить торговых роботов, чтобы полностью освободить владельца всего этого счастья от физических и психических нагрузок, плохо влияющих на питание и здоровый образ жизни.


Итак, первое, что нам необходимо будет сделать это Автологин. Штука достаточно простая, учитывая то, что после запуска терминала он автоматически выдает окно приветствия. Нам нужно только дождаться появления этого окна, получить первое вводное поле (логин), второе вводное поле (пароль), вбить туда нужные значения и нажать на первую дочернюю кнопку этого окна: «Вход».

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

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


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

Про ботов в телеге здесь  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

Важные советы при заполнении декларации 3-НДФЛ - памятка для инвестора

Доброго всем дня, спешу описать ошибки, которые часто допускают при заполнении декларации 3-НДФЛ, когда декларируют свой доход. Сейчас идет «горячая пора» сдачи отчетности и поэтому хочу обратить ваше внимание на следующее:

1. Дивиденды по зарубежным акциям

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

Приведу простой пример – допустим, через Тинькофф банк вам была осуществлена выплата дивиденда по американской бумаге 46,80 долларов, при этом сумма налога была удержана 5,2 долларов. Нельзя ставить в декларацию сумму дивиденда 46,80 и налог 5,2, правильно будет поставить сумму начисленного дивиденда 52 доллара и сумму налога 5,2.

2. Сальдирование результатов

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



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

Руководство для туристов-экстремалов: как попасть на больничную койку в ковидарий

Да, некоторые устраиваются работать на виноградники в Италии, другие — учатся летать. Жизнь — она такая. Особенно, если все надоело и хочется какого-то разнообразия, выйти из зоны комфорта, начать творить. Итак...

Это руководство для тех, кто захотел провести свой отпуск на больничой койке, прочувствовав на себе все инновации современной медицины и особенности лечения COVID-19 во время пандемии.

Отмечу, оно не является единственно верным и исчерпывающим.

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

1. Устройтесь на работу в «черную», не платите налоги, не болейте, так как тогда не заплатят.
2. Возьмите крупный кредит и купите шикарную тачку, а можно и ипотеку. Еще как вариант — взять кредит на первый взнос по ипотеке.

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

Список полезных авторов СмартЛаба

    • 12 февраля 2021, 23:32
    • |
    • Diamond
  • Еще
Без политики и околорынка, в основном опционщики или алготрейдеры.

Artemunak

Eugene Logunov

anatolyutkin

kvazar

Александр Муравьев

Дмитрий Широков

Кирилл Глухов

Компания TSLab

Микаелян Саро

ПВМ

ves2010

TATARIN


Ильнур пишет редко, но метко, поэтому тоже в списке.

Система пошла в разнос!

        Биткоин  40.000 $! Начался тот самый инфляционный беспредел о котором уже несколько месяцев писал блогер 
  • spydell
  •  «Очевидно, этих монетарных сумасбродов не остановит ничего, кроме инфляционного выброса, который будет внезапным, исключительно резким и стремительным, опустошающим все на своем пути.

    Базой под инфляционный выброс будет беспрецедентный объем сбережений на руках у населения (который косвенно проявляется через рекордный рост денежной массы) на траектории отказа, бегства от денег (с частичной потерей доверия к монетарным властям и денежным инструментам). Бегство от денег как раз поддерживается монетарными властями через нулевые и отрицательные процентные ставки. Все это может быть усилено завалом производительности труда, прежде всего, в низкоквалифицированной сфере услуг после диспропорциональных субсидий, демотивирующих к труду. В итоге получаем ядерную смесь – предложение товаров и услуг упадет на фоне роста скорости обращения денег и их количества в системе.»

Дистанционное банковское обслуживание, как угроза безопасности ден средств.

    • 25 декабря 2020, 22:42
    • |
    • хм
      Популярный автор
  • Еще
Думаю,  ни для кого не секрет, что в период эпидемии банки перевели идентификацию клиента полностью через сим карту.

Теперь смс, это аналог паспорта, подписи и личного присутствия в офисе банка.


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

Варианты хищения.

1. Соц инженерия, когда клиент сам  называет мошенникам смс с кодом. На телефон звонит «СБ банка», при этом называет персональные данные клиента, номера его счетов, суммы и просит назвать клиента смс код. Не знаю как, но этот вариант отлично работает.
У меня такое ощущение лично складывается, что 50% дорогих россиян клинические идиоты.

Другим вариантом данного пункта является просьба к клиенту установить на телефон программу удаленного доступа.

2. Фишинговые сайты. Подмена реальных сайтов банков на левые сайты, на которых вы вводите сами все логины, пароли и смс коды.

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

Lua для Квик - отправка сообщений по емейлу

Хочу создать скрипт, который бы высылал на емейл нужную мне информацию.
По тем материалам, которые у меня есть, для этого нужно писать костыль на бесике.
Может быть сейчас появились более современные варианты?
Quik версия 7.ххх
  • обсудить на форуме:
  • Quik Lua

Итоги года 2020. Программирование

   Год уже заканчивается и пора подводить некоторые итоги. Начну свою ежегодную серию итогов со своего хобби – программирование в области финансовых рынков. Увлёкся этим делом в конце 2005-го года. Тогда начал осваивать MQL4 в MetaTrader 4, но, через пару лет, поняв кухню ДЦ, перешёл в QUIK на реальную биржу. Тогда же, начал монетизировать своё хобби. Моя история прошлых лет, если кому интересно.

   В статье будет, возможно, много не интересного не посвящённым в программирование, поэтому можете смело прокрутить в «Выводы».

Итоги.

   В начале года не было желания что-то программировать. Часто собирался с друзьями. Мой робот в январе ушёл в минус 2% по всему счёту. Робот был настроен только в продажу рынка на деривативах, хеджируя основной портфель акций. В общем-то, это моя основная идея последних двух лет. Звёздный час робота настал в конце февраля. Как раз, когда я уехал из города, робот исправно накапливал продажи на летящем вниз рынке. Тогда я в очередной раз убедился в необходимости автоматизации. На мартовской экспирации часть средств удалось удачно перекинуть в подешевевшие акции.



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

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