nikolz (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 78 След.
Количество свечей
 
Цитата
Stivins написал:
С помощью CreateDataSource выгружаем свечи по инструменту
Но как запросить не все, а только к примеру 20 последних свечей

Если невозможно то как можно урезать полученный массив со свечами, оставив 20 последних.
CreateDataSource - это подписка, а не выгрузка,  на сервере для получения свечей
После подписки в терминал будут приходить все новые свечи.
Принимаемые свечи помещаются в архив терминала
------------------------
Прочитать из архива можно с помощью :
-------------------------
getCandlesByIndex

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

Формат вызова:  

TABLE t, NUMBER n, STRING l getCandlesByIndex (STRING tag, NUMBER
line, NUMBER first_candle, NUMBER count)
sendTransaction не вернула ошибку, Поведение sendTransaction не по документации
 
Цитата
ЭД написал:
Спасибо.
Нет у вас хорошего примера под рукой OnTransReply) ?
У меня этот колбек реализован так:
Код
local t_mes={
"отправлена серверу",
"получена на сервер QUIK от клиента",
"ошибка при передаче транзакции в торговую систему. Так как отсутствует подключение шлюза Московской Биржи",
"выполнена",
"не выполнена торговой системой. Более подробное описание ошибки отражается в поле «Сообщение»",
"не прошла проверку сервера QUIK по каким-либо критериям. Например, проверку на наличие прав у пользователя на отправку транзакции данного типа",
"не прошла проверку лимитов сервера QUIK",
"не поддерживается торговой системой",
"не прошла проверку правильности электронной цифровой подписи",
"не удалось дождаться ответа на транзакцию, т.к. истек таймаут ожидания",
"отвергнута, так как ее выполнение могло привести к кросс-сделке",
"не прошла контроль дополнительных ограничений, установленных брокером",
"принята после нарушения дополнительных ограничений, установленных брокером",
"отменена пользователем в ходе проверки дополнительных ограничений, установленных брокером" }

