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

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

Страницы: Пред. 1 ... 18 19 20 21 22 23 24 25 26 27 28 ... 72 След.
Обновление пользовательской таблицы/окна
 
 у SetCell 5 параметров
---------------------------------------1  ---------------2---------------3----------------4-----------------5-----------
BOOLEAN SetCell(NUMBER t_id, NUMBER key, NUMBER code, STRING text, NUMBER value)
если оставить 3 ,то что тогда будет обновлять ячейку?
----------------
Но спорящим видимо один ...
продолжайте
=======================
Тест зависания терминала QUIK 10.0.1.18
 
_sk_,
Вы не ответили, я исправил Ваш тест.
Что теперь не так?
Тест зависания терминала QUIK 10.0.1.18
 
TGB,
исправленный скрипт не виснет
Вы вместо брызжания проверьте тест.
-------------------
если есть другие проблемы , то пишите я исправлю.
----------------------
И очевидно, и у кого что болит тот о том и говорит
Тест зависания терминала QUIK 10.0.1.18
 
Цитата
TGB написал:
Цитата
nikolz написал:
_sk_ ,вот Ваш тест с исправленными Вашими ошибками. Работает без проблем.
    Вы до сих пор не поняли, что у _sk_ нет проблем со скритом ( он делает flag  =   true и все у него хорошо ). Его интерисует странное поведение скрипта когда flag =false и это нормально.
  Вообще, из того что видно невооруженным взглядом, у вас постоянный зуд отметиться на форуме (как у собачки, выпущенной на прогулку  :: ). Зачем вы работаете на форуме «прокладкой» между комментариями?
  Явно, что у вас проблемы с вашими комплексами и вы пытаетесь здесь их скомпенсировать. Но вы до сих пор не научились выделять фрагменты текстов комментариев, которые вы цитируете. Вас можно пожалеть (девочки точно не любят), но вы постоянно спамите на форуме и скоро переполните его базу  :: .  Меня это беспокоит и только поэтому я на вас реагирую  :: .
Вы не поняли, я исправил у него ошибки и можете делать хоть faLSE  
Проблема Сервера QUIK?, Вопрос риторический
 
Сегодня в Сбербанке повторилось.
Дата торгов была вчера. И естественно вчерашний день пропал.
--------------
Проблема решилась лишь после разрыва связи , длительного ожидания и установки связи заново.
----------------
Так как такую и подобные проблемы наблюдал неоднократно, то хочу высказать свое предположение о ее источнике.
===================
проблема возникает, если установить соединение до начала торгов, либо в момент начала.
Предположу, что при этом происходит не полная загрузка с сервера начальных данных, но после начала торгов сервер не проверяет некорректность данных у клиентов
а продолжает работу с неполными либо с неверными данными.
============
Полагаю, это недоработка разработчиков QUIK.
Но это лишь мои предположения.
===============
Проблема решается иногда лишь перезагрузкой но после начала торгов и длительного ожидания.
Индикатор со сдвигом влияет на отрисовку lua индикатора без сдвига
 
Aleksei,
попробуйте у индикатора убрать флаг



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

 

 
Не про Сбербанк., Доступ к торгам всеми валютными парами на MOEX_или_SPBE
 
Цитата
Г.Растопаефф написал:
Сбербанк предоставляет торговый доступ только к валютным парам USD_RUB и EUR_RUB. Посоветуйте пожалуйста российского брокера без кухни, который  поддерживает QUIK и предоставит доступ к торгам по всем или большинству  валютных  пар  Мосбиржи или СПбиржи.
у сбербанка есть все валюты имеющиеся на мос бирже
Тест зависания терминала QUIK 10.0.1.18
 
_sk_,
вот Ваш тест с исправленными Вашими ошибками.
Работает без проблем.

Код
local flag =false -- можно и false и true

local foregroundColor = RGB(0, 0, 0)
local backgroundColor = RGB(192, 255, 192)

local function setTableColors(foregroundColor, backgroundColor)
    local nRows, nCols = GetTableSize(tableId)
    if nRows and nCols then
        for row = 1, nRows do
            for col = 1, nCols do
                SetColor(tableId, row, col,
                        backgroundColor, foregroundColor,
                        backgroundColor, foregroundColor)
            end
        end
    end
end

