Система принятия решений и/или Нечеткая логика(FuzzyLogic)

Страницы: Пред. 1 ... 8 9 10 11 12
RSS
Система принятия решений и/или Нечеткая логика(FuzzyLogic), Нечеткая логика или Система принятия решений в трейдинге
 
Повторю еще раз. Подписка делается однократно при запуске робота.  Т е она не влияет на его работу никак.
 
nikolz,  И в примере выше подписка сделана один раз, перед созданием потока луа, более того подписка то прошла, ответ true? А индекс = 0? Речь идет о тиковых данных. А количество инструментов тут не причем, разве только все усугубить нужно, но проблематика прекрасна видна на одном инструменте.  Я ведь ни чего не придумал, нет тут от "себятины":

"param – необязательный параметр. Если параметр не задан, то заказываются данные на основании таблицы обезличенных сделок, если задан – данные по этому параметру.

Функция возвращает таблицу data_source в случае успешного  завершения. Если указан неверный код класса, код инструмента, интервал или  параметр, то возвращается «nil». При этом error_desc содержит  описание ошибки.  

Функцию CreateDataSource можно использовать только внутри функций main() и callback."
 
Цитата
VPM написал:
Минимальный рабочий Скрипт для QUIK

local WORKING_FLAG = true
local class_code, sec_code = "TQBR", "SBER"--"SPBFUT", "RIZ5"

-- Простые переменные для данных
local last_bid = "N/A"
local last_offer = "N/A"
local last_candle = nil
local ds = nil

-- Прямые callback функции без сложных систем
function OnParam(class_code, sec_code)
   if class_code == "SPBFUT" and sec_code == "RIZ5" then
       last_bid = getParamEx(class_code, sec_code, "bid").param_value or "N/A"
       last_offer = getParamEx(class_code, sec_code, "offer").param_value or "N/A"
   end
end

function OnQuote(class_code, sec_code)
   -- Просто получаем стакан, но не обрабатываем чтобы не нагружать
end

-- Callback для свечей
local function onCandleUpdate(index)
   if ds and index  = 30 then
           message(string.format("Статус: %d итераций, Bid=%s, Offer=%s",
               iteration, last_bid, last_offer))
           
           local result = ds:SetEmptyCallback() -- SetUpdateCallback(onCandleUpdate) --
           message("получать данные с сервера, размер: " .. ds:Size() ..' '..tostring(result) )
           if ds:Size() and ds:Size()>0  then
               message(string.format("Свеча: O=%.1f H=%.1f L=%.1f C=%.1f",
                   ds:O(ds:Size()), ds:H(ds:Size()),
                   ds:L(ds:Size()), ds:C(ds:Size())
                   ))
           end
           
           last_print_time = current_time
       end
       
       -- ВАЖНО: Даем время QUIK обработать события
       sleep(1000)  -- 1 СЕКУНДА - достаточно для избежания "Превышения времени"
   end
   
   message("Робот остановлен")
end

-- Простые обработчики остановки
function OnStop()
   WORKING_FLAG = false
   if ds then ds:Close() end
   message("Робот остановлен по команде")
end
function OnClose()
   WORKING_FLAG = false  
   if ds then ds:Close() end
end
function OnInit()
   message("Скрипт инициализирован")
end
У Вас в скрипте ошибка
Надо подписываться   не так CreateDataSource(class_code, sec_code, 1,"last")
а так
CreateDataSource(class_code, sec_code, 1)  
 
VPM,
Поясняю.
"Все  смешалось, кони, люди"
--------------------  
Вы подписываетесь на параметр из ТТП  а ждете свечи.Вы уж определитесь.
------------------------------------------------------------------------
"А, ты за большевиков, али за коммунистов?"
 
nikolz,  Это подписка на тиковые данные согласно документации Руководство пользователя QUIK © ARQA Technologies
Цитата
VPM написал:
"param – необязательный параметр. Если параметр не задан, то заказываются данные на основании таблицы обезличенных сделок, если задан – данные по этому параметру.
 
VPM, А чему Вы удивляетесь? Это не я придумал? Таланты в стране, ни чего не поделаешь.
Цитата
nikolz написал:
"А, ты за большевиков, али за коммунистов?"
Я за индивидуальных ТРЕЙДЕРОВ, которым нужны простые рабочие варианты. По сути если обобщить получение данных из квик, есть 2 основных варианта:
1. с помощью параметров (class_code, sec_code)
2. firmid, client_code.

А есть особые случаи!!!
 
Цитата
Nikolay написал:
Т.е. кидаем запросы атомарно, создаем задачу для проверки ответа
Поясните?

Подпиской создали таблицу интерфейса для получения данных, а дальше в потоке луа получаем ds:O(I).
Страницы: Пред. 1 ... 8 9 10 11 12
Читают тему
Наверх