Избранное трейдера Медленный Торопыжка

по

Встреча Bitfury c блокчейн-разработчиками и презентация платформы Exonum (часть 1)

Запись прямой трансляции встречи компании Bitfury с разработчиками и техническими специалистами в области блокчейна. Встреча прошла в Киеве 20 июля.

Мероприятие приурочено к выходу Exonum — новой open source платформы для создания блокчейн-решений. На встрече были рассмотрены технические особенности платформы, примеры практического использования технологии и показана наглядная демонстрация создания криптовалюты.
Программа:
00:05 – Вступительное слово – Александр Ботезату
04:12 – Exonum – framework для блокчейн решений – Александр Шевченко
31:52 – Примеры проектов на Exonum, практическое применение технологии — Глеб Палиенко
44:02 Ответы на вопросы

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

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

Почему частные трейдеры на фортсе обречены?

Как правило все торгуют фьюч РТС, изредка фьючи на акции, ошибочно полагая, что лучше торговать их, чем непосредственно акции на ММВБ.

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

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



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

Биткоин сила

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

Короче, сегодня я первый раз юзал биткоин-банкомат… Вот этот.

Биткоин сила

Короткая предыстория, и вообще почему я пишу этот пост. Вообще я посты редко пишу, потому что не вижу в этом большого смысла. Но без смартлаба я бы скорее всего сегодня в эту нычку не попал ) В одном из постов тут я узнал о существовании хедж-фонда Numerai (http://numer.ai), и начал там тусить. В какой-то момент эти ребята придумали выпустить свою криптовалюту на базе эфира, и раздали её понемножку всем пользователям. Мне было пох, но недавно оно начало торговаться на бирже и меняться на биткоин! Стало интересно. Битков у меня никогда до сей поры не было, потому что то, что за них продают, мне без надобности, а рассмотреть инвестиционный потенциал в своё время не хватило мозгов. Но вот: бабки же нахаляву, немного, но всё равно! Зарегался на бирже, поменял на битки, так и дальше их куда? Оказалось, на районе есть… тадададада! биткоин-банкомат!



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

Код робота на LUA для QUIK

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

Предназначается для новичков в алготрейдинге, что-то типа болванки.

Важно: выставление заявок я закомментировал, поэтому можете смело запускать этот скрит, он не натворит ужаса по счету.

require"QL"

log = "sbrf.log"
seccode = "SRM6"
lots_in_trade = 80
accnt = ""
better = -5
chart = "sberbankxxx"
is_run = true
prev_datetime = {}
len = 100
basis = 9
k_bal = {0,1,2,3}
sell = false
buy = false
id = 0
first = true

function trade_signal(shift)
        number_of_candles = getNumCandles(chart)
        bars_temp,res,legend = getCandlesByIndex(chart,0,number_of_candles-2*len-shift,2*len)
        bars={}

        i=len
        j=2*len
        while i>=1 do
                if bars_temp[j-1].datetime.hour>=10 then
                        sk=true
                        if bars_temp[j-1].datetime.hour==18 and bars_temp[j-1].datetime.min==45 then
                                sk=false
                        end
                        if sk then
                                bars[i]=bars_temp[j-1]
                                i=i-1
                        end
                end
                j=j-1
        end

        t = len+1

        do_sell = false
        do_buy = true

        value = 0
        if do_sell then value = 1 end
        if do_buy then value = -1 end
        toLog(log,"value="..value.." on candle: "..bars[len].datetime.year.."-"..bars[len].datetime.month.."-"..bars[len].datetime.day.." "..bars[len].datetime.hour..":"..bars[len].datetime.min.."   O="..bars[len].open.." H="..bars[len].high.." L="..bars[len].low.." C="..bars[len].close.." V="..bars[len].volume)
        return value
end

function mysplit(inputstr, sep)
        if sep == nil then
                sep = "%s"
        end
        local t={} ; i=1
        for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
                t[i] = str
                i = i + 1
        end
        return t
end

function OnInit(path)
        log=getScriptPath()..'\\'..log
        toLog(log,"==========OnInit: START")
        toLog(log,"==========OnInit: FINISH")
end

function OnStop()
        is_run = false
        toLog(log,"==========OnStop: script finished manually")
end

function CheckBit(flags, bit)
   -- Проверяет, что переданные аргументы являются числами
   if type(flags) ~= "number" then error("Ошибка!!! Checkbit: 1-й аргумент не число!"); end;
   if type(bit) ~= "number" then error("Ошибка!!! Checkbit: 2-й аргумент не число!"); end;
   local RevBitsStr  = ""; -- Перевернутое (задом наперед) строковое представление двоичного представления переданного десятичного числа (flags)
   local Fmod = 0; -- Остаток от деления
   local Go = true; -- Флаг работы цикла
   while Go do
      Fmod = math.fmod(flags, 2); -- Остаток от деления
      flags = math.floor(flags/2); -- Оставляет для следующей итерации цикла только целую часть от деления
      RevBitsStr = RevBitsStr ..tostring(Fmod); -- Добавляет справа остаток от деления
      if flags == 0 then Go = false; end; -- Если был последний бит, завершает цикл
   end;
   -- Возвращает значение бита
   local Result = RevBitsStr :sub(bit+1,bit+1);
   if Result == "0" then return 0;
   elseif Result == "1" then return 1;
   else return nil;
   end;
end;

function killorders(ccode,scode)
    for i=0,getNumberOf("orders")-1,1 do
        local t=getItem("orders", i)
        if t ~= nil and type(t) == "table" then
            if( t.seccode == scode and CheckBit(t.flags, 0) == 1) then
                local transaction={
                    ["TRANS_ID"]=tostring(math.random(2000000000)),
                    ["ACTION"]="KILL_ORDER",
                    ["CLASSCODE"]=ccode,
                    ["SECCODE"]=scode,
                                        ["ACCOUNT"] = accnt,
                    ["ORDER_KEY"]=tostring(t.ordernum),
                }
                                res=sendTransaction(transaction)
            end
        end
    end
end

function killstoporders(ccode,scode)
    for i=0,getNumberOf("stop_orders")-1,1 do
        local t=getItem("stop_orders", i)
        if t ~= nil and type(t) == "table" then
            if( t.seccode == scode and CheckBit(t.flags, 0) == 1) then
                local transaction={
                    ["TRANS_ID"]=tostring(math.random(2000000000)),
                    ["ACTION"]="KILL_STOP_ORDER",
                    ["CLASSCODE"]=ccode,
                    ["SECCODE"]=scode,
                                        ["ACCOUNT"] = accnt,
                    ["STOP_ORDER_KEY"]=tostring(t.ordernum),
                }
                                res=sendTransaction(transaction)
            end
        end
    end
end


function main()
        toLog(log,"==========main: START")
        while is_run do
                if isConnected() == 1 then
                        ss = getInfoParam("SERVERTIME")
                        if string.len(ss) >= 5 then
                                hh = mysplit(ss,":")
                                str=hh[1]..hh[2]
                                h = tonumber(str)
                                if (h>=1000 and h<1400) or (h>=1405 and h<1845) or (h>=1905 and h<2350) then
                                        if first then
                                                for ti = 50,2,-1 do     trade_signal(ti) end
                                                if buy and not sell then message(seccode.." Current state: green and buy",1) end
                                                if sell and not buy then message(seccode.." Current state: red and sell",1) end
                                                if buy and sell then message(seccode.." ERROR: green and red",1) end
                                                if not buy and not sell then message(seccode.." WARNING: nothing",1) end
                                                first = false
                                        end
                                        prev_candle = getPrevCandle(chart,0)
                                        if not isEqual(prev_candle.datetime,prev_datetime) then
                                                current_value = trade_signal(1)

                                                if current_value ~= 0 then
                                                        optn = "B"
                                                        if current_value==1 then optn = "S" end
                                                        curvol=0
                                                        no=getNumberOf("FUTURES_CLIENT_HOLDING")
                                                        if no>0 then
                                                                for i=0,no-1,1 do
                                                                        im=getItem("FUTURES_CLIENT_HOLDING", i)
                                                                        if im.sec_code==seccode then
                                                                        curvol=im.totalnet
                                                                        end
                                                                end
                                                        end
                                                        trvol = -current_value*lots_in_trade-curvol
                                                        if trvol ~= 0 then
                                                                killorders("SPBFUT",seccode)
                                                                killstoporders("SPBFUT",seccode)
                                                                f = io.open(getScriptPath().."\\sbrf2_pos.txt","r")
                                                                sbrf2_pos=f:read("*n")
                                                                f:close()
                                                                f = io.open(getScriptPath().."\\sbrf3_pos.txt","r")
                                                                sbrf3_pos=f:read("*n")
                                                                f:close()
                                                                pr,n,l = getCandlesByIndex ("futsber", 0, getNumCandles("futsber")-1, 1)
                                                                local trans =
                                                                {
                                                                        ["ACTION"] = "NEW_ORDER",
                                                                        ["CLASSCODE"] = "SPBFUT",
                                                                        ["SECCODE"] = seccode,
                                                                        ["ACCOUNT"] = accnt,
                                                                        ["OPERATION"] = optn,
                                                                        ["PRICE"] = toPrice(seccode,pr[0].close+current_value*better),
                                                                        ["QUANTITY"] = tostring(math.abs(curvol-sbrf2_pos-sbrf3_pos)),
                                                                        ["TRANS_ID"] = tostring(getTradeDate().month*100+getTradeDate().day+id)
                                                                }
                                                                id = id+1
                                                                --res = sendTransaction(trans)
                                                                message(seccode.." Send : " .. res, 2)
                                                                toLog(log,"Send: ".. res)
                                                                for btr=0,200,5 do
                                                                        local trans =
                                                                        {
                                                                                ["ACTION"] = "NEW_STOP_ORDER",
                                                                                ["CLASSCODE"] = "SPBFUT",
                                                                                ["SECCODE"] = seccode,
                                                                                ["ACCOUNT"] = accnt,
                                                                                ["OPERATION"] = optn,
                                                                                ["PRICE"] = toPrice(seccode,pr[0].close-current_value*btr),
                                                                                ["STOPPRICE"] = toPrice(seccode,pr[0].close-current_value*(btr+better)),
                                                                                ["QUANTITY"] = tostring(6),
                                                                                ["TRANS_ID"] = tostring(getTradeDate().month*100+getTradeDate().day+id),
                                                                                ["EXPIRY_DATE"] = "GTC"
                                                                        }
                                                                        id = id+1
                                                                        --res = sendTransaction(trans)
                                                                        message(seccode.." Send : " .. res, 2)
                                                                        toLog(log,"Send: ".. res)
                                                                end
                                                                if current_value == 1 then
                                                                        message(seccode..' RED: buy->sell',1)
                                                                        toLog(log,"RED signal")
                                                                else
                                                                        message(seccode..' GREEN: sell->buy',1)
                                                                        toLog(log,"GREEN signal")
                                                                end
                                                        else
                                                                if current_value == 1 then
                                                                        message(seccode..' RED: buy->sell',1)
                                                                        toLog(log,"RED signal, but nothing to do")
                                                                else
                                                                        message(seccode..' GREEN: sell->buy',1)
                                                                        toLog(log,"GREEN signal, but nothing to do")
                                                                end
                                                        end
                                                else
                                                        if buy and not sell then toLog(log,"Nothing to do. Current state: green and buy",1) end
                                                        if sell and not buy then toLog(log,"Nothing to do. Current state: red and sell",1) end
                                                        if buy and sell then toLog(log,"Nothing to do. ERROR: green and red",1) end
                                                        if not buy and not sell then toLog(log,"Nothing to do. WARNING: nothing",1) end
                                                end
                                                prev_datetime = prev_candle.datetime
                                        end
                                end
                        end
                end
                sleep(5*1000)
        end
        toLog(log,"==========main: FINISH")
end
  • обсудить на форуме:
  • Quik Lua

EXANTE запускает торговлю Эфиром, Лайткоином и другими криптовалютами

    • 19 июля 2017, 14:19
    • |
    • EXANTE
      Проверенный аккаунт
  • Еще

Больше не нужно делать трудный выбор между криптовалютами и традиционными активами – все это теперь можно торговать с единого брокерского счета EXANTE. Биткоин, Лайткоин, Эфир, Монеро, Зкэш и даже Риппл – уже в нашем терминале!

EXANTE запускает торговлю Эфиром, Лайткоином и другими криптовалютами


Еще в 2012 году мы сделали ставку на биткоин и не прогадали – за год своего существования наш фонд Bitcoin Fund показал доходность в 4847%. К 2017 году эта цифра достигла уже 10262%. Фонд  стал первым в мире регулируемым способом спекулировать на курсе биткоина или заниматься длительным инвестированием в него.

               EXANTE запускает торговлю Эфиром, Лайткоином и другими криптовалютами



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

Инструменты в помощь криптотрейдеру

Я уже писал тут, что на графиках TradingView появилась вкладка «криптовалюты». Крипты торгуются на нескольких биржах: TV транслирует данные с основных и вы можете посмотреть как они сходятся-расходятся и т.п.:
Инструменты в помощь криптотрейдеру
Кстати говоря, Олег Богданов, который общался с Виталиком Бутериным на ПМЭФ, сказал мне, что Виталик считает что наиболее надежная — это CoinBase.

В TV я настроил себе 6 графиков основных криптовалют + вочлист справа.
Инструменты в помощь криптотрейдеру
Больше даже не знаю, где еще можно смотреть все криптовалюты в одном месте.
Можете себе сохранить ссылку: https://ru.tradingview.com/chart/qVcrKbWR/ 



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

Ну, что граждане евреи

Приветствую читающих, у меня есть тема: перелив со счета на счет.
 
Суть: вложения 10000 $  ( для ровного счета ) прибыль 5 процентов в месяц ИНВЕСТОРУ. 
 Счета открыты на ВАС  , и никто кроме Вас не может снять деньги.
Риски: если контора разориться, что маловероятно, то вы потеряете все, но вероятность наступления этого события 5 процентов из 100. К примеру: разориться ли завтра сбер банк ? 

Вопрос  : как можно рассказать инвестору схему,  если после обнародования оной,  он вас пошлет вас нахер и будет заниматься этим сам, без вашего участия .
всё очень вкусно и схема маштабируема на СОТНИ  тысяч убитых енотов.

P.S. кладу яйца на отсечение, что моя схема работает против 10000 $ и ВАШИХ 5 процентах прибыли… остальное всё мне…

Кречетов. Частное ДУ, как разводят "кроликов". Коротко по рынку.

         Всех приветствую. Почему я решил написать этот пост. Потому что «частное ДУ» в нашей стране является обычной практикой развода, большинство случаев мошеннических действий в нашей стране в рыночной сфере связано именно с «частными управляющими». И большинство людей теряет деньги именно на этом. 

         Давайте рассмотрим некоторые моменты и то как именно разводят у нас людей:

Момент первый — Законно ли частное ДУ в принципе?  — частное ДУ незаконно в РФ в принципе в соответствии с законом «О РЫНКЕ ЦЕННЫХ БУМАГ», вот выдержка из закона:  
 
Кречетов. Частное ДУ, как разводят "кроликов". Коротко по рынку.
     Проще говоря управление ценными бумагами в части их купли продажи на рынке законно, только при наличие лицензии. Осуществляется такая деятельность исключительно профессиональными участниками рынка. 

     А кто такие профессиональные участники рынка? Выдержка из всё того же закона:

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

Рекомендуется к прочтению: юридические проблемы частного ДУ

Очень много неправильных трактовок, так как этот вопрос сложен и с точки зрения теории права, и с точки зрения правоприменительной практики.

Из чего нужно исходить?

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

Что самое главное?

1.БУДЕТ ЛИ ПЕРЕДАЧА ДЕНЕГ ТРЕЙДЕРУ

Это принципиальнейший момент.

Законное ДУ может осуществлять только лицензированное юрлицо, которому деньги ПЕРЕДАЮТСЯ. Если нет передачи денег управляющему  — то нет никакого доверительного управления, отношения ИНЫЕ.

Обычная ситуация – деньги переданы для торговли по договору займа.

Уголовная экспертиза такие договоры признает притворными, заключенными с целью скрыть незаконное ДУ (ст 171).  Это означает, что в гражданском суде вы по такому договору ничего не получите – он ничтожен.

Вы можете стать гражданским истцом в уголовном процессе, но наличие вашего ущерба не будет означать, что вам следует вернуть деньги, так как при ДУ управляющий обязан вернуть не деньги, а лишь результат ДУ, который может быть почти 100%-ым сливом. Мол, «вот вам -95% по счету (как у некоторых бывает на ЛЧИ в 2014 году), и я вам ничего не должен».



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

Почему все хотят майнить криптовалюту, а я - нет?

Наблюдаем ажиотаж и возбуждение от криптовалют. Люди вдохновляются, ищут единомышленников, инвесторов, встречаются в Кофе-хаусах, обсуждают проекты:) Почему такой массовый ажиотаж? Очень просто. Люди чувствуют, что здесь можно быстро заработать деньги. Деньги ради денег. Люди хотят зарабатывать, даже до конца не понимая полезность того дела, которым занимаются. Нищебродство конченное. 

А меня например возбуждает газо-турбинный двигатель для вертолетов. Или силовой агрегат для электростанции мощностью 800 мВт. Почему? Почему? Потому что ни одна тварь в России не умеет делать нормальные авиационные двигатели и не умеет производить мощные эффективные турбины. 

Вот и получается, что все увлечены и заняты каким-то ненужным говном. А то, что реально нужно, никого не волнует. Доходит до смешного. Siemens подает в суд там на кого-то, за то что силовая установка произведенная вроде как СП Сименс-Силовые Машины попала в Крым в обход санкций. И никто в нашей стране не может послать на**й Сименс, потому что никто не умеет их делать. 

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

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

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