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

по

Есть ли совесть в РФ....

Наш доблестный Центральный Банк РФ во главе известной всему миру Сахипзадовны, поддерживаемая единороссиками спустила в известное место, известное простому народу как место, через которое все у нас в стране делаете (вы догадались какое). Итак, короче, ЦБ РФ спустило 435 млрд рублей, или показало такой убыток по результатам 2017 года. 
Ну мелочь в государственном масштабе, всего то примерно по 3000 рублей на каждого человека. Это называется эффективное управление финансами одного из лучших банкиров мира. Причем, за такое управление она не просто получала высокую зарплату, но и существенно ее повысила.
http://www.cbr.ru/publ/God/ar_2017.pdf 
смотрите страницу 310.
Есть ли совесть в РФ, нет ли совести в РФ — науке ....
Думаю, что нетЕсть ли совесть в РФ....
У нас ведь много умных людей, но почему к власти приходят неумелые?

Немного про мегафон. (будет простыня)

Текст не мой. Но мне было интересно его читать. Я его копировал и добавлял картинки. ссылка на оригинал будет в конце.

Кейс реализации мечты паразитов.

1. Получить задарма телеком-оператора.

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

3. Заложить акции в Сбербанке и занять в нем же десятки миллиардов под льготный процент.

4. Продолжать выдаивать компанию через высокие дивиденды.

==== они находятся здесь ====

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

6. Продать выжатый лимон госбанкам — Сбербанку, ВТБ, Газпромбанку, тем самым сбросив на бюджет РФ все долги.

Самая первая подпись

Северо-Западный GSM, который потом был реорганизован в «МегаФон» был создан 1993 году  с участием шведской телеком-компании Telia и финской Sonera (слившихся в 2002 в TeliaSonera). Telia обеспечила первоначальным капиталом и опытом по созданию сотового оператора, но это далеко не всё, что было нужно. Частотный ресурс у нас кому попало не дают, тем более, что его еще и расчищать надо от военных, от телевидения, от спецслужб. Без административной поддержки дела бы у Мегафона шли бы так же плохо, как у других шведов — Теле-2 (до того, как они отдались в правильные руки).



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

VPN: Торги, брокеры, роскомнадзор. Инструкция из Крыма

    • 25 апреля 2018, 13:00
    • |
    • gib
  • Еще
Всем привет.

Наверняка любой посетитель смарт-лаба знает про непримиримую войну роскомнадзора с телеграм.
Кто-то пользуется телеграм, кто-то нет. Данная война была бы локальной войной, если бы Дуров решил не прогибаться.
VPN: Торги, брокеры, роскомнадзор. Инструкция из Крыма

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

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

Ранее нас, жителей Крыма и Севастополя, добровольно и массово проявивших желание воссоединиться с Россией, «запад» решил наказать. И мы знаем что такое блокировки уже давно и не по наслышки.

Так как чем и когда закончится войнам между РКН и телеграм неизвестно и закончится ли вообще. Поэтому есть смысл подготовиться заранее, чтобы не оказаться у разбитого корыта: не работающей почты или гугл докс.

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

Схема брокеров по продавцам волы

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

В более-менее спокойное время, давать ему возможность, при полной загрузке ГО, проводить торговлю на счете.
У клиента складывается впечатление, что брокер к нему лоялен.
Клиент переводит к брокеру максимальное количество счетов клиентов в ДУ от других брокеров(которые постоянно что то режут).
Клиент пиарит брокера среди своих клиентов.
Клиенты боготворят брокера между собой.

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

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

Как трейдеру восстановиться после крупных потерь

Как трейдеру восстановиться после крупных потерьБольшинство опытных трейдеров в определенный период своей карьеры сталкивались с крупными потерями, а многие — даже неоднократно. Интересно слышать мнения разных людей о том, как они справляются со значительными просадками на торговом счете. Многие советуют «взять пару дней отдыха», «выбросить это из головы и двигаться дальше» или даже прибегнуть к старому проверенному способу — «стаканчику виски». Размер «крупной» потери для каждого трейдера свой и может варьироваться в достаточно крупных пределах. Но какими бы крупными не были потери, для каждого трейдера способность восстанавливаться после полосы неудач является одним из важнейших навыков в его профессиональной деятельности.

Умение держать удары рынка

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



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

SOX бьет рекорды. И это ключ к рынку на след неделе. QQQ, S&P500


Рынок США завершил 8-ю подряд неделю роста S&P500 на исторических максимумах. 2588 ! 
Бесконечно можно говорить о негативной дивергенции, о падении DJTransport на прошлой неделе, о том, что рынок держится на 5-6 акциях.

Некоторые цифры и графики. которые могут быть полезны на следующей неделе : 

Breadley TURN Date. November 7. Tuesday
SOX бьет рекорды. И это ключ к рынку на след неделе. QQQ, S&P500


SOX бьет рекорды. И это ключ к рынку на след неделе. QQQ, S&P500

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

Код робота на 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

ПОСТАНОВКА И СНЯТИЕ STOP-ОРДЕРА В QLUA(LUA)

Когда передо мной встала задача удаления поставленного стоп-ордера, наткнулся в интернете на скудность информации по данной тематике.

Самая распространенная ошибка начинающего программиста отправка в SendTransaction в STOP_ORDER_KEY  trans_id стоп-ордера

Робот выставляет стоп-заявку на покупку по определенной цене, затем через 2 секунды снимает её.

Также в коде имеются следующие фишки:

  • Запись удобочитаемого лог-файла.  Записи с интервалом <=1 сек. группируются в пул. Между пулами — пустая строка. После остановки скрипта в файл добавляется двойная линия.
  • Функция преобразования числа в строку с удалением точки и нулей правее нее для отправки этой строки в SendTransaction
  • Функция, возвращающая Entry или Exit в зависимости от trans_id принадлежности транзакций к входу или выходу


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

Ребята, цена - это запаздывающий индикатор!

Открыл для себя «секрет», что цена, оказывается, тоже запаздывающий индикатор:
http://trader2014.blogspot.com/2016/11/blog-post.html

И поэтому этот факт требует от нас критически переосмыслить один из основополагающих принципов Price action «все вложено в цену».

Ну, там еще интересное объяснение ценовых движений:

Ребята, цена - это запаздывающий индикатор!



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