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

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

Страницы: Пред. 1 ... 68 69 70 71 72 73 74 75 76 77 78
Формат даты
 
Добрый день,
ну да, "без выкрутасов":
-------------------------------
есть общепринятые форматы дат.
А это:  2015 0002 01,  2015 0002 01 не дата
и не число.
а последовательность цифр и пробелов.
Вилы Эндрюса
 
"Служить бы рад, прислуживаться тошно"
Зависание терминала, Зависание терминала при загрузке портфеля qpile
 
Дмитрий,
А если это "неправильно" так удивило ОС, что у нее пропал дар речи?
Надо ставить BREAKPOINT и по шагам искать проблему.
Вилы Эндрюса
 
yako-v,
ВИЛЫ ЭНДРЮСА - это всего-то лишь прямая проведенная из одной точки через середину отрезка, соединяющего две других. Т е это настолько примитивный индикатор, что он без проблем рисуется в квике.
--------------------------------------------------------
Неужели Вы серьезно верите, что Эндрюс на таком примитиве делал бабло на рынке.
50 лет ему приносит бабло издание книжечки для буратин.
Как в прочем и большинству популярных книг о торговле на фондовом рынке.
----------------------------------------------------------
лучше почитайте книгу Сореса Новая парадигма финансовых рынков.
Этот чел по крайней мере не пишет бульварных книг для буратин, но делает деньги.
.
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
 
Серж,
Вы заблуждаетесь.
Ответ на вопрос платная или нет очень простой.
Если Вы платите за эту программу,
то она для Вас платная, если нет - то бесплатная.
--------------------------------------------
Т е программу покупает проф участник рынка(брокер) , который вам оказывает услуги.
Для него она платная.
Но Вам он может предоставлять как платные так и бесплатные услуги.
Большинство брокеров не берет плату за предоставление данной программы,
что снимает с них ответственность за качество этой услуги.
В этом случае данная услуга бесплатная для клиентов брокера.
Кроме того, терминал QUIK  -это программа подачи поручений, исполнение которых не является обязательным для брокера.
Т е Вы ему сообщили? Он Вас услышал?
Все!!
Если окажет услугу (купит или продаст) - возьмет денюшку если нет, то нет.
---------------------------------------------------------------------------
Вместо того, чтобы наезжать на разработчиков ,
перечитайте внимательно ГК РФ, ФЗ о защите прав потребителя, ФЗ о рынке ценных бумаг и регламент брокера.
Претензии к бесплатным продуктам не имеют никаких правовых последствий.
----------------------------------------------------------------------
"Дареному коню в зад, т е в зубы не смотрят" - народная мудрость.
не добавляются строки в таблицу
 
Дмитрий
Вот так все работает:
-------------------------------------------

local stopped, t_id
------------------------------------------------
function main()
 t_id = AllocTable()
 res = AddColumn(t_id,1,"col1",true,QTABLE_STRING_TYPE,30)
 message("AddColumn - " .. tostring(res), 1)
 res = AddColumn(t_id,2,"col2",true,QTABLE_STRING_TYPE,30)
  CreateWindow(t_id)
 SetWindowCaption(t_id, "Моя таблица" ;)  
   local row = InsertRow(t_id, -1);   SetCell(t_id, row, 1, "тест" ;)  
 row = InsertRow(t_id, -1) ;    SetCell(t_id, row, 2, "привет" )
 while not stopped do
   sleep(1000)
 end
end
-------------------------------------------------
function OnStop(s)
stopped = true
if t_id~= nil then
           DestroyTable(t_id)
end
end

----------------------------------------------------
У Вас основная ошибка в том, что Вы пытаетесь работать с таблицей, т е добавлять строки и изменять название до ее создания - CreateWindow(t_id)
Библиотека QCtrls.dll
 
В одной русской сказке, под названием "по щучьему велению" сидел Иван на печи и мечтал

В другом классическом произведении есть тост "Хочу чтобы Все"
---------------------------------------------
мечтать оно конечно не вредно, но и бесполезно.
-------------------------------
"С одной стороны....С другой стороны" -ничего не напоминает ?
( типа песню из одного классического фильма)
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
 
вообще-то у большинства брокеров КВИК - бесплатная прога для подачи поручений и только,
А не торговая платформа  (можно почитать регламент брокера на досуге)
Не считываются параметры инструмента
 
вместо SIH5  надо писать SiH5   (i вместо I)
Снятие заявки и тут же ее выставление., Снятие заявки и тут же ее выставление.
 
проверять в таблице заявок ее снятие перед отправкой новой
Снятие заявки и тут же ее выставление., Снятие заявки и тут же ее выставление.
 
проверить разрешен ли шорт
Формат даты
 
Если без особых выкрутасов, то можно упростить:

function DateFormat(date, input_fmt, output_fmt)
  local day = date:sub(input_fmt:find("([d|D]+)")
  local month = date:sub(input_fmt:find("([m|M]+)")
  local year = date:sub(input_fmt:find("([Y|y]+)")
  local outstr = output_fmt:gsub("([d|D]+)",  day)
  local outstr = outstr:gsub("([m|M]+)",  month)
  local outstr = outstr:gsub("([y|Y]+)", year)
  return outstr
end

примерно в 2 раза быстрее.
Конвертация Qple на Lua
 
суть в том, что в LUA необходимо будет реализовать работу с событийной моделью робота, чего в QPILE просто нет.
Вот и вырастет программа  а если еще "да ладно " прикрутить то будет еще больше.
Относительно того в 2 или в 10 раз - это уж от автора произведения зависит.
Конвертация Qple на Lua
 
а если еще и "да ладно",
то в десять.
Библиотека QCtrls.dll
 
Почему-то полностью согласен с sam063rus ,
за исключением его пристрастия  к слову "дерьмо".  
Конвертация Qple на Lua
 
Если в QPILE 2000 строк,
то в луа будет раз в пять больше (включая строки программ на СИ).
Определить время начала интервала для заданного таймфрейма
 
вопрос не понял.
Причем здесь 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 ... 68 69 70 71 72 73 74 75 76 77 78
Наверх