local function ensureWindowOpened()
    if tableId == nil then     return   end
    if IsWindowClosed(tableId) then
        CreateWindow(tableId)
        SetWindowPos(tableId, 0, 0, 300, 100)
        SetWindowCaption(tableId, "hang_test")
        InsertRow(tableId, 1)
        InsertRow(tableId, 2)
        SetCell(tableId, 1, 1, "11")
        SetCell(tableId, 1, 2, "12")
        SetCell(tableId, 2, 1, "21")
        SetCell(tableId, 2, 2, "22")
        SetSelectedRow(tableId, 1)
    end
    setTableColors(foregroundColor, backgroundColor)
end

function OnInit(scriptPath)
    tableId = AllocTable()
    AddColumn(tableId, 1, "col1", true, QTABLE_STRING_TYPE, 5)
    AddColumn(tableId, 2, "col2", true, QTABLE_STRING_TYPE, 5)
    SetTableNotificationCallback(tableId, function(tId, msg, par1, _)
        if msg == QTABLE_SELCHANGED then
            SetSelectedRow(tId, 1)
        end
    end)
    ensureWindowOpened()
end

local function run()
    ensureWindowOpened()
    if tableId then
        SetSelectedRow(tableId, 2)
    end

end

function OnStop(flag)
   DestroyTable(tableId);
    interrupted = true
end

function main()
    message("STARTED", 1)
    while not interrupted do
        run()
       if flag then
            sleep(0)
        end
    end
    message("SHUTDOWN", 1)
end

 
Тест зависания терминала QUIK 10.0.1.18
 
исправьте ошибку в скрипте и сделайте так:
Код
function main()
    message("STARTED", 1)
    while not interrupted do
        run()
       sleep(10)
    end
    pcall(closeWindow)
    message("SHUTDOWN", 1)
end
и читайте больше учебники а не треп на форуме.
Тест зависания терминала QUIK 10.0.1.18
 
"Чистый луа" к пустой голове прикладывать бесполезно.
Тест зависания терминала QUIK 10.0.1.18
 
в колбеке
в этой функции Вы уничтожаете окно
----------------------------
local function closeWindow()
   local t = tableId
   tableId = nil
   if t then
       DestroyTable(t)
   end
end
------------------
А в main вы уничтожаете nil.
Очевидно у Вас все вылетает по ошибке
и вы вместо того чтобы правильно сделать ставите pcall
----------------
Т е не зная причину Вы блокируете сообщение об ошибке.
полный дилетантизм.
Тест зависания терминала QUIK 10.0.1.18
 
зачем закрывать окно и в колбеке и в main?
----------------------------
function OnStop(flag)
  pcall(closeWindow)
   interrupted = true
end

function main()
   message("STARTED", 1)
   while not interrupted do
       run()
       if flag then
           sleep(0)
       end
   end
  pcall(closeWindow)
   message("SHUTDOWN", 1)
end
====================
Тест зависания терминала QUIK 10.0.1.18
 
читайте внимательно документацию прежде чем писать тесты.
----------------
Например,
OnStop - Функция вызывается терминалом QUIK при остановке скрипта из диалога  управления и при закрытии терминала QUIK.

Функция возвращает количество миллисекунд, которое дается скрипту на  завершение работы.

Если функция не возвращает число, то таймаут завершения  работы скрипта остается равным 5 секундам.

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

=======================

Т е Вам дали время на завершение потока майн

Там и надо закрывать окна. А Вы делаете это в колбеке.

Вы это где прочитали?

Тест зависания терминала QUIK 10.0.1.18
 
Цитата
TGB написал:
Цитата
nikolz написал:
Предположу, что это ошибка автора  скрипта, так как в нем не учитывается многопоточность.  
   Филосов  :: .   Укажите конкретно в чем ошибка автора.
---
  Ошибки автора нет. Есть ошибка в QUIK, состоящая в том, что длинные участки фрагментов кода скрипта на "чистом Lua" (без вызова C-функций) блокируют переключение потоков обслуживающего колбеки и выполняющего main. Я не буду повторять свои комментарии по этому поводу. Читайте форум.
ошибка автора в отсутствии знаний.
И Ваша тоже так как Вы пишите про "чистый луа" который существует лишь в виде функций на чистом СИ.
Это профанация и дилетанты вам верят.
Take Profit и Stop loss
 