function OnTransReply(t)
   local x=t.status
   if Log then Log:write("status="..x..": транзакция "..t_mes[x+1]..">"..msg.."\n"); Log:flush();end
   if x==3 or 2>x or x==15 then return end
   ---удаляем ошибочные транзакции сделок
   local _id=t.trans_id; local e,j,M;
   for n=1,2 do
      e=tor[n]; j=0; M=#e; while M>j do j=j+1; u=e[j];
         if u[1]==id_ then if M>j then e[j]=e[M]; end  e[M]=nil; e[0]=e[0]-1
         if Log then Log:write("transReply "..",e[0]="..e[0]..",#e="..#e.."\n");Log:flush(); end
         return; end  --отменяем выставление заявки
         if #u==3 and u[3]==id_ then u[3]=nil ;e[0]=e[0]-1
         if Log then Log:write("transReply "..",e[0]="..e[0]..",#e="..#e.."\n");Log:flush(); end
         return; end  -- отменяем удаление
      end
   end
end
Цена операции short выходит за установленный диапазон., Превышено ограничение цены заявки для продажи без покрытия
 
либо лучшую встречную  
Цена операции short выходит за установленный диапазон., Превышено ограничение цены заявки для продажи без покрытия
 
выставляйте не рыночную, а немного лучше лучшей. Это будет как рыночная
sendTransaction не вернула ошибку, Поведение sendTransaction не по документации
 
Цитата
ЭД написал:
Добрый день


Простой код снятия стоп-заявки, в момент вызова стоп-заявка исполняется

function drop_stop_order(p_trans_id)  
    --  
   local bs, res = {}, ""
   
   message('Begin drop_stop_order trans_id=' .. p_trans_id)
   
   for i=0,(tonumber(getNumberOf("stop_orders"))-1) do    
     bs=getItem("stop_orders",i)
     if bit.band(bs.flags, 1)~=0  and bs.trans_id == p_trans_id then
       message('Send drop stop-order trans_id='..bs.trans_id);          
       local Transaction={
        ["TRANS_ID"]     = tostring(bs.trans_id),  
        ["ACTION"]       = "KILL_STOP_ORDER",
        ["CLASSCODE"]    = 'SPBFUT',
        ["SECCODE"]      = 'SiH5', -- инструмент
        ["STOP_ORDER_KEY"] = tostring(bs.ordernum),
        ["ACCOUNT"]        = 'SPBFUTxxx'
        }
     -- Если функция вернула строку диагностики ошибки, то значит транзакция не прошла    
       local Result = sendTransaction(Transaction);
       if Result ~= "" then
         message("Drop stop-order error!\nОШИБКА: "..tostring(Result));
       end  

     end    
  end  end    


В терминале сообщения:
Begin drop_stop_order trans_id=142604
Send drop stop-order trans_id=142604
и в обход скрипта насколько понял сообщение:  Не удается снять стоп-заявку N [1217138444]

То есть сообщения  "Drop stop-order error!\nОШИБКА: "..tostring(Result)  нет, а должно судя по документации.
Почему sendTransaction не вернула ошибку??
sendTransaction  возвращает ошибки обнаруженные  терминалом,
а полученную Вами ошибку прислала биржа.
Вы ее получите в колбеке.
Ошибка при загрузке скрипта индикатора и др.
 
Цитата
ЮрийК написал:
---------------------------------------------------------------------
local size = Size(I)
-------------------
Size не имеет параметров:.    local size = Size()
---------------------------------------------------------------------
Lua прощает такую ошибку

---------------------------------------------------------------------------------------------------------
У пустой свечи нет объема, нет параметров.
===================
При старте скрипта он исполняется два раза от 1 до Size()
--------------------------------------------------------------------------------------------------------
Это понятно.

Если выполнить условия п. 2, то вывалится целый период из расчётов!
Возможно не понял, какая ошибка. можно подробнее.  
Ошибка при загрузке скрипта индикатора и др.
 
   local size = Size(I)
-------------------
Size не имеет параметров:.    local size = Size()
==========================

И как его отличить от пустых свечей при включенной опции "Показывать пустые интервалы"?
-------------------
У пустой свечи нет объема, нет параметров.
===================
При старте скрипта он исполняется два раза от 1 до Size()
Вы не можете снять данную заявку
 
Цитата
Максим Трейдер написал:
nikolz, А что это значит "Транзакция не прошла проверку лимитов сервера QUIK"? О каких лимитах идёт речь?
Это означает, что у вас не хватает средств для совершения данной транзакции.
Возможно вы пытались сделать сделку по рынку.
Вы не можете снять данную заявку
 
Цитата
Максим Трейдер написал:
Добрый день. Я новичок в программировании роботов. Прошу простить за, наверное, дилетантский вопрос. 18 марта во время высокой волатильности  в ответ на мои транзакции на снятие заявок QUIK стал присылать ответы "Вы не можете снять данную заявку", "Транзакция не прошла проверку лимитов сервера QUIK". Раньше подобные ответы приходили только, если заявка уже снята, но в этот раз заявки продолжали стоять в стакане. Почему такое происходит и есть ли какая-то рекомендация, как определить, снята всё-таки заявка или нет?
В данном сообщении указана причина, Транзакция не прошла проверку лимитов сервера QUIK".  
Вот это и является главным.
Но сделать анализ невозможно, так как нет содержимого транзакции.
Данные с MOEX на Lua
 
опечатка, пропущена строка
Код
local eng="/engines/stock/markets/shares/securities/"
Данные с MOEX на Lua
 
Для этого надо установить пакет luasocket.
-------------------
Пример скрипта  получить данные по Сбер для тайма 10 минут
Код
p2 = "D:/luasocket/"; 
package.cpath =package.cpath ..";"..p2.."?.dll";
package.path =package.path..";"..p2.."?.lua;"
local http = require("socket.http")

local header="http://iss.moex.com/iss/"
local sec="SBER"
local Date="2025-03-10"
local interval="10"
Data=http.request(header..eng..sec.."/candles.csv?from="..Date.."&interval="..interval) --не более 500 значений
print(Data)
результат:
Код
candles

open;close;high;low;value;volume;begin;end
316.98;316.98;316.98;316.98;6558316.199999993;20690;2025-03-10 06:50:00;2025-03-10 06:59:59
317;318.71;318.71;317;175975306.3;553270;2025-03-10 07:00:00;2025-03-10 07:09:59
318.6;318.23;318.68;318.01;47408624.699999996;148930;2025-03-10 07:10:00;2025-03-10 07:19:59
318.26;318.35;318.6;318.07;84248628.7;264640;2025-03-10 07:20:00;2025-03-10 07:29:59
318.34;318.2;318.53;318.2;27067709.6;85020;2025-03-10 07:30:00;2025-03-10 07:39:59
318.2;318.47;318.5;318.16;19870959.499999996;62420;2025-03-10 07:40:00;2025-03-10 07:49:59
318.49;318.15;318.58;318.15;30327046.200000003;95250;2025-03-10 07:50:00;2025-03-10 07:59:59
318.14;318.03;318.2;317.98;41976335.3;131970;2025-03-10 08:00:00;2025-03-10 08:09:59
318.02;318.25;318.46;318;38795280.800000004;121920;2025-03-10 08:10:00;2025-03-10 08:19:59
318.24;318.21;318.43;318.16;21885336.900000002;68770;2025-03-10 08:20:00;2025-03-10 08:29:59
318.26;318.11;318.36;317.97;35239183;110760;2025-03-10 08:30:00;2025-03-10 08:39:59
318.12;318.15;318.24;318;21160924.200000003;66520;2025-03-10 08:40:00;2025-03-10 08:49:59
318.15;317.82;318.17;317.82;40041972.60000001;125950;2025-03-10 08:50:00;2025-03-10 08:59:59
317.81;317.76;318;317.75;133830122.00000001;421140;2025-03-10 09:00:00;2025-03-10 09:09:59
317.77;317.39;317.87;317.32;49434518.60000001;155660;2025-03-10 09:10:00;2025-03-10 09:19:59
317.39;317.85;317.93;317.39;66449996.699999996;209220;2025-03-10 09:20:00;2025-03-10 09:29:59
317.86;318.5;318.7;317.7;131819408.4;413940;2025-03-10 09:30:00;2025-03-10 09:39:59
318.49;318.4;318.51;318.24;49213137.300000004;154560;2025-03-10 09:40:00;2025-03-10 09:49:59
318.38;318.4;318.52;318.22;71269440.2;223850;2025-03-10 09:50:00;2025-03-10 09:59:59
318.36;318.05;318.53;317.92;219652877.20000002;690420;2025-03-10 10:00:00;2025-03-10 10:09:59
318.08;318.16;318.28;317.93;88167886;277180;2025-03-10 10:10:00;2025-03-10 10:19:59
318.16;316.67;318.2;316.37;471615257.1;1486720;2025-03-10 10:20:00;2025-03-10 10:29:59
316.67;317.23;317.63;316.67;204793272.60000005;645670;2025-03-10 10:30:00;2025-03-10 10:39:59
317.23;317.41;317.52;317;121681174.80000004;383570;2025-03-10 10:40:00;2025-03-10 10:49:59
317.41;317.29;317.93;317.26;164760496.00000003;518700;2025-03-10 10:50:00;2025-03-10 10:59:59
317.29;317.47;317.74;317.2;71508892.9;225250;2025-03-10 11:00:00;2025-03-10 11:09:59
317.44;317.8;318;317.3;100920005.19999999;317570;2025-03-10 11:10:00;2025-03-10 11:19:59
317.8;317.26;318.16;317;225224639.00000003;709590;2025-03-10 11:20:00;2025-03-10 11:29:59
317.25;317.6;317.82;317.25;115677122.69999997;364200;2025-03-10 11:30:00;2025-03-10 11:39:59
317.6;317.68;317.85;317.18;111280152.30000001;350360;2025-03-10 11:40:00;2025-03-10 11:49:59
317.6;317.37;317.97;317.31;105261628.70000003;331320;2025-03-10 11:50:00;2025-03-10 11:59:59
317.34;317.08;317.6;316.83;248860136.1000001;784780;2025-03-10 12:00:00;2025-03-10 12:09:59
317.08;316.99;317.15;316.8;120169067.6;379150;2025-03-10 12:10:00;2025-03-10 12:19:59
316.97;317.14;317.45;316.97;79511919.60000001;250680;2025-03-10 12:20:00;2025-03-10 12:29:59
317.14;317.74;317.79;317.13;100651973.49999999;317060;2025-03-10 12:30:00;2025-03-10 12:39:59
317.73;318.26;318.48;317.62;322494796.1;1013600;2025-03-10 12:40:00;2025-03-10 12:49:59
318.25;319.48;319.49;318.06;674781138.9000006;2115780;2025-03-10 12:50:00;2025-03-10 12:59:59
319.44;319.29;319.49;318.75;311378074.9000001;975590;2025-03-10 13:00:00;2025-03-10 13:09:59
319.3;319.12;319.94;319;553953558.5999991;1733680;2025-03-10 13:10:00;2025-03-10 13:19:59
319.16;319.18;319.31;318.67;258552251.50000006;810640;2025-03-10 13:20:00;2025-03-10 13:29:59
319.19;319.14;319.59;319.01;171823970.89999998;538100;2025-03-10 13:30:00;2025-03-10 13:39:59
319.15;318.92;319.2;318.57;188321384.6;590480;2025-03-10 13:40:00;2025-03-10 13:49:59
318.91;318.81;318.95;318.67;78612829.80000003;246570;2025-03-10 13:50:00;2025-03-10 13:59:59
318.78;319.38;319.95;318.77;513175851.2;1606420;2025-03-10 14:00:00;2025-03-10 14:09:59
319.38;318.96;319.38;318.84;182232033.90000004;571070;2025-03-10 14:10:00;2025-03-10 14:19:59
319;319.28;319.47;318.7;183904173.1;576430;2025-03-10 14:20:00;2025-03-10 14:29:59
319.23;319.15;319.37;319;157636132.9000001;494020;2025-03-10 14:30:00;2025-03-10 14:39:59
319.15;319.16;319.37;319;119519400.10000002;374540;2025-03-10 14:40:00;2025-03-10 14:49:59
319.17;319.55;319.75;319.1;136698176.20000002;427880;2025-03-10 14:50:00;2025-03-10 14:59:59
319.54;319.22;319.64;319;225211218.60000005;705350;2025-03-10 15:00:00;2025-03-10 15:09:59
319.27;319.55;319.55;319.12;57168158.599999994;179010;2025-03-10 15:10:00;2025-03-10 15:19:59
319.55;319.23;319.59;319.17;78352069.79999998;245310;2025-03-10 15:20:00;2025-03-10 15:29:59
319.23;319.33;319.5;319.2;50655222;158620;2025-03-10 15:30:00;2025-03-10 15:39:59
319.33;319.55;319.59;319.2;94761912.99999997;296650;2025-03-10 15:40:00;2025-03-10 15:49:59
319.55;319.71;319.75;319.42;85916305.70000002;268780;2025-03-10 15:50:00;2025-03-10 15:59:59
319.71;319.6;319.84;319.6;145533720.7;455280;2025-03-10 16:00:00;2025-03-10 16:09:59
319.6;320.48;320.63;319.6;667109220.6999998;2083330;2025-03-10 16:10:00;2025-03-10 16:19:59
320.46;320;320.51;319.92;281212775.49999994;878130;2025-03-10 16:20:00;2025-03-10 16:29:59
320;319.39;320.1;319.2;206595805.20000005;646280;2025-03-10 16:30:00;2025-03-10 16:39:59
319.4;319.41;319.72;319.21;133510730.40000004;417890;2025-03-10 16:40:00;2025-03-10 16:49:59
319.4;319.5;319.94;319.36;84631125.29999998;264730;2025-03-10 16:50:00;2025-03-10 16:59:59
319.51;319.55;319.76;319.4;62520826.6;195640;2025-03-10 17:00:00;2025-03-10 17:09:59
319.57;319.54;319.62;319.38;70866999.7;221830;2025-03-10 17:10:00;2025-03-10 17:19:59
319.53;318.52;319.56;317.5;517624221.59999996;1626050;2025-03-10 17:20:00;2025-03-10 17:29:59
318.53;318.64;318.88;318.33;94381582.50000001;296210;2025-03-10 17:30:00;2025-03-10 17:39:59
318.67;318.92;319.17;318.55;150513043.1;472080;2025-03-10 17:40:00;2025-03-10 17:49:59
318.85;318.5;318.9;318.5;51312515.699999996;161020;2025-03-10 17:50:00;2025-03-10 17:59:59
318.5;318.25;318.5;317.8;230751215.80000007;725410;2025-03-10 18:00:00;2025-03-10 18:09:59
318.25;318.34;318.6;318.07;75083299.89999999;235860;2025-03-10 18:10:00;2025-03-10 18:19:59
318.32;318.1;318.45;318;56363842.9;177190;2025-03-10 18:20:00;2025-03-10 18:29:59
318.09;318.15;318.41;317.91;72950185.7;229320;2025-03-10 18:30:00;2025-03-10 18:39:59
317.6;317.6;317.6;317.6;129739600;408500;2025-03-10 18:40:00;2025-03-10 18:49:59
317.95;318;318.18;317.72;61493505.89999999;193370;2025-03-10 19:00:00;2025-03-10 19:09:59
318;318.3;318.34;317.97;95886070.69999999;301400;2025-03-10 19:10:00;2025-03-10 19:19:59
318.3;317.76;318.45;317.75;45363522.7;142620;2025-03-10 19:20:00;2025-03-10 19:29:59
317.76;317.84;317.93;317.74;30867686.9;97120;2025-03-10 19:30:00;2025-03-10 19:39:59
317.83;318.05;318.36;317.75;47578783.3;149600;2025-03-10 19:40:00;2025-03-10 19:49:59
318.04;318.09;318.32;318.04;19216828.900000002;60410;2025-03-10 19:50:00;2025-03-10 19:59:59
318.08;317.9;318.16;317.9;28139057.39999999;88470;2025-03-10 20:00:00;2025-03-10 20:09:59
317.9;317.97;317.99;317.83;12054377.899999999;37920;2025-03-10 20:10:00;2025-03-10 20:19:59
317.94;317.98;318;317.88;9630865.600000001;30290;2025-03-10 20:20:00;2025-03-10 20:29:59
317.98;317.51;317.98;317.5;99723652.29999998;313920;2025-03-10 20:30:00;2025-03-10 20:39:59
317.5;317.15;317.5;316.68;357174365.49999994;1126890;2025-03-10 20:40:00;2025-03-10 20:49:59
317.15;317.02;317.34;316.97;28328302.4;89330;2025-03-10 20:50:00;2025-03-10 20:59:59
317.02;317.08;317.19;316.9;44550143.89999999;140530;2025-03-10 21:00:00;2025-03-10 21:09:59
317.07;317.92;317.96;317.06;98698390.19999999;310830;2025-03-10 21:10:00;2025-03-10 21:19:59
317.93;317.44;317.93;317.44;65801526.4;207060;2025-03-10 21:20:00;2025-03-10 21:29:59
317.44;317.84;317.88;317.24;27684769.1;87180;2025-03-10 21:30:00;2025-03-10 21:39:59
317.85;317.7;317.85;317.67;11610775.700000001;36540;2025-03-10 21:40:00;2025-03-10 21:49:59
317.68;317.67;317.8;317.67;7451154.200000001;23450;2025-03-10 21:50:00;2025-03-10 21:59:59
317.68;317.44;317.74;317.43;14800377.900000002;46600;2025-03-10 22:00:00;2025-03-10 22:09:59
317.43;317.19;317.57;317.02;43047580.3;135700;2025-03-10 22:10:00;2025-03-10 22:19:59
317.18;317.37;317.52;317.18;23116736.9;72830;2025-03-10 22:20:00;2025-03-10 22:29:59
317.37;317.57;317.68;317.33;24962601.300000004;78620;2025-03-10 22:30:00;2025-03-10 22:39:59
317.57;317.38;317.57;317.38;19585749.599999998;61700;2025-03-10 22:40:00;2025-03-10 22:49:59
317.39;317.38;317.39;317.3;14902353.6;46960;2025-03-10 22:50:00;2025-03-10 22:59:59
317.39;317.46;317.5;317.39;9695359.4;30540;2025-03-10 23:00:00;2025-03-10 23:09:59
317.46;317.49;317.49;317.41;33814353.800000004;106510;2025-03-10 23:10:00;2025-03-10 23:19:59
317.49;317.57;317.62;317.48;39505913.3;124420;2025-03-10 23:20:00;2025-03-10 23:29:59
317.57;317.5;317.57;317.31;31998754.200000003;100810;2025-03-10 23:30:00;2025-03-10 23:39:59
317.5;317.57;317.67;317.45;58358134.599999994;183770;2025-03-10 23:40:00;2025-03-10 23:49:59
317.7;317.7;317.7;317.7;2821176;8880;2025-03-11 06:50:00;2025-03-11 06:59:59
317.78;318.2;318.7;317.6;87586947.2;275220;2025-03-11 07:00:00;2025-03-11 07:09:59
318.23;318.05;318.29;318.04;23422902.1;73620;2025-03-11 07:10:00;2025-03-11 07:19:59
318.1;318.41;318.5;318;36120401.400000006;113470;2025-03-11 07:20:00;2025-03-11 07:29:59
318.42;318.29;318.5;318.2;13874050.399999999;43580;2025-03-11 07:30:00;2025-03-11 07:39:59
318.28;318.29;318.29;318.28;6238445.500000001;19600;2025-03-11 07:40:00;2025-03-11 07:49:59
318.28;318.11;318.29;318.1;16128308.4;50690;2025-03-11 07:50:00;2025-03-11 07:59:59
318.11;317.87;318.11;317.82;17662961.599999998;55550;2025-03-11 08:00:00;2025-03-11 08:09:59
317.93;318.16;318.19;317.93;8344390.7;26230;2025-03-11 08:10:00;2025-03-11 08:19:59
318.15;317.91;318.26;317.9;8340461.699999999;26220;2025-03-11 08:20:00;2025-03-11 08:29:59
317.96;317.8;317.97;317.6;26977807.199999988;84900;2025-03-11 08:30:00;2025-03-11 08:39:59
317.8;317.62;317.97;317.61;17680679.1;55620;2025-03-11 08:40:00;2025-03-11 08:49:59
317.74;317.32;317.81;317.32;67167200.39999999;211510;2025-03-11 08:50:00;2025-03-11 08:59:59
317.33;317.49;317.92;317.31;70360926.60000001;221550;2025-03-11 09:00:00;2025-03-11 09:09:59
317.49;317.29;317.5;317.21;52695987;166070;2025-03-11 09:10:00;2025-03-11 09:19:59
317.29;317.39;317.48;316.72;96404497.90000004;304100;2025-03-11 09:20:00;2025-03-11 09:29:59
317.38;317.58;317.86;317.3;50274399.79999996;158320;2025-03-11 09:30:00;2025-03-11 09:39:59
317.58;317.32;317.78;317;39921641.9;125780;2025-03-11 09:40:00;2025-03-11 09:49:59
317.36;317.06;317.4;316.07;315354329.2;996070;2025-03-11 09:50:00;2025-03-11 09:59:59
317.01;315.91;317.07;315.66;513685099.0000001;1625210;2025-03-11 10:00:00;2025-03-11 10:09:59
315.88;316.64;316.64;315.57;355175621.99999994;1123830;2025-03-11 10:10:00;2025-03-11 10:19:59
316.62;316.57;317.28;316.34;224793168.19999996;709750;2025-03-11 10:20:00;2025-03-11 10:29:59
316.57;316.65;316.76;316.03;216093107.90000004;682980;2025-03-11 10:30:00;2025-03-11 10:39:59
316.65;318.38;318.68;316.6;717415758.6;2257710;2025-03-11 10:40:00;2025-03-11 10:49:59
318.46;318.42;318.53;318.01;241769644.3;759470;2025-03-11 10:50:00;2025-03-11 10:59:59
318.42;319.99;320.49;318.14;1070825372.4;3350700;2025-03-11 11:00:00;2025-03-11 11:09:59
319.99;319.6;320.34;319.25;390892391.20000005;1222580;2025-03-11 11:10:00;2025-03-11 11:19:59
319.58;319.96;320;319.48;227905559.60000005;712670;2025-03-11 11:20:00;2025-03-11 11:29:59
319.96;319.99;320.1;319.95;152333402.00000006;476040;2025-03-11 11:30:00;2025-03-11 11:39:59
319.98;319.65;319.99;319;254934993.9;798230;2025-03-11 11:40:00;2025-03-11 11:49:59
319.62;319;319.66;318.65;170697046.00000003;535010;2025-03-11 11:50:00;2025-03-11 11:59:59
319;319.1;319.6;318.82;133154876.7999998;417050;2025-03-11 12:00:00;2025-03-11 12:09:59
319.1;318.78;319.4;318.6;348113064.8999999;1091620;2025-03-11 12:10:00;2025-03-11 12:19:59
318.78;318.01;318.8;318;378198086.6000001;1188160;2025-03-11 12:20:00;2025-03-11 12:29:59
318;318.86;318.96;318;156668099.10000002;491850;2025-03-11 12:30:00;2025-03-11 12:39:59
318.83;318.91;318.97;318.7;76522840.39999999;239980;2025-03-11 12:40:00;2025-03-11 12:49:59
318.96;318.98;318.99;318.7;88897780.9;278780;2025-03-11 12:50:00;2025-03-11 12:59:59
318.99;319.45;319.63;318.93;216690560.3;678460;2025-03-11 13:00:00;2025-03-11 13:09:59
319.41;319.47;319.65;319.26;112337813.89999999;351600;2025-03-11 13:10:00;2025-03-11 13:19:59
319.43;319.37;319.5;318.83;121616323.40000004;381050;2025-03-11 13:20:00;2025-03-11 13:29:59
319.34;319.82;319.89;319.1;170356178.79999986;533050;2025-03-11 13:30:00;2025-03-11 13:39:59
319.86;319.86;320.05;319.63;360185284.1;1125870;2025-03-11 13:40:00;2025-03-11 13:49:59
319.82;319.7;320.02;319.53;126334275.3;394940;2025-03-11 13:50:00;2025-03-11 13:59:59
319.71;319.4;319.71;319.18;64190452.599999994;200990;2025-03-11 14:00:00;2025-03-11 14:09:59
319.4;318.65;319.4;318.2;274579169.1;861710;2025-03-11 14:10:00;2025-03-11 14:19:59
318.65;319.56;320.06;318.55;357971726.90000004;1120010;2025-03-11 14:20:00;2025-03-11 14:29:59
319.57;319.39;319.6;319.03;116185744.19999999;363830;2025-03-11 14:30:00;2025-03-11 14:39:59
319.39;319.3;319.49;319.18;91109377.09999998;285280;2025-03-11 14:40:00;2025-03-11 14:49:59
319.22;318.5;319.5;318.44;239955025.19999996;752310;2025-03-11 14:50:00;2025-03-11 14:59:59
318.49;318.7;319.08;318.2;328263597.79999995;1030520;2025-03-11 15:00:00;2025-03-11 15:09:59
318.71;318.66;318.82;318.43;113859591.89999999;357410;2025-03-11 15:10:00;2025-03-11 15:19:59
318.66;318.9;319.1;318.53;77947730.50000001;244570;2025-03-11 15:20:00;2025-03-11 15:29:59
318.82;319;319.14;318.7;42302012.3;132630;2025-03-11 15:30:00;2025-03-11 15:39:59
319;319.24;319.5;318.8;125415824.9;392850;2025-03-11 15:40:00;2025-03-11 15:49:59
319.23;319.24;319.4;318.72;103262974.7;323560;2025-03-11 15:50:00;2025-03-11 15:59:59
319.24;319.53;319.74;319.18;195054758.1;610560;2025-03-11 16:00:00;2025-03-11 16:09:59
319.52;319.75;319.95;319.49;211115199.8;660210;2025-03-11 16:10:00;2025-03-11 16:19:59
319.75;320.09;320.25;319.63;341314600.7999999;1066620;2025-03-11 16:20:00;2025-03-11 16:29:59
320.07;319.78;320.09;319.73;129603205.10000001;405100;2025-03-11 16:30:00;2025-03-11 16:39:59
319.78;319.97;320;319.78;72642700.89999999;227040;2025-03-11 16:40:00;2025-03-11 16:49:59
319.96;320.03;320.18;319.96;105175298.60000001;328610;2025-03-11 16:50:00;2025-03-11 16:59:59
320.03;321.09;321.2;320.03;744500105.5000001;2321110;2025-03-11 17:00:00;2025-03-11 17:09:59
321.09;321.01;321.98;320.96;1269680795;3949580;2025-03-11 17:10:00;2025-03-11 17:19:59
321.01;320.8;321.3;320.79;254568182.40000007;792940;2025-03-11 17:20:00;2025-03-11 17:29:59
320.8;320.92;321.12;320.76;159533393.89999998;497040;2025-03-11 17:30:00;2025-03-11 17:39:59
320.98;320.46;321.04;320.25;199581991.60000002;622630;2025-03-11 17:40:00;2025-03-11 17:49:59
320.46;320.43;320.74;320.35;113832584.79999998;355120;2025-03-11 17:50:00;2025-03-11 17:59:59
320.42;320.1;320.5;319.51;242440416.5;757710;2025-03-11 18:00:00;2025-03-11 18:09:59
320.07;319.65;320.23;319.31;162779543.59999993;509110;2025-03-11 18:10:00;2025-03-11 18:19:59
319.65;320.05;320.05;319.5;105775473.7;330770;2025-03-11 18:20:00;2025-03-11 18:29:59
320.06;319.86;320.19;319.81;33642858.9;105130;2025-03-11 18:30:00;2025-03-11 18:39:59
320.23;320.23;320.23;320.23;63632903.299999975;198710;2025-03-11 18:40:00;2025-03-11 18:49:59
320.23;320.12;320.24;319.87;58630601.49999999;183210;2025-03-11 19:00:00;2025-03-11 19:09:59
320.13;319.88;320.17;319.87;77382776.19999999;241870;2025-03-11 19:10:00;2025-03-11 19:19:59
319.9;319.88;320.14;319.87;16706214.7;52210;2025-03-11 19:20:00;2025-03-11 19:29:59
319.88;320;320.1;319.88;16224184.199999997;50700;2025-03-11 19:30:00;2025-03-11 19:39:59
320;320.94;321.46;319.97;481574724.60000014;1500410;2025-03-11 19:40:00;2025-03-11 19:49:59
320.95;321.73;321.73;320.55;237047973.30000004;737720;2025-03-11 19:50:00;2025-03-11 19:59:59
321.73;320.81;321.82;320.66;396882068.6;1234690;2025-03-11 20:00:00;2025-03-11 20:09:59
320.85;321.09;321.43;320.84;133254530.4;415010;2025-03-11 20:10:00;2025-03-11 20:19:59
321.09;320.67;321.28;320.4;89851708.00000001;280040;2025-03-11 20:20:00;2025-03-11 20:29:59
320.63;320.6;320.91;320.51;97731504.49999999;304770;2025-03-11 20:30:00;2025-03-11 20:39:59
320.6;320.98;321;320.56;45949417.8;143250;2025-03-11 20:40:00;2025-03-11 20:49:59
320.98;320.82;321.82;320.78;342943078.3;1067340;2025-03-11 20:50:00;2025-03-11 20:59:59
320.82;319.48;321.34;319.2;754016925.4999996;2355380;2025-03-11 21:00:00;2025-03-11 21:09:59
319.47;319.91;320.33;318.53;830634081.9;2601560;2025-03-11 21:10:00;2025-03-11 21:19:59
319.9;320.06;320.98;319.8;296826357.5;926740;2025-03-11 21:20:00;2025-03-11 21:29:59
320.06;320.33;320.6;319.46;237834156.7;743160;2025-03-11 21:30:00;2025-03-11 21:39:59
320.38;318.72;320.53;318.72;487314780.2;1525770;2025-03-11 21:40:00;2025-03-11 21:49:59
318.72;319.56;320.4;318.68;460987075.2000001;1443950;2025-03-11 21:50:00;2025-03-11 21:59:59
319.52;319.05;319.7;319.01;186025632.10000002;582550;2025-03-11 22:00:00;2025-03-11 22:09:59
319.01;318.77;319.18;318.71;188625885.2;591590;2025-03-11 22:10:00;2025-03-11 22:19:59
318.78;319.19;319.54;318.77;149306283.4;467770;2025-03-11 22:20:00;2025-03-11 22:29:59
319.17;319.04;319.45;318.82;96810475.60000001;303500;2025-03-11 22:30:00;2025-03-11 22:39:59
319.04;318.92;319.1;318.82;110522481.00000001;346530;2025-03-11 22:40:00;2025-03-11 22:49:59
318.93;319.52;319.57;318.91;161189119.99999994;504990;2025-03-11 22:50:00;2025-03-11 22:59:59
319.52;320;320.23;319.51;297995934.2;931380;2025-03-11 23:00:00;2025-03-11 23:09:59
319.99;319.46;320.09;319.4;65165758.49999999;203790;2025-03-11 23:10:00;2025-03-11 23:19:59
319.5;319.96;320.03;319.34;61997007.699999996;193920;2025-03-11 23:20:00;2025-03-11 23:29:59
319.96;319.75;320.1;319.64;81898160.2;255980;2025-03-11 23:30:00;2025-03-11 23:39:59
319.77;319.69;319.87;318.81;159117429.7;498140;2025-03-11 23:40:00;2025-03-11 23:49:59
319.99;319.99;319.99;319.99;14092359.6;44040;2025-03-12 06:50:00;2025-03-12 06:59:59
319.8;319.86;320.9;319.7;189258639.9;590800;2025-03-12 07:00:00;2025-03-12 07:09:59
319.86;319.43;320.1;319.31;94263994.5;294750;2025-03-12 07:10:00;2025-03-12 07:19:59
319.43;319.49;319.65;319.13;49855972.099999994;156120;2025-03-12 07:20:00;2025-03-12 07:29:59
319.49;319.91;320;319.48;42978431.79999999;134360;2025-03-12 07:30:00;2025-03-12 07:39:59
319.8;319.86;319.98;319.55;17257491.3;53970;2025-03-12 07:40:00;2025-03-12 07:49:59
319.88;319.74;319.98;319.72;21772345.699999996;68060;2025-03-12 07:50:00;2025-03-12 07:59:59
319.74;319.46;320;319.05;142743038.8;446780;2025-03-12 08:00:00;2025-03-12 08:09:59
319.47;319.17;319.62;319.17;38793959.89999999;121490;2025-03-12 08:10:00;2025-03-12 08:19:59
319.17;319.08;319.18;318.82;114862033;360060;2025-03-12 08:20:00;2025-03-12 08:29:59
319.08;318.85;319.18;318.82;37435063.900000006;117360;2025-03-12 08:30:00;2025-03-12 08:39:59
318.86;318.94;318.94;318.84;11445194.9;35890;2025-03-12 08:40:00;2025-03-12 08:49:59
318.94;318.83;319.18;318.82;56561700.60000001;177280;2025-03-12 08:50:00;2025-03-12 08:59:59
318.83;318.95;319.18;318.83;66854225;209570;2025-03-12 09:00:00;2025-03-12 09:09:59
318.95;319.09;319.14;318.9;30375353.7;95220;2025-03-12 09:10:00;2025-03-12 09:19:59
319.07;319.2;319.2;318.83;59604721.599999994;186840;2025-03-12 09:20:00;2025-03-12 09:29:59
319.2;318.7;319.2;318.5;195157913.00000003;612360;2025-03-12 09:30:00;2025-03-12 09:39:59
318.68;318.75;318.77;318.5;80934915.30000001;254080;2025-03-12 09:40:00;2025-03-12 09:49:59
318.76;318.79;318.87;318.53;48744407.39999999;152930;2025-03-12 09:50:00;2025-03-12 09:59:59
318.78;319.39;319.89;318.38;522223041.3;1637460;2025-03-12 10:00:00;2025-03-12 10:09:59
319.39;318.96;319.5;318.68;118466513.10000002;371270;2025-03-12 10:10:00;2025-03-12 10:19:59
318.89;318.55;318.9;318.48;125755399.90000002;394670;2025-03-12 10:20:00;2025-03-12 10:29:59
318.56;318.59;318.79;318.21;266935099.59999996;838140;2025-03-12 10:30:00;2025-03-12 10:39:59
318.6;318.52;319.3;318.41;385909659.7000001;1210580;2025-03-12 10:40:00;2025-03-12 10:49:59
318.52;317.12;318.57;316.7;1024629631.6000003;3226890;2025-03-12 10:50:00;2025-03-12 10:59:59
317.12;317.55;317.87;316.74;545012790.7000002;1717870;2025-03-12 11:00:00;2025-03-12 11:09:59
317.45;316.69;317.9;316.33;626337185.9000003;1976620;2025-03-12 11:10:00;2025-03-12 11:19:59
316.74;316.6;316.74;315.8;728624311.3999999;2304620;2025-03-12 11:20:00;2025-03-12 11:29:59
316.58;317.32;317.72;316.23;305146801.5;962830;2025-03-12 11:30:00;2025-03-12 11:39:59
317.31;317.49;317.57;317.05;221604317.50000003;698190;2025-03-12 11:40:00;2025-03-12 11:49:59
317.47;317.08;317.75;316.93;180294600.6;567940;2025-03-12 11:50:00;2025-03-12 11:59:59
317.11;317.72;318.02;316.83;236743304.2;745430;2025-03-12 12:00:00;2025-03-12 12:09:59
317.74;317.62;318.32;317.6;255763005.4999999;804240;2025-03-12 12:10:00;2025-03-12 12:19:59
317.62;317.8;318.31;317.5;82693004.3;260220;2025-03-12 12:20:00;2025-03-12 12:29:59
317.78;317.78;317.9;317.18;145754533.39999998;459210;2025-03-12 12:30:00;2025-03-12 12:39:59
317.72;317.81;318;317.48;170713888;536990;2025-03-12 12:40:00;2025-03-12 12:49:59
317.8;318.15;318.18;317.76;96604710.20000002;303800;2025-03-12 12:50:00;2025-03-12 12:59:59
318.17;317.95;318.19;317.75;129962114.39999999;408650;2025-03-12 13:00:00;2025-03-12 13:09:59
318.01;318.11;318.15;317.78;82261181.50000003;258730;2025-03-12 13:10:00;2025-03-12 13:19:59
318.11;318.67;318.67;317.95;139746660.39999986;438930;2025-03-12 13:20:00;2025-03-12 13:29:59
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
VPM написал:
Не стоит питать иллюзий: рынок — это не место для легких денег!
---------------------------------------------------------------------------------------------
1) Открывая график в терминале, мы видим отражение цены во времени (массив), и это колебательный процесс, что в свою очередь равносильно волновой процесс.
Волновой процесс можно описать с помощь фазово - частотной характеристики.
Без обид, но не стоит нести в массы отсебятину и чушь.
--------------
Все это можно найти в интернете.
-----------------
Если хотите просвещать, то дайте просто ссылку, а не пытайтесь своими словами пересказывать то, в чем сами не разбираетесь.
=====================
Фазо-частотная характеристика применяется к линейным системам, а не к сигналам.
------------------------------------

Фа́зочасто́тная характери́стика (ФЧХ) — зависимость разности фаз между выходным и входным сигналами некоторой системы от частоты сигнала, функция, аналитически выражающая (описывающая) эту зависимость, также — график этой функции.

https://ru.wikipedia.org/wiki/Фазо-частотная_характеристика

==================
Применительно к сигналам получают не характеристику , а спектр.
================
Волна́ — изменение некоторой совокупности физических величин (характеристик некоторого физического поля или материальной среды), которое способно перемещаться, удаляясь от места своего возникновения, или колебаться внутри ограниченных областей пространства[
Многообразие волновых процессов приводит к тому, что никаких абсолютных общих свойств волн выделить не удаётся

https://ru.wikipedia.org/wiki/Фазо-частотная_характеристика
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
VPM написал:
Предложенный подход  paluke,  t[I-3] = nil (в место limit_table_size), разложений по полочкам Nikolay,  

Если просто обнулять элементы таблицы, например, t[I-3] = nil, это приведет к тому, что в таблице появятся "дыры" (nil-значения).  Да, не требуется сдвигать элементы, что может быть быстрее для больших таблиц. Но при этом таблица будет содержать "дыры", что может привести к ошибкам при использовании функций, ожидающих последовательности.  "В Lua таблицы с nil-значениями могут вести себя неожиданно, особенно при использовании функций, которые работают с последовательностями (например, #t, table.concat, ipairs). Память не освобождается сразу, так как в этом варианте Lua использует сборщик мусора для удаления nil-элементов. Это может привести к увеличению потребления памяти".

Из выше всего сказанного, делаем выводы.
1) limit_table_size подходит для небольших размеров таблиц
2) Подход таблица содержащая "дыры", подходит для конечных вычислений, не требующий передачи таблиц дальше для использования, как это показал нам Nikolay.
3) В подходе с выводом таблиц и функции, как это предложилNikolay,  на мой не профессиональный взгляд, лучше использовать альтернативный метод как это предлагают разработчики, использовать кольцевой буфер (circular buffer). В этом случае таблица имеет фиксированный размер, и новые элементы записываются поверх старых. Вариант, избежать использования limit_table_size, но при этом не хотите сталкиваться с проблемами nil-значений, в случае дальнейшего использования таблиц. Это наиболее эффективный способ управления памятью для задач, где требуется хранить только последние N элементов.
Если nil элемент не таблица, то никакой памяти сборщик мусора не удаляет.
===========

