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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 78 След.
Как отлаживать скрипты?
 
Цитата
Сергей Че написал:
Цитата
funduk написал:
QUIK активно противодействует отладке, падая при любом подключённом отладчике.
Я так понял, что лучший вариант из доступных -- это просто писать в лог в нужном месте скрипта.
верно
Что-то с сайтом не так.
 
Сегодня при попытке зайти на Ваш сайт получаю это:
Для писателей роботов
 
Цитата
Saturn написал:
Цитата
А API MOEX позволяет получать доныне о сделках в реал-тайме или только исторические данные ?
API MOEX позволяет получать доныне о сделках в реал-тайме но платно, или с задержкой 15 минут.
Пример на луа см здесь:
https://forum.quik.ru/forum17/topic9087/
Ошибка снятия заявки. [GW][3] "Сейчас эта сессия не идет."
 
Цитата
Владислав написал:
Добрый день!
При попытке снять заявку возникла ошибка: Ошибка снятия заявки. [GW][3] "Сейчас эта сессия не идет."
При этом ни OnOrder, ни OnTransReply небыли вызваны.
Как роботу понять что произошла ошибка снятия конкретной заявки, если колбеки не вызываются?
простой вариант решения проблемы - проверка наличия активных заявок по таблице заявок.
-------------------------
Я для этого формирую специально таблицу активных заявок.
В этой таблице отмечаю состояние заявки.
1) активная
2) отправлена транзакция на снятие
------------------------
Пассивная заявка удаляется из таблицы.
Какой тип заявки при выборе в меню "Новая заявка F2"
 
Цитата
edw написал:
в заявке поле Цена редактируемое, т.е. я могу при покупке ниже тек.цены указать нужную мне цену, т.е. выставить лимитную заявку на покупку?
да
При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)
 
Цитата
paluke написал:
Цитата
nikolz написал:

Т е в каком стеке Вы вызовите сборщик, тот стек он и будет чистить.
Динамическая память - это не стек. Или имелся ввиду поток? Ну мы же можем передавать объекты между потоками. Не может быть разделения по потокам для сборки мусора.
Цитата
Each Lua state has one or more threads, which correspond to independent, cooperative lines of execution. The type  lua_State  (despite its name) refers to a thread. (Indirectly, through the thread, it also refers to the Lua state associated to the thread.)  
Возможно путаница в терминологии.
Глобальным стеком я называю lua_State.
-----------------------
VM Lua - это стековая машина.
Когда мы создаем VM Lua, то для нее выделяется область State
--------------------------
Т е для нее из кучи выделяется кусок, в котором все размещается.
Если вызвать функцию библиотечную, то этой функции на СИ  передается всего один параметр.
Это указатель на State VM Lua.
---------------------------
Все функции и все переменные как глобальные так и локальные  размещаются в этом State.
Т е этот State и есть та динамическая память, с которой работает сборщик мусора.
---------------------------
когда создаем корутину, то для нее из области State VMLua выделяется кусок памяти, который будет State корутины.
-----------------------
"coroutine.create (f)Создает новый сопроцесс, с телом f. fдолжен быть функцией. Возвращает этот новый сопроцесс, как объект с типом "thread".
----------------------

lua_State *lua_newthread (lua_State *L);

Создает новый поток, ложит его на стек и возвращает указатель на lua_State, который представляет этот новый поток.

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

Не существует явной функции для закрытия или уничтожения потока. Потоки это субъект для сборки мусора, как и любой Lua объект

-----------------------------  

Если посмотреть внутри основной программы и внутри main, то увидим, что в вызываемые в них функции передается различный указатель на State.

При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)
 
Цитата
TGB написал:
collectgarbage('isrunning'
Посмотрите на вызов функций в API C
В качестве параметра в функцию передается указатель на стек.
Когда Вы вызываете сборщик мусора в main, то сборщику будет передан указатель на локальный стек корутины.
Когда вы вызываете сборщик мусора в колбеке, то сборщику передается указатель на глобальный стек основной VM Lua.
----------------
Т е в каком стеке Вы вызовите сборщик, тот стек он и будет чистить.
При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)
 
Сборщик мусора - это функция и она одна.
Но запускать ее можно с различными стеками VMLua.
-------------
Все функции выполняются в одном стеке.
------------------
Корутина main отличается тем, что для нее выделяется отдельный стенк из стека основной VM.
------------------
Если функцию например колбек вызвать, то ее переменные будут в глобальном стеке основной VMLua.
--------------
Если Вы вызываете функцию в Main, то ее переменные будут в стеке корутины.
------------------------
сборщик мусора собирает мусор в в стеке основном VM.
но при этом он не видит стек коррутины, так как это один объект в основном стеке.
---------------
Но тогда кто освобождает пространство от переменных внутри main?
Я полагаю что делается запуск сборщика для области стека корутины main.
---------------------
При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)
 