Цитата
Ренат написал:
Цитата
_sk_ написал:
1) В числах разделитель разрядов должен быть точкой.
2) Если после знака равно стоит строка, её надо взять в кавычки.
3) В самом конце строк таблицы stop нужны запятые, а не точки с запятой, как сейчас в некоторых местах.
4) TRANS_ID должно быть числом.
Спасибо. Я имел ввиду сделать из вышенаписанного кода массив для sendtransaction?
для этого надо все параметры записать либо в кавычках либо с помощью функции tostring()
Изменения к открытой позиции, Возможно ли сделать такое
 
Цитата
Anzhelika Belokur написал:
Михаил Иванов, данный параметр показывает прибыль в % к затратам.
расшифруйте, какие затраты учитываются, плиз.
Тест зависания терминала QUIK 10.0.1.18
 
чтобы устранить проблему надо разрешать работу колбекам ,
когда функция main получит все данные для ее нормальной работы.
иначе будет кир-дык.
Тест зависания терминала QUIK 10.0.1.18
 
Цитата
_sk_ написал:
Берём следующий скрипт. Если в первой строке стоит flag = true, то скрипт нормально запускается и останавливается из меню скриптов. Если в первой строке поставить flag = false, происходит зависание терминала при остановке скрипта. В зависимости от значения переменной flag либо имеется sleep(0) в функции main(), либо отсутствует на пути выполнения кода.

У меня зависание воспроизводится в терминалах версий 10.0.0 и 10.0.1.

Три вопроса:
1) Может ли кто-то ещё подтвердить, что зависание происходит (чтобы исключить особенность моего компьютера)?
2) Знает ли кто-то причину такого поведения?
3) Что разработчики терминала могут сказать по этому поводу?

Сам скрипт:

Код
   local  flag  =   true   -- если установить в false, то при остановке скрипта происходит зависание (убирается sleep(0) в функции main) 

 local  foregroundColor  =   RGB ( 0 ,  0 ,  0 )
 local  backgroundColor  =   RGB ( 192 ,  255 ,  192 )

 local  interrupted  =   false 
 local  tableId

 local   function   setTableColors (foregroundColor, backgroundColor)
     local  nRows, nCols  =  GetTable Size (tableId)
     if  nRows  and  nCols  then 
         for  row  =   1 , nRows  do 
             for  col  =   1 , nCols  do 
                 SetColor (tableId, row, col,
                        backgroundColor, foregroundColor,
                        backgroundColor, foregroundColor)
             end 
         end 
     end 
 end 

 local   function   ensureWindowOpened ()
     if  tableId  =  =   nil   then 
         return 
     end 
     if   IsWindowClosed (tableId)  then 
         CreateWindow (tableId)
         SetWindowPos (tableId,  0 ,  0 ,  300 ,  100 )
         SetWindowCaption (tableId,  "hang_test" )
         InsertRow (tableId,  1 )
         InsertRow (tableId,  2 )
         SetCell (tableId,  1 ,  1 ,  "11" )
         SetCell (tableId,  1 ,  2 ,  "12" )
         SetCell (tableId,  2 ,  1 ,  "21" )
         SetCell (tableId,  2 ,  2 ,  "22" )
         SetSelectedRow (tableId,  1 )
     end 
    setTableColors(foregroundColor, backgroundColor)
 end 

 local   function   closeWindow ()
     local  t  =  tableId
    tableId  =   nil 
     if  t  then 
         DestroyTable (t)
     end 
 end 

 function   OnInit (scriptPath)
    tableId  =   AllocTable ()
     AddColumn (tableId,  1 ,  "col1" ,  true , QTABLE_STRING_TYPE,  5 )
     AddColumn (tableId,  2 ,  "col2" ,  true , QTABLE_STRING_TYPE,  5 )
     SetTableNotificationCallback (tableId,  function (tId, msg, par1, _)
         if  msg  =  =  QTABLE_SELCHANGED  then 
             SetSelectedRow (tId,  1 )
         end 
     end )
    ensureWindowOpened()
 end 

 local   function   run ()
    ensureWindowOpened()
     if  tableId  then 
         SetSelectedRow (tableId,  2 )
     end 
 end 

 function   OnStop (flag)
    pcall(closeWindow)
    interrupted  =   true 
 end 

 function   main ()
     message ( "STARTED" ,  1 )
     while   not  interrupted  do 
        run()
         if  flag  then 
             sleep ( 0 )
         end 
     end 
    pcall(closeWindow)
     message ( "SHUTDOWN" ,  1 )
 end 

  
