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

по

что саморазрушится в России из биснесов

youtu.be/WKZIu36W1uc?t=1812

youtu.be/WKZIu36W1uc?t=6074

youtu.be/WKZIu36W1uc?t=6166

Скрипт 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




Сообщение медика из Италии

(Делаю репост)

Привет… к сожалению да, чуда в этот раз не будет, штука заразная и неприятная. И не придет, а уже пришла (см. количество пневмоний в одесских больницах) уже как месяц назад… все как в Италии.  Здесь официально заявили о начале эпидемии в конце февраля, в то время как было уже в полном разгаре в конце января (по своим пациентам видел), первый пациент в Италию прилетел из Мюнхена 9 января… поэтому и такие последствия. Делали вид, что «ложки нет».

Симптомы: основной — сухой кашель, обычно начинается параллельно с першением и болью в горле (иногда и часто просто боль в шее, типа мышечная и в мышцах шеи, полагаю по ходу лимф. узлов), легкое недомогание и типа продромных явлений, все как при гриппе. Температура 37,0-37,5  — 1-2 дня, или вообще без температуры. НО! как правило, нет ринита. Часто головная боль, заложенность ушей (сальпингит), легкие признаки синусита, но, повторю, необычно как-то, нет секреторного компонента. Есть просто отек слизистых. Далее, на 2-4 день боль по ходу трахеи и за грудиной (!), сухой кашель усиливается. С пятого дня может появиться боль в грудной клетке (уже более латерально, не по центру), затрудненное дыхание (периодами). И это вот продолжается без лечения около 15-20 дней. Потом, если осложнений нет, уходит и улучшается (субъективно) по 5% в день. Длится всего порядка месяца (от 3 до 6 недель). Если нет осложнений — то температуры нет, или гипотермия (36,0-36,3). В анализе крови аналогично: основной симптом — лимфопения (!), мало либо нормальное кол-во нейтрофилов, и повышенный С-реактивный белок. Больше ничего.

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

10 Худших Эпидемий В Истории

Чума Юстиниана, эпидемия, охватившая Восточную Римскую империю, унесла почти 10 000 000 жизней. Это была худшая эпидемия в истории, за которой последовала Черная чума.

10 Худших Эпидемий В Истории
На протяжении всей истории эпидемии были причиной гибели сотен тысяч людей. Эпидемии унесли так много жизней, потому что они, как правило, являются высокоинфекционными заболеваниями, которые достигают большого количества людей в очень короткие сроки. Количество случаев заболевания быстро превышает то, что обычно ожидается в популяции. Эти заболевания могут быть вирусными, бактериальными или другими заболеваниями.
10 Худших Эпидемий В Истории


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

Индикатор поглащение перехай с объемами

индикатор показывает что по сберу падение еще даже и не начиналось, похоже на то что продажи начнутся после выплаты дивов
Индикатор поглащение перехай с объемами



сам код:

Settings={
Name="abs_over_vol",
period=20,
line=                                     
                {  
                                        {  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(255,0, 0)
                    }
                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет

назначение:
построение поглащения и перехая с использованием объемов



--]]

function Init()
  y = 0         
  return 1
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  

  if index == 1 then 
   y = 0  
  end  
       

   i = index

   
   if index-n > 0 then
        
        if (C(i) < C(i-1)) and (C(i-1) > O(i-1)) and (C(i) < O(i)) and
       (C(i-1) - O(i-1) < O(i) - C(i))  then
      y = y - 1*V(i)       
        end
        
        if (C(i) > C(i-1)) and (C(i-1) < O(i-1)) and (C(i) > O(i)) and
       (O(i-1) - C(i-1) < C(i) - O(i))  then
      y = y + 1*V(i)               
        end     
        
        if (H(i) > H(i-1)) and (L(i) > L(i-1)) then
      y = y + 1*V(i)               
        end
        
        if (H(i) < H(i-1)) and (L(i) < L(i-1)) then
      y = y - 1*V(i)               
        end     
        
   end 
   
   return y
 
  
end

КоронаВирус сделан и пришел из США! Продавайте баксы!

    • 16 марта 2020, 12:14
    • |
    • Lookas
  • Еще
ХРОНОЛОГИЯ СОБЫТИЙ