Расскажу про свой  способ, который самый быстродействующий  для обработки событий колбеков , не имеет дыр, не требует работы сборщика, имеет ограниченный размер таблицы и не требует дополнительной синхронизации потоков.
-----------------.
1) Создаем очередь с двумя указателями для записи и чтения
2) колбеки помещают в эту очередь данные и ключ, если в очереди на данный момент нет данных от данного колбека для одноименного инструмента
3) Если колбек обнаруживает что очередь пустая, то устанавливает указатели на ноль.
Если есть желание сэкономить 1...10 Кбайт, то можно снова переопределить таблицу очереди.
-----------------
Максимальная длина массива определяется максимальным числом необработанных вызовов колбеков,  которые будут записаны в очередь.  
Версия 11.4.0.54. Что не так?
 
Цитата
VPM написал:
В терминале от Сбер весит сообщение, надеюсь глюки связаны с этим: "С 11 по 23 марта планируется техническое обновление QUIK.Это необходимо для дальнейшей корректной работы терминала". А версию предпочитаю ту которую брокер рекомендует, как наиболее адаптированную к серверу. Вообще работали последнее время стабильно.  
Поэтому сообщению и обновлял. И потом снес.
Все работает как и раньше нормально без обновления.
Версия 11.4.0.54. Что не так?
 