причина зависания вероятнее всего в том,
что функция main будет исполнена один раз до загрузки всех необходимых для корректной работы данных.
Предположу, что это ошибка автора  скрипта, так как в нем не учитывается многопоточность.  
лыко да мочало начинай сначала
 
В сбербанк брокер теперь новая х...я
---------------
 
новая хрень у Сбербанка
 
вроде заработало.
новая хрень у Сбербанка
 
Цитата
Sergey Gorokhov написал:
nikolz,
Опять счета не едут или что то другое?
теперь графики стоят как вкопанные.
новая хрень у Сбербанка
 
как можно сделать сервер так, что он постоянно падает в ... лицом и тех поддержка естественно как мартышка с очками.  
новая хрень у Сбербанка
 
Sergey Gorokhov,
По большому счету
так как каналы связи без проблем - оптика 100 Мбод,
а сервер и терминалы - это ваше произведение ,
то хрень тоже Ваше произведение .
новая хрень у Сбербанка
 
Цитата
Sergey Gorokhov написал:
nikolz,
По статусу проблемы подскажет брокер.
В качестве временного решения, старый совет, пробовать переподключаться.
связался,
починили,
проработало 1 час
сейчас опять хрень.
новая хрень у Сбербанка
 
 
и такая дребедень Целый день
 
сегодня у сбера вообще полный ....
подключение к серверу есть
работает стакан и TTT
--------------
но не работают графики
и ГЛАВНОЕ
нет фирмы брокера - т е сбербанка
и следовательно нет никакого портфеля
------------------
Bad Allocation [критические дни] Квика
 
Цитата
Quikos написал:
Цитата
nikolz написал:
пардон, поправлю, интенсивно создаете объекты или расширяете таблицы, но не уничтожаете не нужные объекты
Так и не смог найти причину, так как ошибка плавающая.
Переписал код по другому - ошибка исезла. Все таки гарантировано, что это проблема в Квике не могу на данный момент сказать.
Рекомендую по возможности не создавать новые таблицы вместо старых, а просто очищать старые.
В итоге у вас не будет объектов для уничтожения и частое обращение к куче за новым блоком памяти.
Ошибка attempt to perform arithmetic on a table value, Ошибка attempt to perform arithmetic on a table value - что значит?
 
Цитата
Дмитрий написал:
Не могу нигде найти описание ошибки "attempt to perform arithmetic on a table value" - в переводе "попытка выполнить арифметику над табличным значением". Ну а почему нельзя выполнить арифметику над табличным значением? Или что имеется ввиду?
скорее всего, значение таблицы не является числом.
Возможно что это либо функция либо таблица.
покажите скрипт, если хотите помощь.
Как можно отобразить график фьючерса с истекшим сроком действия?
 
Цитата
Шорты осиновые написал:
Цитата
nikolz написал:
и откуда взялся график  после экспирации GAZR-12.22?
мне хотелось бы отобрзить после даты экспирации  GAZR-12.22 графики:
1) историю цены GAZR-12.22 до его собственной экспирации
2) историю цены GAZR-03.23 и др. до даты экспирации GAZR-12.22  и после  
Возможно не понял, но после экспирации фьючерса  его нет, т к он выполнен.
---------------
Зачем Вам это, если не секрет.
По-моему мнению это не имеет практической пользы.
Как можно отобразить график фьючерса с истекшим сроком действия?
 
Цитата
Шорты осиновые написал:
1. Как можно отобразить  график фьючерса с истекшим сроком действия?
2. При замене истекшего инструмента, напрмер GAZR-12.22 на  GAZR-03.23, склеиваются графики не GAZR-12.22 + GAZR-03.23, а  части графиков GAZR-03.23 до и после экспирации GAZR-12.22?
и откуда взялся график  после экспирации GAZR-12.22?
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
 
поправил, чтобы тест бесконечно не работал при втором запуске
Код
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1   = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2   = INTERVAL_TICK
------------------------
local function my_cb_CDS(my_table_data_, code_class_, code_paper_, interval_, cntr)
message(code_paper_,1)
Sleep(100);
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
local n=20;
function main()
   while n>0 do
      if my_table1==nil then my_table1, err = CreateDataSource(code_class1, code_paper1, interval1);
         if my_table1 then
            my_table1:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data1, code_class1, code_paper1, interval1) end)
         end
      end
      if  my_table2==nil then my_table2, err = CreateDataSource(code_class2, code_paper2, interval2);
         if  my_table2 then
            my_table2:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data2, code_class2, code_paper2, interval2) end)
         end
      end