1. 2015 год
[censored]
Статья в журнале Nature, где указывается, что в США проводились практические исследования по искусственной модификации коронавируса китайской летучей мыши, благодаря которой коронавирус сможет передаваться человеку без необходимости инкубации в промежуточном животном. В статье указываются опасения о том, что такие эксперименты могут быть слишком опасны.

2. 5 августа 2019
Статья в NY Times о закрытии военной биологической лаборатории в США из-за «угрозы безопасности»
[censored]

3. 31 августа 2019
Статья в NY Times о развитии странной эпидемии неизвестной болезни легких в США (на момент выхода статьи – 215 зараженных).
[censored]

4. 11 Сентября 2019 (символичная дата)
[censored]
«Неизвестное заболевание легких» насчитывает уже 500 случаев в более чем 30 штатах в США. Сообщается о смертельных исходах от заболевания в пяти штатах, возраст умерших – от 30 лет и старше. Дональд Трамп, с подачи CDC (Centers for Disease Control and Prevention) созывает совещание на тему ограничения продажи вейпов. Некоторые штаты вводят или рассматривают возможность введения запрета на продажу электронных сигарет – других причин «неизвестного заболевания» не называется, хотя NY Times отмечает, что болели даже те, кто вообще ничего не курил.

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

Симптомы коронавируса. Как определить что вы уже больны.

Климов Юра — молодой врач из РФ, работает в больнице Шэньчжэня, переведён на изучение вируса пневмонии Ухань. Позвонил своим близким и дал разьяснение.
_

Если у вас насморк и мокрота при простуде, вы не можете быть носителем коронавирусной инфекции.

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

Чувствителен к термической обработке. Погибает мгновенно при температуре выше 56°С и в течение 15 минут при температуре выше 37°С.

Совет врача по коронавирусу:

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

Если заражённый чихает перед вами или пройдет на расстоянии до 3 метров от вас, замедлите шаг и зараза просто упадёт на землю, летать она не может.

2. Если вирус попал на поверхность металла, он проживёт не менее 12 часов.

Поэтому, если вы соприкоснулись с какой-либо металлической поверхностью, тщательно вымойте руки с мылом.

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

Виснет Quik? Возможно вам сюда.

    • 02 марта 2020, 23:26
    • |
    • 3Qu
  • Еще
Если подвисает сам брокер или связь с ним, то этот топик вам не поможет.
Однако, возможно  причина и в самом терминале Quik. Дело может быть в том, что Quik в процессе работы пишет данные в файлы вида *.dat и *.log, и со временем эти файлы сильно разрастаются и запись в них данных занимает значительное время, отнимая процессорное время у других задач.
Простейший выход из этого состояния — периодическое удаление файлов *.dat и *.log из директории Quik. Для этого надо написать небольшой командный файл всего в одну строчку, разместить его в директории Quik, где находятся удаляемые файлы, и, для удобства использования создать ярлык на рабочем столе.
Итак, открываем блокнот и создаем файл Quik_start.cmd В него помещаем всего одну строчку: 
del alltrade.dat curr_data.log info.log
 
После команды не забудьте нажать Enter, чтобы последней в файле была пустая строка.
Сохраняем файл в указанной выше директории (папке), создаем ярлык и переносим его на рабочий стол. Запускаем командный файл перед стартом Quik. При этом файлы, указанные в команде del будут удалены. При запуске Quik их создаст заново.

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

За 10 лет Россия запретила своим гражданам столько, что список занимает несколько страниц

    • 06 января 2020, 17:39
    • |
    • Auximen
      Smart-lab премиум
  • Еще
  • Американцам запретили усыновлять детей из России.
  • Клевету, которую при Медведеве отправили в административный кодекс, снова сделали уголовным преступлением.
  • Реабилитация нацизма — теперь тоже в УК. Причем один пункт этой статьи запрещает неуважительно высказываться о днях воинской славы России — например, о днях победы на Чудском озере и Куликовом поле.
  • Воров в законе теперь можно сажать только на этом основании на срок от восьми до 15 лет и штрафовать.
  • Несообщение о преступлении тоже стало уголовным преступлением. Речь, правда, идет лишь о конкретном перечне: от публичного оправдания терроризма до вооруженного мятежа.
  • За призывы к сепаратизму (например, вернуть Тыву Тайваню


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

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