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

по

Эффективность алгоритмической торговли в крипте

   Как все помнят, Московская биржа, не отменила сделки трейдеров по фьючерсу на нефть, когда провела экпирацию по отрицательным ценам. Эта история довольно остро была воспринята Алексеем(https://smart-lab.ru/profile/Tyam/).  Каждый день одно и тоже. Конкуренции нет. Биржа зажралась. Комиссии поднимают. Сушат ликвидность. Ядро написано в 1993 году. Обороты падают. Торговать нечего. Народ скамят. Это не рыночная история.

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

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

   Примерно три недели назад я приступил к формированию тестового портфеля.

   Что из этого вышло рассмотрим в данной статье.
Эффективность алгоритмической торговли в крипте
      Вместо тысячи слов



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

Что дали 10 лет алготрейдинга?

В этом году у меня своеобразный юбилей — 10 лет назад придумал и запустил первый портфель торговых роботов. Как вспомню те времена аж ностальгическая слеза наворачивается… Под роботов купил с рук отдельный компьютер, поставил в чулан, установил на него teamviewer для контроля с работы. Тогда в ЖЖ можно было почерпнуть много информации по алготрейдингу, тема была «на волне», много энтузиастов любителей писали интересные статьи с идеями и практически готовыми стратегиями.  Что-то с тех времен даже до сих пор работает..  На моем веку с 2010 было как минимум 4 года, когда можно было удвоить депозит (2011, 2014, 2015, 2018) и это не считая текущего. Были и неудачные года с серьезной просадкой, сильно давившие на психику. Отключал торговлю я только раз на месяц в марте 2013, так сказать на пике своего эмоционального разочарования в алготрейдинге (хорошо потом переработав портфель и поразмыслив, перезапустил все обратно, следующий год «девальвации» и «Крыма» с лихвой отбил все предыдущие потери). Но не об этом. Решил я кратко и тезисно изложить проблемы, с которыми пришлось мне столкнуться за годы активного алготрейдинга.



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

Как заработать на стохастике и машке

    • 10 июня 2020, 23:13
    • |
    • GOLD
      Популярный автор
  • Еще
Мой дорогой друг, высылаю тебе инструкцию, как заработать на этой проклятой бирже. Сразу предупреждаю, много бабла не срубишь. Но через пару месяцев теща перестанет называть тебя иждивенцем. А через полгода сможешь вывезти жену в Тайланд. Напомню, ты обещал ей это восемь лет назад. Еще до свадьбы.

И так. Открываешь QUIK. Берешь график своего любимого инструмента. Накладываешь машку. Выводишь под графиком стохастик. И начинаешь торговать по правилам:

1. Работаешь одной позой (количество контрактов в позе — сколько влезет).
2. Если машка идет вверх, открываешь лонг по низу стохастика. Выходишь — по вверху стохастика.
3. Если машка идет вниз, открываешь шорт по верху стохастика. Выходишь — по низу стохастика.
4. Если машка идет вбок, просто открываешься/закрываешься по верху/низу стохастика.

Давай уберем с графика свечи, чтобы не отвлекали и посмотрим торговую систему:

Как заработать на стохастике и машке



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

27 Тезисов "My Trade" - Трейдинг. Конференция трейдеров практиков.

27 Тезисов "My Trade" - Трейдинг. Конференция трейдеров практиков.
В этот слаболиквидный день прослушал свежее видео с участием, одного из уважаемых мной трейдера — Алексея Мартьянова (My Trade). Видео заняло 2 ч. 33 м. моего драгоценного времени… самое главное зарядился позитивными эмоциями от смеха Май Трейда :DDD 

 Трейдеры Capital Market Diversification:

— Рынок создан, чтобы забирать деньги. Чтобы забирать с него деньги.

— Объемы это такая вещь… много вопросов, кто его нарисовал в этой платформе.

— Для входа нужно изучать не точку, а диапазон.

— Конечно объем, это как пенек под жопой, но меня интересует больше объем в скорости, в инициативе.

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



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

Спасибо Московской бирже за планку в WTI! Она спасла тысячи участников и многих брокеров от катастрофы!

    • 22 апреля 2020, 14:29
    • |
    • alm
  • Еще
Cейчас много кто пишет плохое про  регламент Московской Биржи- зачем оставили планку при 15 процентах падения WTI на вечерке
думаю в 99 процентов случаев это пишут новички которые не проходили ни один кризис

но как трейдер с 1997 года могу открыто сказать 
регламент МБ спас тысячи клиентов и многих брокеров от катастрофы

не поставь МБ планку по WTI на 15% падения по 8,84 долл 
убытки тех кто купил этот фьючерс исчислялись бы десятками миллиардов рублей и накрыли бы брокеров с головой 
столько бы убытков никто покрыть бы не смог
МБ бы действительно пришлось бы задним числом менять спецификацию фьючерса чтобы избежать полной катастрофы

конечно жалко тех 770 клиентов кто попал под этот экстраординарный случай
но если бы не было планки их бы было несколько тысяч

СПАСИБО МБ!

P.S. Скажу честно, видя что то отрицательную цену поставить нельзя, даже я бы лоханулся и купил бы не менее тысячи фьючерсов около  0,01долл (повышенное ГО бы не было проблемой)
убытки даже страшно посчитать

Падение американской нефти - справедливая кара спекулятивной индустрии

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

Биржи окончательно превратились в площадки для сделок пари: один выиграл, один проиграл. Хеджирование стало наиболее рискованной разновидностью спекуляций. Само понятие хедж-фонд вполне извращенно предлагает заработать на использование инструментов финансовой страховки. Инвестиционная компания – это уже давно разновидность букмекерской конторы или интеллектуального казино.

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



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

Скрипт lua Баланс покупок/продаж

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

TICER = "SBER";
CLASS_CODE = "TQBR";
FilePath = getScriptPath() .. "\\export.txt";--путь к файлу
save = false;--сохранять данные в файл если false нет, true да

f = nil;
stopped = false;
t_id = nil
H = -1;
M = -1;
VSELL = 0;
VBUY  = 0;
CDelta = 0;
CountTrans = 0;
PriceTrans = 0.0; 
t = "";
function OnInit()
    CountTrans = 0;
        if save then f = io.open(FilePath,"w"); end
        CreateTable();
end 

function main() 
        while not stopped do 
          if IsWindowClosed(t_id) then
         stopped = true;
      end       
          sleep(10);
        end
end

function CreateTable()
   t_id = AllocTable(); 
   AddColumn(t_id, 0, "Время", true, QTABLE_STRING_TYPE, 10);
   AddColumn(t_id, 1, "BUY", true, QTABLE_INT_TYPE, 10);
   AddColumn(t_id, 2, "SELL", true, QTABLE_INT_TYPE, 10);
   AddColumn(t_id, 3, "Дельта V", true, QTABLE_INT_TYPE, 10);   
   AddColumn(t_id, 4, "AVG Цена", true, QTABLE_DOUBLE_TYPE, 15);
   AddColumn(t_id, 5, "Накопленная Дельта", true, QTABLE_INT_TYPE, 15);
   AddColumn(t_id, 6, "Кол-во сделок", true, QTABLE_DOUBLE_TYPE, 12);   
   tab = CreateWindow(t_id);
   local NAME = tostring(getParamEx(CLASS_CODE,TICER,"LONGNAME").param_image);
   SetWindowCaption(t_id, TICER.." ("..NAME..") Баланс покупок/продаж");
   SetTableNotificationCallback(t_id, EventCallBack);
end

function Calc(alltrade)
        if bit.test(alltrade.flags, 0) then VSELL = VSELL+alltrade.qty;  --Продажа
        else VBUY  = VBUY+alltrade.qty;  end                            
        CountTrans = CountTrans+1;
        PriceTrans = PriceTrans+alltrade.price;                 
end

function OnAllTrade(alltrade)    
        if alltrade.sec_code == TICER then      
                local Rows, Col = GetTableSize(t_id);
                
                if H==-1 or H~= alltrade.datetime.hour then 
                        H = alltrade.datetime.hour;
                        M = alltrade.datetime.min;
                        t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);
                end
                if M==alltrade.datetime.min then
                        Calc(alltrade);
                else                                    
                M=alltrade.datetime.min;        
                        InsertRow(t_id, -1);                                               
                        local Delta = VBUY-VSELL;
                        Price = PriceTrans/CountTrans;
                        SetCell(t_id, Rows, 6, tostring(CountTrans));                   
                        SetCell(t_id, Rows, 0, t);
                        SetCell(t_id, Rows, 1, tostring(VBUY));
                        SetCell(t_id, Rows, 2, tostring(VSELL));                           
                        SetCell(t_id, Rows, 3, tostring(Delta));
                        local SEC_SCALE = tostring(getParamEx(CLASS_CODE,TICER,"SEC_SCALE").param_value);
                        SEC_SCALE = string.format("%.0f",SEC_SCALE);                    
                        SetCell(t_id, Rows, 4, string.format("%."..SEC_SCALE.."f", tostring(Price)));
                   if Rows>=2 then
                           local OldPrice = tonumber(GetCell(t_id,Rows-1,4).image);
                           if OldPrice>Price then 
                                        Red(Rows,4); 
                           else 
                                        Green(Rows,4);
                           end
                           CDelta = tonumber(GetCell(t_id,Rows-1,5).image);
                           CDelta = CDelta + Delta;                        
                        else 
                          CDelta = Delta;
                        end
                        SetCell(t_id, Rows, 5, tostring(CDelta));
                    if Delta<0 then Red(Rows,3); end
                    if Delta>0 then Green(Rows,3); end
                    if CDelta<0 then Red(Rows,5); end
                    if CDelta>0 then Green(Rows,5); end                                                   
                   if save then
                                local Str = tostring(H)..";"..tostring(M)..";"..tostring(VBUY)..";"..tostring(VSELL)..";"
                                                ..tostring(Delta)..";"..tostring(Price)..";"..tostring(CDelta);
                           Str=Str.."\n";
                           SaveFile(Str);
                        end
                t = tostring(alltrade.datetime.hour)..":"..tostring(alltrade.datetime.min);                        
                    VBUY = 0;VSELL = 0;
                        PriceTrans = 0;
                        CountTrans = 0;
                        Calc(alltrade);
                end
        end --if alltrade.sec_code == TICER then        