Цитата
VPM написал:
nikolz,  Сбер "глючит" второй день! Вчера просто без предупреждений отключали от сервера, сегодня не соединяют, от поддержки огромный ноль или даже нил. Так и хочется сменить лексику на не цензурную ::  
у меня сегодня сбер работает отлично. Даже соединился быстрее , чем обычно.
Но версия QUIK 8.7.1.3
Консольный QUIK
 
окно можно свернуть.  
Если графики и стаканы в большом количестве не открывать, то загрузка процессора составит не более 10%.  
Много памяти жрет не терминал, а подписка на данные и инструменты. Особенно, если строите графики по параметрам инструментов.
Версия 11.4.0.54. Что не так?
 
Цитата
Andrey Golik написал:
nikolz, дополним, что архив с копией терминала требуется выложить на удобный для Вас файлообменник и прислать нам ссылку для скачивания (либо здесь, либо в рамках письма на  quiksupport@arqatech.com ).
Благодарю за ответ.
--------------------
Вчера сбер  вдруг неожиданно отключился и при подключении сообщал об ошибке.
Решил, что причина в новой версии и снес ее.
Оказалось, что причины были у сбера.
Сейчас снова на версии 8.Поэтому проблемы нет .
Пока ставить версию 11 подожду.
-----------------------  
Торговля в выходные
 

