Избранное трейдера Александр Павлов

по

Как легально не платить налоги/налоговые льготы в 2020 году

Всем привет!

Сегодня мы будем говорить про налоговые льготы для частных инвесторов в 2020 году.

Кому удобнее вот видео-формат:



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

Алготрейдинг. Получение данных свечей средствами QLUA и запись их в .CSV

Алготрейдинг. Получение данных свечей средствами QLUA

Очень часто бывает необходимо получить данные последних N-свечей различного интервала инструмента торговли. К сожалению, в справке QLUA нет достаточно полных примеров кода работы получения данных. В скрипте приведён пример получения данных интервала М1 инструмента BRN0 в формате <Инструмент> <Дата> <Время> <Цена_Open> <Цена_High> <Цена_Low> <Цена_Close> <Объем>. Данные пишутся в CSV формат.
Почему просто не выводить по DDE график и обрабатывать его в чём-нибудь более приятном? Есть простые вещи, для которых нет необходимости в таких конструкциях (проанализировать резкое изменение объема, найти определенную формацию/комбинацию свечей, а затем вывести в quik сообщение).
-------------------------------------------------------------------------------------------------------
--- Функция получения результатов свечей в .CSV в виде:
--- <Инструмент> <Дата> <Время> <Цена_Open> <Цена_High> <Цена_Low> <Цена_Close> <Объем>
--- BRN0	1	20200605	200100	42.15	42.16	42.1	42.1	2150
-------------------------------------------------------------------------------------------------------
is_run=true

-- Параметры
tInstr="BRN0" --код инструмента/бумаги
classcode="SPBFUT" --код класса инструмента/бумаги, если нужен фондовый рынок - вводить TQBR вместо SPBFUT
iNterval=INTERVAL_M1 --таймфрейм
-- доступные таймфреймы указаны в справке Quik (qlua.chm в папке с quik) по поиску CreateDataSource
-- пример INTERVAL_H1
corrTime=3 --Время МСК. C сервера время приходит без корректировки.
pFile="w:\\temp" --путь, где будет создаваться файл
cBars=10 --сколько свечей надо вывести
--настройка параметров

function OnInit()
	out_file=io.open(pFile .."\\"..tostring(tInstr)..".csv","w")
	is_run=(out_file~=nil)
	ds=CreateDataSource(classcode, tInstr, iNterval ) --создаем источник данных
	ds:SetUpdateCallback(NewChartData) --обновление последних данных
end

function strText(int)
	local m=tostring(int)
	local mLen=string.len(int)

	if mLen==1 then
		Output="0" .. tostring(m)
	else Output=m
	end
	return Output
end

function main()
	while is_run do
	local Size=ds:Size() --Получение количества всех свечей в источнике данных

	if cBars>Size then
		cBars=Size-1
	end

	for i=Size-cBars, Size, 1 do
		local O=ds:O(i) -- Значение цена открытия свечи
		local H=ds:H(i) -- Значение High для свечи
		local L=ds:L(i) -- Значение Low для свечи
		local C=ds:C(i) -- Значение Close для свечи
		local V=ds:V(i) -- Значение Volume для свечи
		local T=ds:T(i) -- Значение Time для свечи

		sTime=os.time(T)
		datetime=os.date("!*t",sTime)

		--вывод в файл
		out_file:write(tInstr..";"..tostring(iNterval)..";"..tostring(datetime.year)..tostring(strText(datetime.month))..tostring(strText(datetime.day))..";"..tostring(strText(datetime.hour + corrTime))..tostring(strText(datetime.min))..tostring(strText(datetime.sec))..";"..tostring(O)..";"..tostring(H)..";"..tostring(L)..";"..tostring©..";"..tostring(V).."\n")
		out_file:flush() --запись данных
	end
		out_file:close()
		sleep(1000)   -- приостановка на 1 секунду
		out_file=io.open(pFile .."\\"..tostring(tInstr)..".csv","w")
	end
end
  • обсудить на форуме:
  • Quik Lua

Экспорт данных Quik -> DDE -> Ваша программа.

    • 26 мая 2020, 13:56
    • |
    • 3Qu
  • Еще

После написания топика «Quik, DDE, Excel» [1], где была поставлена задача вывода данных доски опционов не непосредственно в Excel, что является очень неудобным для конкретных приложений, а в свой DDE-сервер. Свой DDE-Сервер обладает тем преимуществом, что данные из него можно направлять куда угодно, и как угодно.

С тех пор прошло 3 дня. Черновая болванка программы уже написана, отлажена, работает, и выполняет все возложенные на нее задачи. Как я опрометчиво обещал, проект DDE-Сервера будет предоставлен всем желающим [2](см. список ссылок). Проект выполнен на C++ в среде VS2017. DDE-Сервер на данном этапе выполнен в виде консольного приложения, и все что он делает, это выводит получаемые из Quik по DDE данные на консоль. В принципе, он должен работать с любой таблицей Quik, но делался под вывод доски опционов.

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



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

Quik, Какие файлы удалять перед запуском ?

    • 25 мая 2020, 16:42
    • |
    • _sg_
  • Еще
Раньше я всегда перед запуском удалял всего один файл info.log.
Позвонив в Тех. Поддержку Finama, мне посоветовали удалять еще все файлы *.dat
Quik у меня 7.27
Все файлы *.dat, которые находятся у меня в каталоге Quik, представлены у меня в скрипте.

