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

по

С Нуля до Алготрейдра, подарок для трейдеров.

Доброго времени суток коллеги. Я редко пишу на форуме с 2012 года всего несколько статей (сообщений), надеюсь они были полезными и помогли Вам. Наступил новый 2020 год, время подарков…  

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

Подарок – это видеоуроки по программированию торговых роботов на языке С# через торговую платформу Quik. Используется библиотека с открытым исходным кодом которая лежит на GitHub https://github.com/finsight/QUIKSharp 

Сами уроки лежат на YouTube вот ссылка на плейлист https://clck.ru/LRGZB 



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

Коммуникации Quik Lua с внешним миром.

Мне нравится Lua. Lua хороший компактный язык на котором можно сделать индикаторы, различные вспомогательные программы, помогающие трейдеру и даже несложные торговые системы (ТС, роботы). Пожалуй единственная книга по Lua — Роберту Иерузалимски: Программирование на языке Lua. Ее можно найти в интернете.

Lua имеет также несложный C-API позволяющий связать программы Quik Lua с внешним миром через DLL и получить доступ практически ко всему, в том числе к любым математическим библиотекам обработки данных, что необходимо для сколь-нибудь сложным ТС. Однако, для этого уже необходимо знание не только Lua, но и Lua C-API, языка С/С++, а также умения писать DLL. При этом надо будет решить еще ряд проблем, которые возникнут по ходу пьесы в процессе этой деятельности. Далеко не каждый пользователь Quik и Lua может все это реализовать в обозримое время.
У Quik Lua (QLua) есть еще недостатки — все события терминала в Lua работают в потоке терминала, и получив из них данные надо как можно быстрей завершать функции обработки этих данных и освобождать поток терминала, иначе терминал просто повиснет. Единственная функция QLua работающая в собственном потоке — это main() и вся сколь-нибудь сложная обработка может находиться только в ней.
Кроме того, для Lua крайне мало библиотек, а существующие работают оч не быстро. В принципе, это и не нужно, если можно организовать связь с внешним миром через C-API. Но нам от этого легче не становится.) Короче, для написания хорошей сложной ТС нам надо выйти за пределы QLua и установить связь с внешним миром, и сделать это доступными средствами.
Сейчас наиболее продвинутым языком, включающим в себя массу библиотек обработки данных является Python. По применимости для обработки данных он, пожалуй, занимает первое место в мире, а по распространенности входит в первую пятерку. В числе библиотек — математические, статистические, машинного обучения и пр., и пр. Таких библиотек более тысячи только в Anaconda, большинство из которых устанавливается при ее инсталяции. Вы можете не использовать Anaconda и скачать Python с сайта



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

Инвестиционные вычеты – видео для инвестора (как получить, документы, сроки)

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



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

Бесплатное образование для ребенка

Сайт общий для всего детского дополнительного образования.

навигатор.дети

Только нужно будет вписать свой регион.

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

Все абсолютно бесплатно.

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

Из интересного там:

— английский язык
— немецкий язык
— робототехника
— финансовая грамотность (это для подростков)
— программирование
— авиамоделирование
и пр.


Мой ребенок бесплатно учится графическому дизайну.


Инструкция по заполнению декларации 3-НДФЛ для сальдирования убытка

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

А может у кого-то из вас прошлый год был прибыльный, и вы сможете уже сейчас подготовить документы для сальдирования убытка прошлых лет.

Я специально для вас подготовила видео, в котором я рассказываю, как заполнить декларацию 3-НДФЛ (на примере 2018 года) в программе налоговой службы. Это удобно, быстро. Вы сами сможете все увидеть.

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

В видео идет описание:

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

В помощь QLUA-водам. Функция чтения CSV файла.

В былую давность пытался решить вопрос с интерфейсом для QLUA.
Испробовал IUP, VCL и еще какая-то библиотека была. Но ни одна библиотека стабильно не работала, через какой-то промежуток времени Квик вставал колом.


Т.к. нам красоты не надо, а удобство хочется, то решил пусть интерфейсом будет Excel(файл.CSV).

В помощь QLUA-водам. Функция чтения CSV файла.