Информацию о статусе допуска бумаги к торгам на ДСВД можно будет найти:


Подробнее на Московской бирже: https://www.moex.com/s3790
Версия 11.4.0.54. Что не так?
 
Сбер перешел на версию 11.4.0.54.
По их предложению установил.
И сразу появились временами задержки при передвижении позиции мышкой.
Т е двигаешь, ничего не меняется, но через секунд 20-60 позиция перемещается.
Эффект проявляется не всегда, возможно при активном движении рынка.
До этого работал на версии 8 как самой устойчивой и надежной.
Возможно придется обратно откатиться.
Что скажут разработчики. Что не так?
Данный инструмент запрещен для операции шорт, Ошибка при ручной покупке акции
 
Сбер перешел на версию 11.4.0.54.
По их предложению установил.
И сразу появились временами задержки при передвижении позиции мышкой.
Т е двигаешь, ничего не меняется, но через секунд 20-60 позиция перемещается.
Эффект проявляется не всегда, возможно при активном движении рынка.
До этого работал на версии 8 как самой устойчивой и надежной.
Возможно придется обратно откатиться.
Что скажут разработчики. Что не так?
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
Nikolay написал:
Цитата
nikolz написал:
Вы ошибаетесь. Ваш пример не соответствует Вашему t3[i=3]=nil
----------------
В Вашем тесте есть оператор tt1=nil  (стр 21)
Именно этот оператор освободит память так как он обнуляет ссылку на таблицу , т е массив из кучи становится без ссылки.
Его и удаляет сборщик.
---
если закомментировать tt1=nil.
то результат:
-------------
1. mem 285.5576171875
2. mem 284.5439453125
3. mem 284.751953125
4. mem 284.6689453125
------------
никакой очистки нет, как я Вам и написал.
Я знаю, что без удаления ссылки самой таблицы, расстановка nil по элементам массива ничего не даст. Пример говорит о другом. Очистка всей таблицы собирает её всю, да. Но он добавлен для того, чтобы видеть какой объём занимает вся таблица, заполненная значениями double.