-------------------------
--   message(tostring(my_table1:Size()),1)
   sleep(1000)
   n=n-1
   end
-------------------------
end -- end main()
function OnInit(script_path)
end


[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
 
вот мой тест:
Код
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1   = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2   = INTERVAL_TICK
------------------------
local function my_cb_CDS(my_table_data_, code_class_, code_paper_, interval_, cntr)
message(code_paper_,1)
Sleep(100);
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
function main()
   while not stopped do
      if my_table1==nil then my_table1, err = CreateDataSource(code_class1, code_paper1, interval1);
         if my_table1 then
            my_table1:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data1, code_class1, code_paper1, interval1) end)
         end
      end
      if  my_table2==nil then my_table2, err = CreateDataSource(code_class2, code_paper2, interval2);
         if  my_table2 then
            my_table2:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data2, code_class2, code_paper2, interval2) end)
         end
      end
-------------------------
   message(tostring(my_table1:Size()),1)
   sleep(1000)
   end
-------------------------
end -- end main()
function OnInit(script_path)
end


[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
 
уточняю - речь про функцию CreateDataSource
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
 
я отвечал на вопрос темы,
повторю свой ответ.
скрипт написан в целом рабочий
----------------------
подтверждаю что при первом запуске подписка не происходит
при втором происходит.
----------------------
Подписка при первом запуске вроде бы произойдет если ручками установить флаги инструментов в заказе данных через меню.
--------------
Иначе никакие танцы с бубном проблему не решают.
===============
считаю, что такое поведение функции подписки мягко сказать - странное.
вопрос к разработчикам QLUA
 
Цитата
Nikolay написал:
Да, счета и субсчета (т.е. коды) у брокера. Однозначно связать счет и код клиента нельзя, т.к. в таблице кодов больше ничего нет. Но.


Смотрим на таблицу money_limits (Лимиты по денежным средствам), для нее код имеет смысл. В ней есть фирма, есть счет, есть код клиента. Так и выходит, что можно только сказать - а можно ли с этим кодом, на этом счете, по этой фирме  что-то сделать. Кодов же много может быть. На одном есть деньги, на другом нет. Хотя подать транзакцию можно, раз доступен код по фирме, счету. Ну и сколько брокеров не видел, фирма для срочного рынка отличается от фондового. По ней, как минимум, отсечь недоступные классы инструментов. И выбирая инструмент, по его классу даем список сочетаний доступных счетов, субсчетов.
Очевидно не правильно объяснил.
Да у брокера в амбарной книге записано сколько денег вы ему дали и сколько у вас на ИИС
Но бирже это по...
----------------------
Поэтому брокеру Вы можете что угодно сообщать
Это никакого отношения к торговле на бирже не имеет так как биржа знает лишь брокера.
--------------------------
Более того, если у Вас будет маржин кол, и денег не хватит на одной записи в амбарной книге, то брокер спишет с другой записи.
----------------------
Все эти субсчета - это лишь строчки текста в амбарной книге брокера.
Реально с финансами брокер ничего делать не может это делают лишь финансовые организации.
--------------
Поэтому все эти коды клиентов и ваши записки брокеру с какого счета взять деньги лишь ваши хотелки
и добрая воля брокера поиграть с вами в ваши желания.
---------------------
Примерно так.
вопрос к разработчикам QLUA
 
Добрый день, всем!
--------------
Вопрос в продолжении темы топика
------------
Если код клиента нужен для идентификация клиента
и таких кодов в терминале может быть несколько ( иначе этот код тождественно равен UID терминала),
то почему этого кода вообще нет в заявке на  фьючерсы и опционы.
как в этом случае различаем клиентов?
------------------
Мое мнение, прежнее - код клиента - это атавизм .
Поэтому в документации QLUA этот параметр в транзакции можно не заполнять.
------------------
Хотелось бы услышать начальника транспортного цеха.
вопрос к разработчикам QLUA
 
Цитата
Nikolay написал:
Цитата
nikolz написал:
------------------------
Возможно изначально он был обязателен, но сейчас он подобен аппендиксу  у человека.
---------------------------
Типа есть, но нафиг нужен.  
Нужен. Я меня счет один, а два кода клиента. И необходимо указывать тот, с которого идет торговля. Это субсчет - на одном ИИС, другой простой. На одном есть деньги, на другом нет.
На самом деле это вам лишь видимость. Такая игра кошки с мышкой.
Вы сами не торгуете.
ИИС это такое искусственное нагромождение с ограничением Ваших прав распоряжение.
Поэтому у Вас для как бы счета.
но на бирже торгует брокер вас там нет
факт исполнения вашего поручения вы можете реально увидеть лишь в его отчете.
Терминал квик не является каким либо документом подтверждающим факт исполнения
Он лишь подтверждает факт отправки вашего поручения брокеру.
Брокер имеет полное право сделать со сделкой все что захочет.
----------------------
Прикольно но факт, реально заключение сделки произойдет лишь на клиринге,
так как брокер не имеет право проводить расчеты по сделке.
----------------------
Брокер лишь подает ваши заявки и списывает с вас свое вознаграждение .
-----------------------
прикольно, но во времена глобальной компьютеризации брокер - это тоже аппендикс в торговле на бирже.
Take Profit и Stop loss
 
открываете Руководство пользователя QUIK
Раздел 6. Совместная работа с другими приложениями
Импорт транзакций
Формат .tri-файла с параметрами транзакций
Примеры строк, которые могут содержаться в файле
--------------
и там есть пример
Тейк-профит и стоп-лимит
Лукойл, покупка 1 лота,  активация тейк-профита при достижении цены 2000 с отступом в 5% и защитным  спредом в 3%, стоп-цена 2222, цена лимитированной заявки 2255, время действия с  10:00:01 по 19:45:45
ACTION=NEW_STOP_ORDER; TRANS_ID=10055; CLASSCODE= TQBR;  SECCODE=LKOH; ACCOUNT=L01-00000F00; CLIENT_CODE=Q7; OPERATION=B; QUANTITY=1;  PRICE=2255; STOPPRICE=2000; STOP_ORDER_KIND=TAKE_PROFIT_AND_STOP_LIMIT_ORDER;  OFFSET=5; OFFSET_UNITS=PERCENTS; SPREAD=3; SPREAD_UNITS=PERCENTS;  MARKET_TAKE_PROFIT=NO; STOPPRICE2=2222; IS_ACTIVE_IN_TIME=YES;  ACTIVE_FROM_TIME=100001; ACTIVE_TO_TIME=194545; MARKET_STOP_LIMIT=NO
вопрос к разработчикам QLUA
 
Цитата
Nikolay написал:
Да, счета и субсчета (т.е. коды) у брокера. Однозначно связать счет и код клиента нельзя, т.к. в таблице кодов больше ничего нет. Но.


Смотрим на таблицу money_limits (Лимиты по денежным средствам), для нее код имеет смысл. В ней есть фирма, есть счет, есть код клиента. Так и выходит, что можно только сказать - а можно ли с этим кодом, на этом счете, по этой фирме  что-то сделать. Кодов же много может быть. На одном есть деньги, на другом нет. Хотя подать транзакцию можно, раз доступен код по фирме, счету. Ну и сколько брокеров не видел, фирма для срочного рынка отличается от фондового. По ней, как минимум, отсечь недоступные классы инструментов. И выбирая инструмент, по его классу даем список сочетаний доступных счетов, субсчетов.
теперь я Вам поясню а за одно и себе напомню, про код клиентов, код фирмы и торговый счет.
--------
На бирже торгует брокер, а не его клиенты.
Код клиента нужен опять же лишь брокеру. Это как бы метка.
Она нужна брокеру (бирже она пофиг) чтобы в конце торгового дня списать комиссионные с клиентов и раздать им сальдо.
Поэтому код клиента  не является обязательным при подаче заявки,
так как брокер знает кто подает по UID терминала и автоматом пометит клиента.
---------------
Вот поэтому нам и нет надобности знать код клиента и где либо его выставлять.
------------------------
Возможно изначально он был обязателен, но сейчас он подобен аппендиксу  у человека.
---------------------------
Типа есть, но нафиг нужен.  
вопрос к разработчикам QLUA
 
Пока вам объяснял, то сам вспомнил то, что забыл.
----------------------------
На бирже нет торговых счетов клиентов.
-------------------------------
Клиенты все есть лишь в амбарной книге брокера.
----------------------------
Поэтому правильно будет то, что торговый счет - это счет брокера на бирже, куда брокер слил деньги всех клиентов как свои.
--------------------------------------
Так как на бирже торгует брокер, а не его клиенты
--------------------
Новое, это хорошо забытое старое.
------------------
вопрос снят.
вопрос к разработчикам QLUA
 
Цитата
Nikolay написал:
Не разработчик, но, кажется, соответствие идет от фирмы, не счета. Счет от класса инструмента. Также от класса инструмента фирма. И по уже по фирме проверяем, что код клиента и счет для одной фирмы.
в качестве примера, что Вы не правы.
Предположим несколько клиентов выставляют заявки на одну и ту же акцию
Так как класс один и тот же то и фирма одна и та же.
Тогда как связать код клиента с его торговым счетом, где его деньги лежат?  
Bad Allocation [критические дни] Квика
 
пардон, поправлю, интенсивно создаете объекты или расширяете таблицы, но не уничтожаете не нужные объекты
Bad Allocation [критические дни] Квика
 
Цитата
Quikos написал:
bad allocation
это ошибка, которая возникает при частом выделении памяти приложениями.
Симптомы
Приложения, которые часто выделяют память, могут испытывать случайные ошибки из памяти.
Такие ошибки могут привести к другим ошибкам или неожиданному поведению в затронутых приложениях.

Причина
Сбои в распределении памяти могут возникать из-за задержки, связанные с ростом размера файла страницы для поддержки дополнительных требований к памяти в системе. Возможной причиной этих сбоев является настройка размера файла страницы в качестве «автоматического».
Автоматический размер файла страницы начинается с небольшого файла страницы и автоматически растет по мере необходимости.
Корпорация Майкрософт подтвердила, что это проблема в Windows 10.
--------------------
Возможно Вы в луа скрипте активно создаете и уничтожаете объекты.
Но надо смотреть скрипт.
вопрос к разработчикам QLUA
 
Цитата
Nikolay написал:
Не разработчик, но, кажется, соответствие идет от фирмы, не счета. Счет от класса инструмента. Также от класса инструмента фирма. И по уже по фирме проверяем, что код клиента и счет для одной фирмы.
если я правильно понимаю, то фирма - это код брокера на бирже
поэтому она одна и та же для конкретной биржи
а код клиента - это код клиента брокера, который брокер сообщает бирже, когда выставляет заявку
А счет торговый - это счет на который клиент заводит деньги и лимит по которому контролирует брокер перед тем как послать заявку на биржу.
----------------
В итоге с одного терминала можно посылать заявки от разных клиентов
каждый клиент может иметь несколько торговых счетов
но фирма, которая пошлет эти заявки на биржу будет одна и та же - это ее код на бирже.
-------------------
код фирмы будет разный лишь для разных бирж и возможно для разных секций.
-----------------
Но счета где деньги лежат - связаны в первую очередь с клиентами и потом через код фирмы с биржей.
-------------------------
Вопрос остается в силе.
 
вопрос к разработчикам QLUA
 
Добрый день,
решил написать робота,
который работает со всеми доступными в терминале кодами клиентов
и вдруг откуда не возьмись появился ...  затык.
-----------------------
Вопрос:
----------------
Каким образом ,т е на основе каких таблиц или функций,
можно установить соответствие  кода клиента (таблица client_codes)
торговому счету (таблица trade_accounts)
-------------------
Спасибо
"Постоянное" обновление терминала 10.0.1.18
 
у сбера через сервер обновляется до 9.7
но лучше остаться на 8.7
В версии 10.0.1.18 перестали загружаться индикаторы
 
проверьте какая версия луа включена и сравните с той которая в dll
Сделки
 
Цитата
Дмитрий написал:
Добрый день!
Вопрос почему то приходит ответ на сделку 2-3-4 раза в function OnTrade(trade_data)
[img]file:///C:/Users/algon/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/inet/%D1%81%D0%B4%D0%B5%D0%BB%D0%BA%D0%B8.JPG[/img]
так как нет никакой картинки, то попробую гадать по звездам - возможно это заявка исполняется кусками?
Страницы: Пред. 1 ... 18 19 20 21 22 23 24 25 26 27 28 ... 72 След.
Наверх