Вот вам функция для чтения CSV файлов:

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

-----------------------------
function File_Read(filename)


local col = 1
local pat = "(.*)"
local A={};local B={};local C={};local D={};local E={};
local F={};local G={};local H={};local I={};local J={};
local K={};local L={};local M={};local N={};local O={};
local P={};local Q={};local R={};local S={};local T={};
local file, err = io.open(filename,«r»)
if err ~= nil then PrintDbgStr(«err read file: »..err); return; end
str = file:read()
for var in string.gmatch (str, ";") do col=col+1 end
for i = 2, col do pat = pat..";(.*)" end
for line in io.lines(filename) do
--PrintDbgStr(line)
local _,_,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20 = string.find(line,pat)
--PrintDbgStr(tostring(s1))
table.insert(A,s1);table.insert(B,s2);table.insert(C,s3);table.insert(D,s4);table.insert(E,s5);
table.insert(F,s6);table.insert(G,s7);table.insert(H,s8);table.insert(I,s9);table.insert(J,s10);
table.insert(K,s11);table.insert(L,s12);table.insert(M,s13);table.insert(N,s14);table.insert(O,s15);
table.insert(P,s16);table.insert(Q,s17);table.insert(R,s18);table.insert(S,s19);table.insert(T,s20);
end
file:close()
table.remove(A,1);table.remove(B,1);table.remove(C,1);table.remove(D,1);table.remove(E,1);
table.remove(F,1);table.remove(G,1);table.remove(H,1);table.remove(I,1);table.remove(J,1);
table.remove(K,1);table.remove(L,1);table.remove(M,1);table.remove(N,1);table.remove(O,1);
table.remove(P,1);table.remove(Q,1);table.remove(R,1);table.remove(S,1);table.remove(T,1);
--Print_Table® Print_Table(S) Print_Table(T)
return A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T
end

 



-------------------------------


Во время работы робота смело изменяем CSV файл и сохраняем, и новые параметры у вас в роботе.
CSV файл можно держать открытым.



  • обсудить на форуме:
  • Quik Lua

Робот даром.

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

Тело робота

Пароль от архива: 1236

Риски корпоративных облигаций о которых, Вам не скажут.

Если основной держатель выпуска облигации имеет голосующий пакет 75% и в связке через прокладки связан с эмитентом этих облигаций.
Эмитент выпуска облигации собирает  внеочередное собрании владельцев облигаций и выставляет Новации в которых ближайшие оферты выкупа переносит  (отменяет по сути), погашения купонов переносит, в итоге дает компенсацию в 1 копейку за  1 облигацию за изменения в выпуске.

25% владельцев выпуска облигации благополучно сольют её в 0,01% цены номинала  т.е. лихо останутся без денег, так еще НКД обнулят в 0 если эмитент облигации не предоставит результат  собрания владельцев облигаций в офис МосБаржы в срок.
Т.е. эмитент кинет, да еще бюрократия биржевая.
Т.е. по сути 25% рискуют остаться с ценой бумаги 10 копеек + НКД 0 если продать её за эти 10 копеек на туалетную бумагу.

Чудо компания, которая такое вытворяет называется АО «Открытие Холдинг».

Никогда не доверяйте что Вам кажется красивым, современным и высокодоходным (кинут с большей долей вероятности).

Навеяно очередной офертой (аферой) этой конторки.

Друг мой, скальпер еще тот, + 34% за день.

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

Трейдером его назвать язык не повернется, но уже второй год все еще снимает сливки с рынка. Вчера мне прислал свою работу по Доллар-Рублю, на что ожидал наверное услышать от меня признания, что он крут.



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

Как создать торгового робота своими руками? Robot-Scalper

Торговый робот своими руками под QUIK

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

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

Затем нужно четко формализовать эту стратегию: описать строгими условиями все входы и выходы из позиции.

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

Изучаем функции алготрейдинга (выставление и снятие заявок, получение текущих данных из терминала, механизм взаимодействия скрипта и терминала).

Изучаем как устроена структура данных (таблиц) на сервере Мосбиржи, чтобы знать откуда что брать.

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



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

....все тэги
UPDONW