Второй пример показывает какой размер забирает скрипт при работе с таблицей с дырками. Именно такие и используются при расчёте по индексам ряда. Спорить желания нет, т.к. это эмпирически проверено, даже просто по наблюдаемому объёму занимаемой памяти в окне доступные скрипты.
Хорошо, что признали.
------------------
Не увидел в вашем примере этого.
------------------
Что не так в этих данных.
1. mem 285.5576171875
2. mem 284.5439453125
3. mem 284.751953125
4. mem 284.6689453125
-----------------
Где Ваши доказательства?
Можете, не перескакивая, конкретно показать , что и как Вы сокращаете?
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
VPM написал:
Нашел, кому как и мне нужно более подробно!

"В Lua таблицы представляют собой ассоциативные массивы, которые могут хранить значения различных типов. Каждый элемент таблицы в Lua может быть представлен структурой TValue, которая содержит два основных поля:   Value value_ — это поле, которое хранит значение элемента. В зависимости от типа, это может быть число, строка, указатель на другую структуру и т.д.    int tt_ — это поле, которое хранит тип значения (например, LUA_TNIL, LUA_TNUMBER, LUA_TSTRING и т.д.).    Когда вы выполняете операцию t[i-1] = nil, это означает, что вы удаляете элемент из таблицы по индексу i-1. Внутри Lua это приводит к тому, что значение элемента устанавливается в nil, а тип (tt_) устанавливается в LUA_TNIL (который обычно соответствует значению 0).  Таким образом, операция t[i-1] = nil эквивалентна следующему:    Установка value_ в какое-то "пустое" значение (в случае nil это может быть просто 0 или NULL).    Установка tt_ в 0 (что соответствует типу LUA_TNIL).   Это означает, что элемент таблицы больше не содержит полезного значения и считается "удаленным" или "пустым"."
Вы очевидно не поняли, то что цитируете.
-----------------
Внутри Lua это приводит к тому, что значение элемента устанавливается в nil, а тип (tt_) устанавливается в LUA_TNIL (который обычно соответствует значению 0).
----------------
Поясняю.
Т е это означает лишь то, что тип элемента стал равный нулю.
Но само значение если это не указатель на таблицу или функцию хранится тоже в TValue. Поэтому ничего не освобождается,
Если это указатель таблицу, то место в памяти освободится лишь при условии, что эта таблица больше нигде не используется.  
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
Nikolay написал:
local last = os.clock()
print = _G.message or print

local sleep = sleep or function(ms)
   last = os.clock()*1000
   while (os.clock()*1000 - last) < ms do
   end
end

local tt1 = {}
local tt2 = {}

local test = function()

   for n = 1,10000 do
       tt1[n] = 100.12345
   end

   print('1. mem '..collectgarbage('count'))

   tt1 = nil

   collectgarbage()
   sleep(10)

   print('2. mem '..collectgarbage('count'))

   for n = 1,10000 do
       tt2[n] = 100.12345
       tt2[n-3] = nil
   end

   print('3. mem '..collectgarbage('count'))

   collectgarbage()

   sleep(10)

   print('4. mem '..collectgarbage('count'))
end

function main()
   test()
   sleep(1000)
end

-- main()
Вы ошибаетесь. Ваш пример не соответствует Вашему t3[i=3]=nil
----------------
В Вашем тесте есть оператор tt1=nil  (стр 21)
Именно этот оператор освободит память так как он обнуляет ссылку на таблицу , т е массив из кучи становится без ссылки.
Его и удаляет сборщик.
---
если закомментировать tt1=nil.
то результат:
-------------
1. mem 285.5576171875
2. mem 284.5439453125
3. mem 284.751953125
4. mem 284.6689453125
------------
никакой очистки нет, как я Вам и написал.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
каждый элемент таблицы это