TGB,
В качестве гипотезы, могу предположить следующее:
Возможно это связано с тем, что Вы проверяете сборщик в main.
Дело в том, что main - это корутина. В корутине свое адресное пространство для локальных переменных.
Колбек это основная VM там свое.
По логике должны действовать два различных сборщика мусора.
--------------------
Если мое предположение верно, то Вы пытаетесь останавливать один, а проверять другой.
---------------------  
Но я не поверял эту гипотезу, так как меня пока не волнует как работает сборщик в скрипте.  
не читается график, не читается график после дробления акций
 
Цитата
Ander написал:
после дробления акций ( например, Полюс; Норникель) из-зи большой разницы цены график на 1Д превращается в полоску. Подскажите как убрать график до дробления акций, что бы его значения он не учитывались при построении графика? или есть какой то другой способ ?
В параметрах графика  на вкладке Диаграмма есть фильтр по дате и по времени
Установите их как Вам надо
QLUA, вопросы начинающих.
 
Цитата
Михаил Горбатский написал:
Как использовать getParamEx для создания индикатора? Написано что функция возвращает таблицу, но мне нужно только одно значение и с какими аргументами её вызывать? Будет ли корректной запись "local C = getParamEx ( , , PREVLEGALCLOSEPR)"? Как мне использовать его чтобы он показывал для инструмента который я выбрал из таблицы текущих торгов и нужно ли мне добавлять в таблицу значение чтобы его можно было использовать? В моем случае цена закрытия предыдущего дня.  
Не в обиду, но Ваше непонимание в первую очередь вызвано незнанием языка lua.
Поясняю
Функция луа может возвращать либо скаляр, либо таблицу.
В данном случае возвращается таблица
ее формат указан в документации к библиотеке QLua:

Функция возвращает таблицу Lua с параметрами:  

ПараметрТипОписание
param_typeSTRINGТип данных параметра, используемый в таблице «Текущие торги». Возможные  значения:  
  • «1» - DOUBLE;
  • «2» - LONG;
  • «3» - CHAR;
  • «4» - перечислимый тип;
  • «5» - время;
  • «6» - дата
param_valueSTRINGЗначение параметра. Для param_type = 3 значение параметра равно «0», в  остальных случаях – числовое представление. Для перечислимых типов значение  равно порядковому значению перечисления
param_imageSTRINGСтроковое значение параметра, аналогичное его представлению в таблице. В  строковом представлении учитываются разделители разрядов, разделители целой и  дробной части. Для перечислимых типов выводятся соответствующие им строковые  значения
resultSTRINGРезультат выполнения операции. Возможные значения:  
  • «0» - ошибка;
  • «1» - параметр найден

================
при вызове этой функции надо указать три параметра
class_code  --код класса инструмента
sec_code --код инструмента
param_name -- название параметра инструмента.  Это параметры таблицы TTT  (название столбца на англ яз)
---------------
class_code и sec_code при написании индикатора можно получать с графика (см функции в док QLUA)
почему getParamEx2 не работает
 
Цитата
Дмитрий написал:
"bid"
Если читали, то хорошо,
но где Вы увидели в ТТТ  параметр "bid"?
почему getParamEx2 не работает
 
getParamEx2

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

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

TABLE getParamEx2 (STRING class_code, STRING sec_code, STRING  param_name)

Параметры:  

  • class_code – код класса;
  • sec_code – код инструмента;
  • param_name – код параметра.

Функция возвращает таблицу Lua с параметрами, аналогичными параметрам,  возвращаемым функцией getParamEx.


Руководство пользователя QUIK © ARQA Technologies / www.arqatech.com/ru/products/quik/
почему getParamEx2 не работает
 
Цитата
Nikolay написал:
Ну стоит всегда проверять что получено в ответ. Это же метод, запрашивающий данные на сервере (условно). А значит может приехать и nil.
данные запрашиваются не на сервер, а из ТТП, т е из архива терминала.
nil может быть если этого параметра нет в таблице. Там и проверить можно есть или нет.
Количество свечей
 
Цитата
Stivins написал:
Цитата
nikolz написал:
 
Цитата
Stivins  написал:
С помощью CreateDataSource выгружаем свечи по инструменту
Но как запросить не все, а только к примеру 20 последних свечей

Если невозможно то как можно урезать полученный массив со свечами, оставив 20 последних.
 CreateDataSource - это подписка, а не выгрузка,  на сервере для получения свечей
После подписки в терминал будут приходить все новые свечи.
Принимаемые свечи помещаются в архив терминала
------------------------
Прочитать из архива можно с помощью :
-------------------------
getCandlesByIndex
      Функция предназначена для получения информации о свечках по идентификатору  (заказ данных для построения графика плагин не осуществляет, поэтому для  успешного доступа нужный график должен быть открыт).      Формат вызова:    TABLE t, NUMBER n, STRING l getCandlesByIndex (STRING tag, NUMBER
line, NUMBER first_candle, NUMBER count)
Вот уже нужен график обязательно открытый.
Как тогда принятый через  CreateDataSource  массив уменьшить до последних 20 свечей?
CreateDataSource  эквивалентен открытому графику
Архив , который приходит с сервера всегда будет максимальным и запишется в файл на диск.
Зачем Вам уменьшать архив до 20 свечей?
Напишите подробнее что хотите и зачем сделать.
Количество свечей
 
Цитата
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
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 78 След.
Наверх