end

function SaveFile(Str)
        if f ~= nil then 
                f:write(Str);           
                f:flush();                               
        end
end

function Red(row,col)
        SetColor(t_id, row, col, RGB(255,0,0), RGB(0,0,0), RGB(255,0,0), RGB(0,0,0));
end
function Yellow(row,col)
        SetColor(t_id, row, col, RGB(240,240,0), RGB(0,0,0), RGB(240,240,0), RGB(0,0,0));
end
function Green(row,col)
        SetColor(t_id, row, col, RGB(0,200,0), RGB(0,0,0), RGB(0,200,0), RGB(0,0,0));
end


function EventCallBack(t_id, msg, par1, par2)
   if msg==QTABLE_CLOSE then
     OnStop();
   end;
end

function OnStop(s)
  if f ~= nil then f:close(); end
  if t_id ~= nil then
    DestroyTable (t_id);
  end;
  stopped = true;
end




Аленка Капитал - все.

Сколько уже писал про вред плечей:
"Еще раз про плечи"
"Почему я не использую плечо"

Но, как известно, наглядный пример лучше тысячи слов. Выкладываю скрины двух стратегий Аленки Капитал на сервисе comon.

Аленка Капитал Дивиденд. Автоследователей — 262. Минимальная сумма — 600 000

Аленка Капитал - все.


Аленка Капитал Value. Автоследователей — 221. Минимальная сумма — 600 000

Аленка Капитал - все.

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

Покажи трек-рекорд +2225%

Всем привет!

Давно ничего не писал :-)

Многие пишут про итог дня или итог месяца.

И практически никто не показывает трек-рекорд.

Сегодня у меня перехай и красивая цифра, поэтому решил запостить и сохранить для истории.

https://www.comon.ru/user/robot_bsk/strategy/detail/?id=8255

Покажи трек-рекорд +2225%

P.S. Системная торговля — это круто!

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