#define TValuefields    Value value_; int tt_


typedef struct lua_TValue {
 TValuefields;
} TValue;

t[i-1]=nil  это   операция tt_=0  и все
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
Nikolay написал:
Просто t[i-3] = nil
Такая операция не освобождает память
Вы просто в записываете тип элемента равным 0.
Но элемент остается в таблице.
Автоматизация авторизации через СМС, Автоматизация авторизации через СМС
 
Saturn,
Второй способ
На смартфоне ставите приложение отправки SMS на URL
На ПК делаете сервер-приложение (на Autoit или любом другом языке),
который  будет запускать КВИК и передавать в него код.
----------------------
Третий способ
На смартфоне ставите приложение отправки SMS в telegram
На ПК делаете сервер-приложение (на Autoit или любом другом языке),
который  будет запускать КВИК и передавать в него код.
В telegram ставите бот, который запускает приложение на ПК
---------------------
Успехов
QLUA, вопросы начинающих.
 
Цитата
Igor_User написал:
Возникла такая проблема. Может кто подскажет.
Мой скрипт стал эпизодически останавливаться с ошибкой "attempt to perform arithmetic on a nil value". Сама ошибка понятна, но проблема заключается в том, что в этом сообщении не указывается номер строки, в которой эта ошибка произошла. Обычно при появлении таких ошибок в сообщении указывается и номер строки, благодаря чему можно найти ошибку и устранить.
Я первый раз с таким сталкиваюсь. Есть ли какие-нибудь ещё способы определить строку, из-за которой эта ошибка произошла?
Покажите скрипт.
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
VPM написал:
nikolz,  Учебник мало прочитать, его еще необходимо понять. В моем "опусе", лишь краткие выдержки и не только из этого учебника, на что бы следовало обратить внимание по моему скромному мнению, начиная собирать торговую программу.
Цитата
VPM написал:
Этот небольшой опус — попытка поделиться своим опытом и, возможно, помочь другим избежать ошибок или оптимизировать свой подход.
Если бы мне, еще пару - тройку лет назад сказали, обрати внимание на Метатаблицы и объектно-ориентированное программирование, я бы наверно "пальцем у виска покрутил" :: , сегодня это мой основной подход, леплю туда где можно и без него обойтись. А если бы прислушался к совету, сегодня бы не переписывал код, а использовал годами проверенный модуль. За ссылку спасибо, но лично у меня книга сохранена на компе, возможно кому понадобиться.
Я лишь сделал пролог, к обсуждению универсальных модулей торговой системы, способной щелкать любые стратегии без изменений, ну или с минимальными  изменениями в модулях.
Не в обиду будет сказано, но сначала изучают учебник. А Вы как я понял сначала начали писать что-то, а потом спустя 3 года начали читать. и о чудо, Вы наконец-то поняли то, что в учебниках про луа написано уже лет тридцать назад.
время скрипта QPILE
 
Цитата
Александр Васильев написал:
Доброго ! Пользуюсь скриптом QPILE  , вывод по DDE в эксель , после расчётов выставляется и исполняется заявка . После 10.00.00 мск проблем нет . А до 10 . 00 учитывая  раннее пробуждение ммвб ( 07.00 ) скрипт выдаёт не корректное время .  Пример :  4  заявки в 09.55.11. и далее . 4 заявки после 10.00 мск всё поехало норм .В скрипте ошибок нет . Буду очень благодарен за мысли !!!
Вы неправильно преобразуете время
число позиций до 10 часов на 1 меньше. Вы это не учитываете поэтому у вас выделяются не только цифры но и ":"
Данный инструмент запрещен для операции шорт, Ошибка при ручной покупке акции
 
не все акции даются в шорт.
Цена аукциона
 
Цитата
sandyman написал:
Цитата
nikolz написал:
При этом транслируется стакан, но не цена аукциона.
Цена аукциона появляется когда ее сформируют.
---------------------
Мое мнение:
Цены аукциона  в период аукциона еще нет, поэтому ноль.
Когда она сформируется, тогда и появится в этом поле. Все верно?
--------------------
Никакой ошибки в трансляции данного параметра нет.
Всё верно, только для акций и валют всё совсем не так. Почему-то именно для фьючерсов сделали иную трансляцию параметров, например, дисбаланс аукциона, объём аукциона, кол-во аукциона и пр. связанные параметры для валют и акций транслируются, а для фьючерсов их НЕТ, совсем нет - ни по итогам аукциона, ни во время, ни после. Почему так - мне никто не может ответить ни здесь ни на бирже.
Для акций аукцион давно, а для фьючерсов с этого года.
Нигде не указано, что это должно быть.
Возможно и для фьючерсов сделают.
Но это не ошибка.
Модуль опционной аналитики. Оплата
 
Анекдот:
Вечер.  Чел ищет что-то под фонарем.
Прохожий - потеряли что-то?
Чел - да, зажигалку потерял в подъезде  дома.
Прохожий - а почему ищите под столбом , а не в подъезде?
Чел- там- темно, а здесь-светло.
--------------------  
Вы какой ответ хотите здесь получить?
Брокер не хочет давать бесплатно - это его право.
Вы не хотите платить - это ваше право.
-------------
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Цитата
VPM написал:
Собирая новую автоматическую систему, я поднимаю старые наработки, и довожу их до современного уровня понимания написания скриптов на Lua.
Этот небольшой опус — попытка поделиться своим опытом и, возможно, помочь другим избежать ошибок или оптимизировать свой подход.

1) Основы Lua: таблицы как основа всего.
Основная структура Lua — это таблицы. Именно из таблиц строятся все остальные конструкции языка. Таблицы в Lua — это не просто массивы или словари, а универсальный инструмент, который можно использовать для создания сложных структур данных. Если представить таблицу как отдельный модуль, то система становится четко структурированной.  Например, можно создать таблицу, которая будет содержать данные и методы для работы с ними.  Это позволяет разделять логику и данные, что делает код более читаемым и поддерживаемым.

2) Универсальные модули. Написав универсальный функциональный модуль, его можно использовать в разных скриптах.  Например, модуль для работы с математическими расчетами или модуль для обработки данных можно легко интегрировать в различные проекты.  Это экономит время и уменьшает количество ошибок, так как модуль уже протестирован и отлажен.
Код
  Пример простого модуля: Модуль для математических расчетов
 local  MathUtils  =  {}
 function   MathUtils.add (a, b)
     return  a  +  b
 end 
 function   MathUtils.multiply (a, b)
     return  a  *  b
 end 
 return  MathUtils

Как можно использовать в других скриптах:
 local  MathUtils  =  require  "MathUtils" 
 local  result  =   MathUtils.add ( 5 ,  3 )
 print (result)   -- Вывод: 8 
  

3) Метатаблицы и объектно-ориентированное программирование. В Lua нет классов в классическом понимании, но есть метатаблицы, которые творят чудеса, позволяют создавать объектно-ориентированные структуры. Метатаблицы — это мощный инструмент, который позволяет определять поведение таблиц, например, перегрузку операторов или наследование. С помощью метатаблиц можно создавать объекты с методами и свойствами.
Такой класс инкапсулирует всю логику, связанную с определенной задачей. Это позволяет изолировать код, упрощает его тестирование и повторное использование. Например, в торговой системе, можно выделить логику управления позициями, расчетов и генерации сигналов в отдельные классы.
Код
  Пример класса для торговой системы:
 local  TradingSystem  =  {}
TradingSystem.__index  =  TradingSystem
 function   TradingSystem.new (params)
     local  self  =  setmetatable({}, TradingSystem)
    self.length  =  params.length  or   20 
    self.frac  =  params.frac  or   5 
    self.pt_stop  =  params.pt_stop  or   3 
    self.price  =  {}
    self.smooth  =  {}
    self.coef  =  {}
    self.distance2  =  {}
    self.market_position  =   0 
    self.entry_price  =   0 
     return  self
 end 
 function   TradingSystem:process_bar (index, high, low, open_price)
     -- Логика обработки бара 
 end 

 -- Использование 
 local  params  =  { length  =   20 , frac  =   5 , pt_stop  =   3  }
 local  system  =   TradingSystem.new (params)  

