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

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

Страницы: Пред. 1 ... 62 63 64 65 66 67 68 69 70 71 72
Определить время начала интервала для заданного таймфрейма
 
вопрос не понял.
Причем здесь os.time и таймфрейм?

Что кажет? Что надо?
CreateDataSource, какое правильное расположение функции CreateDataSource?
 
Раньше надо было подписываться в main.
Я так и делаю.
Возможно разработчики уже исправили этот ляп, я не проверял.
iuplua, обсуждаем работу стороннего графического пакета
 
так конвертирует WP , а редактировать лень, замените сами на кавычки ".
Создание "вечного робота"., Переподключение QUIK и Lua-скрипта на следующий день.
 
Для проверки подключения рекомендую делать так:

if getInfoParam("SERVERTIME")==""  then
--подключения нет
else
--подключение есть
end
Конвертация Qple на Lua
 
Так как QPILE - это танк первой мировой,
то изготовить из него современный можно лишь с помощью кувалды и отбойного молотка,
что автоматизировать очень сложно и следовательно дорого,
но возможно.
iuplua, обсуждаем работу стороннего графического пакета
 
они у каждого свои.
работают любые.
iuplua, обсуждаем работу стороннего графического пакета
 
На днях решил вернуться к пакету IUP и проверить его работу в QUIK .  
IUP - версия 3.13, QUIK  - версия 6.16.1.15.
Раньше не удавалось получить устойчивой работы пакета.
Произнеся несколько заклинаний ,
я с удовлетворением отметил,
что тест не падает и ничего не роняет.
Предлагаю желающим повторить данный эксперимент.
тест здесь :
http://www.kamynin.ru
Пожелания по квику и LUA
 
Добрый день Всем,
более пяти лет назад я возмущался,
почему нельзя вместо допотопного QPILE сделать нормальный скриптовый язык например LUA.
Когда появился ЛУА, я очень удивился решению в виде main потока и говорил , что будут проблемы с многопоточностью.
Потому что мне было уже тогда понятно, что родилась вещь в себе (некий монстр, повадки которого даже создатели не знают).
И в этом случае создание  нормального API было бы более проcтым решением, чем  такая модель встроенного языка.
----------------------------------------------
Мне объяснили, что так задумал автор данного творения и все проблемы синхронизации
потоков уже решены (но очевидно автору и самому не все проблемы были понятны).
-------------------------------
Увы, Пришлось все то, о чем правильно отмечено автором данной ветки писать самому.
--------------------------------------------
Полагаю, что причина такого тусклого развития средств разработки торговых роботов в том,
что терминал квик изначально это условно бесплатная программа для подачи поручений брокеру.
И ВСЕ
Остальное - это бесплатное приложение.
------------------------------------------------
Игры - это совершенно другая область бизнеса.
Там игра - это массовый продукт(товар).
-----------------------------------------------
А торговые роботы - это либо дорогие разработки проф участников,
либо игрушечные поделки для малограмотных частных инвесторов.
Луа в КВИК - это песочница для детского сада.
Вот желающие могут строить дома и возить песочек на игрушечных машинах.
Умеющие стряпать игрушечных роботов впаривают им свои поделки.
--------------------------------------------------------------------
Здесь пока нет бизнеса, поэтому и нет нормальных решений среды разработки.
Но это не только недостаток КВИК,
это уровень данного вопроса на российском фондовом рынке.
На российском рынке бабло делают без роботов.
----------------------------------------------------------------------
Но я рад , что в нашем полку недовольных прибыло.
-----------------------------------------------------------------------
Порою смелое движение вперед есть результат пинка под зад.
Событие возвращает ошибку 1000
 
может быть проблема в  _luafix?
Создание "вечного робота"., Переподключение QUIK и Lua-скрипта на следующий день.
 
например так:
---------------------------
local qtnF=getQuoteLevel2 (ClassCode, nFuture)

if qtnF~=nil then
     local  bid_=qtnF.bid;  
local  bid_count=qtnF.bid_count;
      if  bid~=nil and bid_count~=0  then
        bid=bid_[bid_count].price
--делаем что надо
--
      end
end
Очередь+Массив, Объединение свойств очереди и массива.
 
Добрый день,
Нарисовал библиотеку на чистом луа для работы с очередями без использования каких либо модулей.
Полагаю должна работать с QLUA без проблем.
------------------------------
Отличается от написанной выше Владимиром следующим:
1) Вариант Владимира может работать лишь при условии что длина истории очереди не выходит за точность чисел в формате double.
2) В моем варианте функция push работает в 3 раза быстрее
3) добавил функцию full - для обнаружения заполненной очереди.
--------------------------------------
Особо сильно не тестировал, поэтому сообщения об ошибках приветствуются.
--------------------------------
модуль можно взять тут http://www.kamynin.ru
Очередь+Массив, Объединение свойств очереди и массива.
 
Владимир,
Я вот немного ваши программы переписал в таком виде:
--------------------------------------------
local function _new(q_size)
return { first = 1, last =0, max_size = q_size }
end

local function _delq(q)
local m=q.first
local x = q[m]
q[m] = nil
q.first = m + 1
return x
end

local function _push( q, value )
q.last = q.last + 1
q[q.last] = value
if q.last >q.max_size then return _delq(q) end
end

local function _pop( q)
if q.last>=q.first then return _delq(q); end
end

local function _get(q,pos)
local x=q.first+pos
if q.last>=x then  return q[x] end
end
-- если очередь пустая  то get(q,0)=nil
Создание "вечного робота"., Переподключение QUIK и Lua-скрипта на следующий день.
 
пардон,
давно не пользуюсь этой функцией,
поэтому забыл про данный ляп в QLUA.
Очередь+Массив, Объединение свойств очереди и массива.
 
Добрый день,Владимир,
1) Из своего опыта замечу,
что самый эффективный алгоритм и его реализацию подобного класса задач
можно сделать с использованием
операций над битами и языка уровня СИ.
Очередь+Массив, Объединение свойств очереди и массива.
 
Добрый день,
А такой вариант устроит ?

----    создать новый массив, максимальная длина N
new=function(N) local t={}; t.len=N; return t; end  

----     вытолкнуть первый элемент
pop=function(t) if #t>0 then return table.remove(t,1); end end  

----     поставить в очередь , если очередь >N -вытолкнуть первый
push=function(t,x) t[#t+1]=x; if #t>t.len then return table.remove(t,1) end; end


--------------- доступ к любому элементу как к элементу таблицы квадратными скобками
Создание "вечного робота"., Переподключение QUIK и Lua-скрипта на следующий день.
 
Добрый день,
1) tt1[0]
В Lua принято индексы таблицы начинать с 1. иначе неправильно работает # (размер массива).  

2) попробуйте так:
if ( t~=nil and  tt1~=nil  and  #t>0  and   (my_position==0) and (ind==0) and (t[1].close > tt1[0].close)) then  
Страницы: Пред. 1 ... 62 63 64 65 66 67 68 69 70 71 72
Наверх