$path = «D:\TradeSoft\Quik-Finam1\»

$quikFilesToDelete =
«info.log»,
«acnt.dat», «alerts.dat», «alltrade.dat»,
«banners.dat», «classes.dat», «firms.dat», «limits.dat»,
«locales.dat», «orders.dat», «par.dat», «portfolio.dat»,
«scripts.dat», «sec.dat», «StratVolat.dat», «tmsg.dat», «tradermsg.dat»,
«trades.dat», «trans.dat», «transresult.dat», «trd_cor.dat»

foreach($f in $quikFilesToDelete)
{
    $fullpath = $path + $f
    Write-Host($fullpath)
    Remove-Item -Path $fullpath
}

Внимание вопрос: Не удалю ли я при этом что-нибудь нужное?
  • обсудить на форуме:
  • QUIK

Тепличный бизнес

Плюсаните по возможности, СПАСИБО !
Тепличный бизнес

Тепличный бизнес



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

Мой опционный софт в Excel.

    • 18 мая 2020, 18:50
    • |
    • 3Qu
  • Еще
Уже неоднократно писал о своем опционном софте в Excel. И, чтобы не быть голословным, привожу картинку листа Excel c софтом. Очень мелко, но иначе все не влезает. Но и это еще не все, оно на 2-х листах. На втором конструктор опционных позиций.
Мой опционный софт в Excel.

На листе все строится-перестраивается автоматом, или по нажатию кнопок — они тоже на листе. Слева вверху доска опционов, экспорт из терминала по DDE. В софте много VBA.
Это шаблон на оч старом фьюче, и надо просто скопировать лист, и поместить туда новую доску опционов. Не показал потому, что там полный бардак, как и на любом рабочем столе.)
Не правда ли, это выглядит не хуже любого готового опционного софта?



Автозапуск QUIK QLUA

Пожалуй, каждый, даже, самый ленивый программист на LUA презентовал свою версию для запуска QUIK.
Пришла и моя очередь.
Вчера, за небольшую благодарность, swerg перевёл w32.dll на LUA 5.3.
Теперь есть поддержка QUIK 8.5 и выше.
Скачать: http://pmntrade.ru/avtozapusk_quik_qlua/avtozapusk_quik_qlua.zip
Страница программы: http://pmntrade.ru/avtozapusk_quik_qlua.html
Видео:


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

ЗОЛОТО. СОТ 200512. EWA.

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



Хочу Вам, Други, озвучить один сценарий, который может реализоваться в ближайшие 10 дней.

Интересный раскладец по позициям наблюдается в золоте.

ЗОЛОТО. СОТ 200512. EWA.

Слабые руки, азеры и нонрепы, набрали лонгов, перекрылись спредами в опционах (больше 600тыс контрактов)

и сидят такие довольные, ждут когда цена вырастит и им денег отвалят.

Но отвалят ли?

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

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

Но есть вариант, как фондам и на ёлку залезть ( затарится лонгами по дешевке), и жопу не ободрать (накормить чайников шортами)


1) Действительно, отношение фьючей к опционам  сейчас  на хаях 1:3.

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

Опыт доработки QLua-скриптов для QUIK 8.5.2

    • 15 мая 2020, 16:29
    • |
    • _sk_
  • Еще
В новой версии терминала QUIK 8.5.2 произведён апгрейд языка Lua для написания торговых скриптов с версии 5.1 до версии 5.3. Это нужно для того, чтобы корректно обрабатывать 19-значные номера заявок и сделок на срочном рынке МосБиржи. Типа number в Lua 5.1 не подходит: там все числа хранятся как double, соответственно целые числа до 2^53 = 9 007 199 254 740 992 записываются без потери точности, а 19-значные номера заявок и сделок будут больше этой границы.

Версия Lua 5.3 обратно несовместима с Lua 5.1. Я почти не использовал внешние библиотеки и для меня было два важных изменения: отказ от module (это было сделано в версии 5.2) и введение целочисленной арифметики (версия 5.3).

Для избавления от использования module пришлось переработать много кода, хотя изменения были несложные. Приведу пример. Раньше был такой код Arrays.lua для работы с массивами:

--
-- Выполнение действий с массивами.
--

local pairs = pairs
local type = type

module(...)

--- Создать копию массива (таблицы)
-- @return копию массива (таблицы)
function copy(array)
    local copy_array = {}
    if type(array) ~= "table" then
        return array
    end
    for k, v in pairs(array) do
        if type(v) == "table" then
            copy_array[k] = copy(v)
        else
            copy_array[k] = v
        end
    end
    return copy_array
end

--- Узнать, начинается ли индексация в массиве с нуля или с единицы.
-- @return 0 или 1
function base(array)
    if array[0] ~= nil then
        return 0
    else
        return 1
    end
end

--- Вычислить число элементов в массиве.
-- @return число элементов в массиве
function size(array)
    local n = 0
    for _, _ in pairs(array) do
        n = n + 1
    end
    return n
end

--- Проверить пустой или нет массив.
-- @return true/false
function isEmpty(array)
    for _, _ in pairs(array) do
        return false
    end
    return true
end

--- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1.
-- @return первый индекс массива, где ничего не записано
function firstEmptyIndex(array)
    local i = 1
    while array[i] ~= nil do
        i = i + 1
    end
    return i
end


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

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