Делаем выводы по написанию скриптов на Lua.  Lua — это мощный и гибкий язык, который отлично подходит для создания автоматических систем:
1. Используйте модули. Разделяйте код на модули по функциональности, чтобы упростить его повторное использование и тестирование.
2. Применяйте метатаблицы. Создавайте объектно-ориентированные структуры для инкапсуляции логики.
3. Документируйте код. Добавляйте комментарии и описание функций, чтобы код был понятен не только вам но и другим разработчикам.
4. Тестируйте. Проверяйте каждый модуль и класс отдельно, чтобы убедиться в их корректности.
5. Оптимизируйте. Убедитесь, что ваш код эффективен и не содержит лишних вычислений.
Используя таблицы, модули и метатаблицы, можно создавать четко структурированные и легко поддерживаемые решения.

Надеюсь, этот небольшой опус поможет при создании новых проектов. Удачи!
Не в обиду будет сказано, но зачем рассказывать то, что лучше уже рассказано в учебниках.
-------------------
Вот ссылка на хороший учебник по Луа.
В нем на 400 страницах излагается подробно,
что такое Lua и как на нем программировать.
--------------------
https://eligovision.ru/media/upload/lua.pdf
Цена аукциона
 
При этом транслируется стакан, но не цена аукциона.
Цена аукциона появляется когда ее сформируют.
---------------------
Мое мнение:
Цены аукциона  в период аукциона еще нет, поэтому ноль.
Когда она сформируется, тогда и появится в этом поле. Все верно?
--------------------
Никакой ошибки в трансляции данного параметра нет.
Автоматизация авторизации через СМС, Автоматизация авторизации через СМС
 
опечатка AutoIt
Автоматизация авторизации через СМС, Автоматизация авторизации через СМС
 
Цитата
Saturn написал:
Приветствую,

Подскажите, кто, как решает или решил - "проблему" с авторизаций через СМС ? Ну то есть торговый день закончился, произошёл дисконнект, бот в работе, и ожидает данные, наступило утро и чтобы опять подключить Квик нужно проснутся получить СМС на телефон и ввести его ручками в КВИК.

Как то это не очень :)
Подключаем GSM модуль и вводим скриптом.
Проще всего на Atoit, но можно на любом другом языке программирования.
Цена аукциона
 
Цитата
Megafan написал:
С добрый утром, страна :)  https://www.moex.com/s3576
Благодарю. Не видел данного нововведения.  
Каждый раз при запуске Quik пытается подключиться к сетевому принтеру
 
Цитата
glotov_pa@mail.ru написал:
Цитата
nikolz написал:
отключите принтер от компьютера.
Интересное решение)
Физически он и не подключен к компьютеру. Он сетевой.
отключите его от сети. либо удалите подключение к нему на компе.
Цена аукциона
 
Цитата
sandyman написал:
Цитата
nikolz написал:
 
Цитата
sandyman  написал:
Добрый день,

В таблице текущих торгов имеется такой параметр как "Цена аукц.". Для акций и валют этот параметр во время проведения соответствующего аукциона (перед утренней сессией, перед/после дневной или перед вечерней) показывает расчётную цену сведения заявок, выставленных на аукционе, т.е. во время проведения аукциона при наличии на аукционе заявок эта цена всё время отображает какое-то значение (в большинстве случаев постоянно меняющееся до момента сведения). Для фьючерсов же почему-то цена эта во время проведения аукционов не отображается (в таблице она равна нулю) и начинает отображаться только после сведения, что не правильно. Я не знаю чья это недоработка - брокера или биржи или ваша - но очень хотелось бы исправить данную ситуацию. Подскажите возможно ли это и в чьей это зоне ответственности? Если это биржа так транслирует, то есть ли у вас возможность запросить изменение трансляции данного параметра? Сомневаюсь, что дело в брокере, поскольку у меня счета у нескольких брокеров и ситуация одинаковая.
 Для фьючерса нет аукциона. Поэтому там и нули.
Вы не правы. Для фьючерсов есть аукцион - он проводится с 8-50 до 9-00 мск.
Дайте ссылку, где указано это.
-----------------------
Мое мнение такое.
Аукцион проводится для акций и Пифов и валют.
Для фьючерса аукционов на московской бирже нет,
так как цена фьючерса определяется ценой базового актива.  
Цена аукциона
 
Цитата
sandyman написал:
Добрый день,

В таблице текущих торгов имеется такой параметр как "Цена аукц.". Для акций и валют этот параметр во время проведения соответствующего аукциона (перед утренней сессией, перед/после дневной или перед вечерней) показывает расчётную цену сведения заявок, выставленных на аукционе, т.е. во время проведения аукциона при наличии на аукционе заявок эта цена всё время отображает какое-то значение (в большинстве случаев постоянно меняющееся до момента сведения). Для фьючерсов же почему-то цена эта во время проведения аукционов не отображается (в таблице она равна нулю) и начинает отображаться только после сведения, что не правильно. Я не знаю чья это недоработка - брокера или биржи или ваша - но очень хотелось бы исправить данную ситуацию. Подскажите возможно ли это и в чьей это зоне ответственности? Если это биржа так транслирует, то есть ли у вас возможность запросить изменение трансляции данного параметра? Сомневаюсь, что дело в брокере, поскольку у меня счета у нескольких брокеров и ситуация одинаковая.
Для фьючерса нет аукциона. Поэтому там и нули.
Цена аукциона
 
Цитата
sandyman написал:
Связался с биржей по этому вопросу, но одному человеку, простому клиенту брокера сложно продавить что-то на бирже. Обещали рассмотреть в качестве доработки, но надежды мало. Если найдётся кто-то, кому также важен формат трансляции данного параметра - напишите, пожалуйста, обращение на биржу  help@moex.com
Можете дать ссылку, где указано, что для фьючерсов проводится премаркет  
и алгоритм вычисления цены аукциона фьючерса на Московской бирже.
Автоматизация входа, Автоматизация входа
 
Цитата
Сергей написал:
Всем спасибо. Avtoit скачал. Правда еще неизвестно много ли лучше будет просыпаться в двенадцать ночи от шума включившихся вентиляторов, а потом в пять утра вставать, считывать и обрабатывать информацию, чтобы успеть к утренней сессии, но сейчас хроническое недосыпание достало. Обиднее всего, что проблема возникла на пустом месте из-за того, что кто-то из программистов Quik доработал программу, возможно даже мимоходом, и сразу у разных брокеров данные таблицы "Торговля" перестали сохранять информацию предыдущего дня до начала следующей сессии. При этом они упорно не хотят исправить эту очевидную ошибку.
проще всего взять Excel и выключать QUIK по окончанию сессии.
Для этого не надо ничего писать.
Автоматизация входа, Автоматизация входа
 
Идеальное решение Вашей проблемы будет такое:
1) Подключаем к ПК GSM модуль для получения  кода подтверждения.
2) Скрипт запуска пишем на Avtoit.
Очень долгое выключение терминала
 
Цитата
nmn написал:
Anton Belonogov, сейчас в 19:40 настройки сохраняются в файл моментально, никаких замедлений, зависаний и прочее - вообще незаметно.
Вы что-то предприняли, изменили? Версия 11.4.1.3, ещё днём настройки сохранялись с зависанием терминала на 20-30 сек...
Предположу, что потому-что дневная сессия завершилась. Потока данных нет.
Параметр "Сложный продукт"
 
Цитата
Анастасия9081 написал:
инвестора, успешно прошедшего тестирование по тесту 8
Тест 8 — это тестирование, которое неквалифицированный инвестор обязан пройти для покупки облигаций со структурным доходом.
Автоматизация входа, Автоматизация входа
 
еще можно использовать excel.
Можно сделать экспорт таблиц в Excel, а в 23-50 закрывать либо Excel, либо QUIK.
Закрывать можно либо планировщиком либо скриптом на луа.  
Автоматизация входа, Автоматизация входа
 
Включите утром.
В квике сделайте скрипт (проще индикатор)  записи в 23-50 необходимой информации в лог файл и выключение квика, если надо.  
Каждый раз при запуске Quik пытается подключиться к сетевому принтеру
 
отключите принтер от компьютера.
Как правильно «переворачиваться»?
 
ставить цену.  Если средств недостаточно на 10, то по 5.
Проверить есть ли открытые роботом позиции по бумаге?
 
depo_limits
sec_code STRING Код инструмента
currentbal NUMBER Текущий остаток
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 78 След.
Наверх