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

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

Страницы: Пред. 1 ... 35 36 37 38 39 40 41 42 43 44 45 ... 80 След.
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
Цитата
Евгений написал:
Возникла новая проблема - получить значения индикатора с нескольких предыдущих свечек. Пробовал поменять запрос so1,so2=funcSo(ds:Size(),..  на so1,so2=funcSo(ds:Size()-1,... или менял цикл  for i=1,ds:Size() do  на  for i=1,ds:Size()-1 do, получается ерунда. Подскажите?
так как вы хотите использовать этот индикатор без отображения на графике то для начала исправьте исходный файл и уберите все лишнее:
1) надо выкинуть это:
Код
Settings = {
Name = "*SO (Stochastic Oscillator)", 
Period = 5, 
Metod = "SMA", --(SMA, MMA, EMA, WMA, SMMA, VMA)
Shift = 3, 
Period_D = 3, 
Metod_D = "SMA", --(SMA, MMA, EMA, WMA, SMMA, VMA)
line = {{
      Name = "Horizontal line (top)",
      Type = TYPE_LINE, 
      Color = RGB(140, 140, 140)
      },
      {
      Name = "Horizontal line (bottom)",
      Type = TYPE_LINE, 
      Color = RGB(140, 140, 140)
      },
      {
      Name = "SO", 
      Type = TYPE_LINE, 
      Color = RGB(221, 44, 44)
      },
      {
      Name = "SO - %D", 
      Type = TYPE_LINE, 
      Color = RGB(0, 206, 0)
      }
      },
Round = "off",
Multiply = 1,
Horizontal_line="30"
}
         
function Init()
   func = SO()
   return #Settings.line
end

function OnCalculate(Index) 
local Out1,Out2 = ConvertValue(Settings, func(Index, Settings))
local HL = tonumber(Settings.Horizontal_line)
   if HL then
      return 50+HL,50-HL,Out1,Out2
   else
      return nil,nil,Out1,Out2
   end
end

2) Из большого числа скользящих средних взять то, которое будете использовать
Остальное выкинуть.
-------------------
3) Переписать  функцию SO, указав в ней функцию из 2
--------------------------
В результате у Вас будет скрипт очень похожий на то, что я написал Выше.
в итоге не будет кучи ошибок и все будет просто и понятно.
-----------
Если захотите другую функцию сглаживания то просто замените ее в скрипте.
Зависание терминала QUIK версии 9.5.0.42
 
просто убейте версию 9.x и поставьте 8.7
Все версии 9  очень глючные.  
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
Цитата
Евгений написал:
Цитата
Подскажите, где можно посмотреть примеры запросов к индикаторам?
Функции для работы с графиками

  • getLinesCount
  • getNumCandles
  • getCandlesByIndex
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
Цитата
Евгений написал:
Цитата
nikolz написал:
     Цитата         Евгений    написал:
 
Цитата
  Николай     написал:
 А Вы используете этот код как индикатор или как скрипт?  


 Если как скрипт, то не забывайте передавать поток данных, для которого даже есть переменная ds.   Или, возможно, Вы просто переопределили глобальную переменную C, например С = 5. Что делать в индикаторе нельзя.   Да и в скрипте тоже, если используете этот код, т.к. (C and C(I)) просто проверяет на nil, а уж число там или нет уже не проверяет.  
   Как скрипт, ds есть   Вычисление стохастика по ВИКИ элементарно просто:
---------------------
x=100*(C(i)-Ln)/(Hn-Ln); K=Filt(AL1,K,x); D=Filt(AL,D,K);  
---------------------------
где Hn и Ln - это максимум и минимум на интервале N
а Filt - это мувинг , например, такой: K=Filt(AL1,K,x);
------------------------------
Т е все до безобразия примитивно и просто, как и вся финансовая математика.
---------------
сравните это с монстром, который вам подсунули.
=================
Для справки - стохастик - это примитивный полосовой фильтр  
с очень плохими фильтрующими свойствами.
Параметры этого фильтра биржевые игроки подбирают методом тыка.
Для меня это не очень просто, т.к. данную формулу нужно адаптировать для своего скрипта, ведь так? Причём делать эту нужно для каждого индикатора, с которым захочется поработать. Пробовал я по другому индикатору это сделать - работает, но значения не те. Всё же, думаю, что удобнее всего было бы получать значения индикатора через запрос к файлу индикатора. Подскажите, где можно посмотреть примеры запросов к индикаторам?
напишите, что хотите сделать.
Если Вы делаете индикатор и в нем будете делать робота, то можно использовать код который указали Выше. если вы не можете запустить его как индикатор, то могу выложить немного исправленный этот код который без проблем запускается как индикатор.
-----------------
если хотите как-то иначе использовать этот индикатор, то напишите подробнее, что хотите сделать.
будет настроение, подскажу как.
Разработка торговых роботов на LUA, Разработка торговых роботов на LUA
 
Цитата
EVGEN799 написал:
Вы сможете это сделать?  Сколько будет стоить и что для этого нужно?  Проще на Whatsapp 89163874567
Можете объяснить зачем Вам  TW ?
Вы хотите оплачивать подписку на TW  от 1000 до 5000 руб в месяц?
И что в TW такого что готовы за это платить?
Прикольно,но факт.
 
Проблему выявил,
Квик версии 9.4 выкинул. будщу работать на 8.7.1.3 так спокойнее.
всем спасибо,
тему закрыл.
Прикольно,но факт.
 
получается, что сбербанк непричем
Просто это очередная ошибка в КВИКЕ версии 9.
Прикольно,но факт.
 
действительно,
Вернул версию 8.7 и все стало ОК!
дата сервера 22.08.2022
------------------------
второй раз пытался поставить 9.4
и опять пришлось выкинуть до лучших времен.
Прикольно,но факт.
 
странно то, что я в субботу заменил версию 8.7 на версию 9.4.2.1
И с такой херней столкнулся впервые.
Что-то мне подсказывает что эта херня с 9 версии.
Прикольно,но факт.
 
написал же - прикольно.
потому что меня это не ...т.
Работал я и сведущим брокером, который по материалам расследования комиссии по ЦБ сливал депозиты клиентов.
На ведущих биржах мира такое тоже делают ведущие брокеры.
Жадность никто еще не победил.
Индикатор для арбитража
 
Цитата
Владимир написал:
nikolz, Ути-пути! Чем же это невежливо я спросил, лапуль? Тем более, что вопрос был риторический, а Вас я не считаю способным ответить даже на самые примитивные вопросы. Индикаторы НИЧЕМ не могут быть полезны, В ПРИНЦИПЕ ничем. Поскольку если их показания полезны, то нет ничего проще, чем автоматизировать и принятие решений по этим показаниям а не просиживать у монитора, зарабатывая очки на глаза и геморрой на жопу. А если бесполезны, то им тем более место на помойке. Следовательно, индикаторы нафиг не нужны никому и никогда. Я лично это говно не только никогда не использовал, но даже и в мыслях не было этого делать.

Да, лапуль: ОТ ВАС мне никакие ответы не нужны, и я говорю это Вам не первый год. И не надо трусливо прятаться за "все и вся" - просто я тоже не раз уж говорил, что с детства не перевариваю распальцованных дураков.
Сочувствую.
Над мудаками не смеюсь.
Помогите с кодом индикатора Spred
 
Цитата
Юрий написал:
Код
  Settings = 
{
   Name  =   "DayMax/Med/Min/X" ,
   a  =   1000 ,  -- свободный член 
   line  = 
   {
      {
         Name  =   "Median" ,
         Color  =   RGB ( 0 ,  0 ,  255 ),
         Type  =  TYPE_LINE,
         Width  =   1 
      },
      {
         Name  =   "Maximum" ,
         Color  =   RGB ( 0 ,  128 ,  0 ),
         Type  =  TYPE_LINE,
         Width  =   1 
      },
      {
         Name  =   "Minimum" ,
         Color  =   RGB ( 255 ,  0 ,  0 ),
         Type  =  TYPE_LINE,
         Width  =   1 
      }
   }
}
ma  =   nil l
me  =   nil l
mi  =   nil l


 function   Init ()
    return   3 
 end 


 function   OnCalculate (index)
   
    if  index  =  =   1   then 
      ma  =   nil l
      me  =   nil l
      mi  =   nil l
    end  

    if  ma  =  =   nil l  then 
      ma  =  H(index)
      
    elseif  H(index)  >  ma  then 
      ma  =  H(index)
       if  (ma - mi) > Settings.a  then 
        mi  =  ma  -  Settings.a
       end 
    end 

    if  mi  =  =   nil l  then 
      mi  =  L(index)
      
    elseif  L(index)  <  mi  then 
      mi  =  L(index)
       if  (ma - mi) > Settings.a  then 
        ma  =  mi  +  Settings.a
       end 
    end 
    if  me  =  =   nil l  then 
      me  =   (H(index)  +  L(index))/ 2 
    elseif  L(index)  <  mi  then 
       me  =   (H(index)  +  L(index))/ 2 
    elseif  H(index)  >  ma  then 
       me  =   (H(index)  +  L(index))/ 2 
    end 
   
   

    return  me, ma, mi
 end 
  
Я хочу использовать для других расчетов предыдущие me, ma, mi. Подскажите, как это сделать! me(index-1) не работает....
Специально для Вас выложил на форуме готовый скрипт.
https://forum.quik.ru/forum10/topic7578/
Прикольно,но факт.
 
Сегодня в сбербанке на реальных торгах наблюдаем это:
посмотрите дату торгов и дату сервера.
Очевидно, все в отпуске и сервером управляет пьяный робот.
 
Индикатор для арбитража
 
Цитата
Владимир написал:
nikolz, Лапуль, а слабо сказать "специально для буратин и чайников" ЗА КАКИМ ХРЕНОМ вообще нужны индикаторы? Тем более, "буратинам и чайникам", которые по определению нифига не понимают ни в торговле, ни в программировании. Скрипты - я понимаю: чтобы утром их запустить, а вечером выключить. Или, как Борис хочет, выключать их раз в неделю, месяц, полгода, год. А эти дурацкие индикаторы зачем?
Владимир,
Если Вы спросите вежливо, то я Вам объясню в чем смысл индикаторов и почему они полезны профи на рынке.
-------------------------------
Более того, Вы удивитесь, но индикаторы используют и реальные роботы крупных игроков,
а не только игрушки , которые делают все посетители данного форума.
--------------------------------
И даже Вы используете индикаторы, но не подозреваете об этом, либо не хотите в этом сознаться.
-------------------------------------
Но эти вопросы и ответы на них не есть тема этого форума.
-------------------------
Да и вам ответы не нужны.
----------------------
Вы же себя показать желаете, оплевывая все и вся.  
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
Цитата
Евгений написал:
Цитата
Nikolay написал:
А Вы используете этот код как индикатор или как скрипт?  


Если как скрипт, то не забывайте передавать поток данных, для которого даже есть переменная ds.   Или, возможно, Вы просто переопределили глобальную переменную C, например С = 5. Что делать в индикаторе нельзя.   Да и в скрипте тоже, если используете этот код, т.к. (C and C(I))     просто проверяет на nil, а уж число там или нет уже не проверяет.
Как скрипт, ds есть
Вычисление стохастика по ВИКИ  элементарно просто:
---------------------
x=100*(C(i)-Ln)/(Hn-Ln);  K=Filt(AL1,K,x);    D=Filt(AL,D,K);
---------------------------
где  Hn и Ln  - это максимум и минимум на интервале N
а Filt - это мувинг , например,  такой:  K=Filt(AL1,K,x);
------------------------------
Т е все до безобразия примитивно и просто, как и вся финансовая математика.
---------------
сравните это с монстром, который вам подсунули.
=================
Для справки  - стохастик - это примитивный полосовой фильтр
с очень плохими фильтрующими свойствами.
Параметры этого фильтра биржевые игроки подбирают методом тыка.
Индикатор для арбитража
 
Добрый день,
Специально для буратин и чайников выкладываю исходник индикатора арбитража.
-----------------
На графике отображается  
белый  - разность цен
красный - максимум за торговый день
синий -минимум за торговый день
зеленый - средний за торговый день
розовый - эксп.скользящая средняя
------------------
Инструкция для ощущения счастья:
1. Откройте график цены первого инструмента
2. Откройте в этом же окне график цены второго инструмента.
3. На вкладке Дополнительно второго графика запишите Идентификатор, который записан в  исходнике индикатора в поле sec    таблицы Settings
4. Откройте индикатор в новой области этого окна.
------------------
Код
--title="Arbitr <nikolz> "-- арбитраж
name='arb_nk'
Settings={
sec ="SB_arb",  --идентификатор 2-го инструмента (графика)
LEMA = 30,
Name = name,
}
-------
function OnCalculate(i)
   if i==1 then
      AL=1/Settings.LEMA; y,Ma,Mi,Me,x=nil;
   else
      local C1=C(i)
      if T(i-1).hour>T(i).hour then y,Ma,Mi,Me,x=nil  end
      local t=getCandlesByIndex(Settings.sec,0,i,1);  t=t[#t];
      if t  then
         local C2=t.close;
         if C2  and C1 then
            x1=C1-C2;
            if Ma==nil or x1>Ma then Ma=x1 end
            if Mi==nil or Mi>x1 then Mi=x1 end
            if Ma and Mi then
            Me=(Ma+Mi)/2; x=x1;
            if y==nil then y=x; end y=(1-AL)*y+AL*x;
            end
         end
      end
   end
   return Me,Ma,Mi,x,y
end
-----
function Init()
 Settings.line={};
   Settings.line[1] =    {Name = "Me",Color = RGB(0,255,0),      Type =1,Width = 2   };
   Settings.line[2] =    {Name = "Ma",Color = RGB(255,0,0),      Type =1,Width = 2   };
   Settings.line[3] =    {Name = "Mi",Color = RGB(0,0,255),      Type =1,Width = 2   };
   Settings.line[4] =    {Name = "x",Color = RGB(255,255,255),   Type =1,Width = 1   };
   Settings.line[5] =    {Name = "eMA",Color = RGB(255,32,255),   Type =1,Width = 2   };
   return #Settings.line;
end
 
Помогите с кодом индикатора Spred
 
Я Вам написал чтобы проверили а не копировали надписи на заборе.
У вас нет вычисления timeCode (добавьте):
и где вы изначально нашли  функцию  getCandleByTimeCode
----------------
В своей программе ,картинка выше, я использую getCandlesByIndex,
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
удивляюсь, как можно такой простой индикатор изложить в виде такого громадного количества операторов.
Полагаю, что разработчику платили по количеству операторов.
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
по форме этот индикатор написан правильно, но по сути - это издевательство над пользователями.
Писавший эти индикаторы совершенно не понимает зачем они нужны.
Ошибка при расчёте стохастика, Выдаёт ошибку при обращении к SO.lua
 
Цитата
Евгений написал:
Цитата
nikolz написал:
     Цитата         Евгений    написал:
function Init()
 func = SO()
 return #Settings.line
end   попробуйте перенести функцию Init в самый конец скрипта
Здравствуйте.
Не помогло.
Ошибку "311:attempt to call a number value (global 'C')" удалось убрать, поменяв в моём коде, который обращается к файлу индикатора цену C на c.
Но значения индикатора не удаётся получить, появляется ошибка "attempt to concatenate a nil value (global 'so2')".
Видимо я неправильно обращаюсь к индикатору, хотя по подобному запросу к PSAR скрипт получает значения:
Код
  dofile( getWorkingFolder () .. '\\LuaIndicators\\SO.lua' )
funcSo  =  SO()
 .. .

 for  i =  1 ,ds: Size ()  do 
so1, so2  =  funcSo(i, {Period  =   5 , Metod  =   "SMA" , Shift  =   3 , Period_D  =   3 , Metod_D  =   "SMA" }, ds)
so1, so2  =  funcSo(ds: Size (), {Period  =   5 , Metod  =   "SMA" , Shift  =   3 , Period_D  =   3 , Metod_D  =   "SMA" }, ds)
 end 
  
вы пытаетесь использовать монстра который нагородили разработчики, но они его сами не применяют в квике.
---------------
Проще всего поместите встроенный этот индикатор  на график, задайте идентификатор и прочитайте значения с графика. В результате получите ровно то, что увидите.
--------------  
если надо скрипт на луа, то либо найдите существенно более простой код что то что взяли, либо напишите сами по формуле из вики.
Объединение тиков, Как объединить тики
 
если надо объединение тиков, то самое простое это смотреть стакан.  
Объединение тиков, Как объединить тики
 
пардон, опечатка
тик - это и есть сделка между двумя участниками биржи, цены заявок которых совпали либо лучшие из существующих.
Объединение тиков, Как объединить тики
 
тик - это и есть заявка между двумя участниками биржи, цены заявок которых совпали либо лучшие из существующих.
Объединение тиков, Как объединить тики
 
Цитата
s_mike@rambler.ru написал:
Делится не сделка, а заявка на сделки.

понять, что сделки были рождены одной заявкой можно по времени. Оно должно совпадать с точностью микросекунд и параметр Соunt должен инкриментироваться на единицу

вообще-то не заявка делится, а это сделки, которые совершены по встречным заявкам, которые совпали по цене с этой заявкой, но количеством меньшим чем в заявке.
Объединить Вы их можете, но не в этой таблце так как это таблица сделок - т е одна строка - одна сделка  
Долго загружается Квик или долго не загружает графики при входе, По 30 минут вхожу в квик, постоянно меняя серверы брокера
 
Цитата
Kirill EL написал:
Цитата
k4rkpin написал:
 
Цитата
Kirill EL  написал:
в терминал вообще не входит.
 о чем это ?
 
Цитата
Kirill EL  написал:
ни о каких заявках речи не идет
 выставление лимитной заявки  из алгоритмической, как способ проверить быстродействие инфраструктуры брокера
Я не могу войти в терминал. Висят графики и не прогружаеются. Вместе с грфиками не прогружается ничего от клиентского портфеля до котировок.  

Он входит только через  полчаса -  час
Вот когда уже зайду в терминал и он заработает таки, то можно попробовать манипуляцию с заявками, только смысл?
Рекомендую сделать следующее:
Установите еще один квик из исходного пакета.
Запустите новый квик и оцените быстродействие.
После этого в новом квике  настройте получение и отображение на графике одного инструмента.
Если все нормально, то проблема в большом числе окон и большом размере архива.
Если все не нормально то проблемы в канале связи или ошибки в подключении к серверу брокера.
-----------------
Рекомендую так же поиграть с демо версией и посмотреть будут ли там проблемы.
Хотелось бы узнать, где про ЭТО прчитать.
 
Цитата
Владимир написал:
nikolz, Представляю, что разработчики должны думать о таких программерах.  ::

Вот именно, лапуль, что документация про QLUA а не про QUIK. Здесь ЕСТЬ возможность написать фильтр на луа и подключить его к таблице, а не тыкать мышкой по экрану, и никакой колбек для этого не нужен. У меня в скрипте есть два независимых фильтра: по валютам и по наличию или отсутствию тикера в портфеле. Есть ещё третий, по таймфреймам, но это уже в одном из видов контекстного меню. Просто программировать надо уметь, хоть немножечко.
относительно данной темы, вы опять не поняли и поэтому как обычно растеклись соплями по экрану.
-----------------
О том что можно написать, я знаю без сопливых. Я спрашивал о заявленных в документации функциях, которые создали разработчики для подключения к таблицам пользовательских фильтров.
Вы очевидно не в курсе, что любые понятия, которые заявлены в вашей писанине в том числе документации должны быть определены изначально.
Хотелось бы узнать, где про ЭТО прчитать.
 
Цитата
Владимир написал:
nikolz, Представляю, что разработчики должны думать о таких программерах.  ::

Вот именно, лапуль, что документация про QLUA а не про QUIK. Здесь ЕСТЬ возможность написать фильтр на луа и подключить его к таблице, а не тыкать мышкой по экрану, и никакой колбек для этого не нужен. У меня в скрипте есть два независимых фильтра: по валютам и по наличию или отсутствию тикера в портфеле. Есть ещё третий, по таймфреймам, но это уже в одном из видов контекстного меню. Просто программировать надо уметь, хоть немножечко.
Ну вы так не убивайтесь, еще научитесь.
Если будут проблемы с сортировкой или еще какие, пишите, не стесняйтесь,
подскажу как ускорить раз в 100.
Хотелось бы узнать, где про ЭТО прчитать.
 
Цитата
Kolossi написал:
Цитата
nikolz написал:

В документации QLua в разделе: "Функции для работы с таблицами Рабочего места QUIK"
-------------------
написано:
-----------------
В таблицах Рабочего места QUIK, созданных с помощью скриптов на языке Lua,  
поддержаны следующие возможности :
 ..
  пользовательские фильтры,
 ...
 ===========================
А где там написано про  фильтры на Lua?  Созданная на Lua таблица поддерживает установку пользовательских фильтров.
Капризничаете. Дай вам волю так вы потребуете возможность убрать столбец с нумерацией и привязку таблицы к конкретному окну. Много вас таких, а разработчики серьезными делами заняты )))
Так документация же про QLUA а не про QUIK.
Поэтому подумал, что есть возможность написать фильтр на луа и  через колбек подключить к таблице, а не тыкать мышкой по экрану.
Очевидно, зря так хорошо подумал о разработчиках.
Больше не буду так думать.
Хотелось бы узнать, где про ЭТО прчитать.
 
но и это не на луа
Хотелось бы узнать, где про ЭТО прчитать.
 
если задание в таблице больше меньше - это и есть пользовательские фильтры, то это ОЧЕНЬ круто.
Хотелось бы узнать, где про ЭТО прчитать.
 
Цитата
Kolossi написал:
Читать после нажатия правой клавиши мыши на заголовок столбца в меню "Фильтр по..."  
Не понял, как создать пользовательский фильтр на луа?
Усреднение цены.(ФР), Возможно ли, отключение функции "усреднение цены"?
 
Цитата
Игорь написал:
В таблице сделок-так. А закрывать отдельные лоты из "таблицы сделок" можно?  

Что значит закрывать?
У Вас ничего не открыто. Сделки уже совершены акции куплены.
Если надо продать то новую заявку.
Долго загружается Квик или долго не загружает графики при входе, По 30 минут вхожу в квик, постоянно меняя серверы брокера
 
Цитата
Kirill EL написал:
Добрый день!
Долго загружается Квик или долго не загружает графики при входе.
По 30 минут вхожу в квик, постоянно меняя серверы брокера и в какой то момент это удаётся сделать, но смотришь на часы и время уже 10:40 к примеру. Утреннюю сессию пропустил.

Уже не знаю что делать и в чем причина. Переписывался долгое время с брокером и сделал все его рекомендации, но ничего координально не поменялось.

Также прочел и сделал все возможное из этих двух инструкций:
https://forum.quik.ru/forum1/topic1539/
https://forum.quik.ru/forum1/topic1540/

Также пересмотрел форум и решение не нашёл.

Хочется узнать в чем может быть причина.
Исходные данные. 3g интернет иногда  1-3мбит,  часто 5-7мбитс,  иногда 10-12мбис
От скорости интернета, насколько я заметил, не зависит этот глюк.  Сегодня была скорость утром до 10-12мбитс, но графики не загружались.
Скрин приложил.
Помогите разобраться!
можно сделать следующее:
-----------------------------
1) При выходе из квика сворачивайте все окна, чтобы при входе они были свернуты.
-------------------------------
2)  кардинально ускорить можно лишь стирая периодически архив данных.
Усреднение цены.(ФР), Возможно ли, отключение функции "усреднение цены"?
 
Цитата
Игорь написал:
Здравствуйте. Можно ли отключить функцию усреднения цены, по одной позиции? Пример: купил 100 акций по 100р. Цена поднимается. Купил ещё 100 по110р. Получится 200 по 105 в одной строке. Надо, чтобы каждые 100 лотов были в своей строке, со своей ценой покупки.  
А в таблице сделок разве не так, как Вы хотите?  
Хотелось бы узнать, где про ЭТО прчитать.
 
Добрый день,
Вопрос к знатокам.
В документации QLua в разделе: "Функции для работы с таблицами Рабочего места QUIK"
-------------------
написано:
-----------------
В таблицах Рабочего места QUIK, созданных с помощью скриптов на языке Lua,
поддержаны следующие возможности :
  • ..
  • пользовательские фильтры,
  • ...
===========================  
прошу подсказать, где я могу прочитать про эти "секретные возможности" под названием " пользовательские фильтры"
------------------
Читать на расстоянии мысли разработчиков пока не научился,
а в документации ничего не нашел.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
сортировка пузырьковая:
Код
void sortb(int *m,int n) 
{   int tmp,k;
   while(n>1) { // проход проверят, не пора ли заканчивать 
      k=0; // нет перестановок
      for (int i=1; i<n;++i) {
         if(m[i]/10<m[i-1]/10) {
            tmp=m[i-1];
            m[i-1]=m[i];
            m[i]=tmp;    
            k=i; // в к будет последний переставленный элемент
         }
      }
      n=k; // с k все отсортировано
   }
}
сортировка быстрая:
Код
// компаратор для qsort
int fcomp(const void *i, const void *j) 
{   return (*(int *)i)/10 - (*(int *)j)/10;
}
void sortq(int *m,int n) 
{
   qsort(m,n,sizeof(int),&fcomp);  
}
Время сортировки 100001 элемента на компьютере с процессором Intel i5 (3.3Ггц). Время указано в сек.
СортировкаПростаяПузырьковаяШейкернаяРасчёскойБыстрая (qsort)
Стабильная+++--
Случайный23.129.119.80.0200.055
Проблемный11.512.90.0020.0150.035
Обратный18.321.121.10.0260.037
Вертикальный сдвиг SMA и прочих индикаторов.
 
Цитата
green_X5 написал:
Цитата
   s_mike@rambler.ru написал:
А пока ждёте реализации попользуйте   https://bot4sale.ru/download-categories/2012-06-13-15-10-36/item/juggler.html  

формула для расчета типа  A+5, если нужно сдвинуть на 5 вверх
А у вас есть версия без ваших dll - файлов? Из соображения безопасности не хочется ставить в свою систему "котов в мешке".
это как просить мерседес, но без двигателя, чтобы лишь кобыла спереди, но чтобы скорость 250 км в час была.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
как я понял, никто конкретно ничего сказать не может, все лишь как Владимир пальцы растопырили и экран заплевали.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Владимир написал:
nikolz, Лапуль, это только распальцованные дебилы смотрят на всякие полурекламные штучки-дрючки, а нормальные люди ориентируются именно на худший случай. Так, моя "воронка" имеет логарифмическую сложность именно В ХУДШЕМ случае, а так она почти всегда линейная - особенно, если учитывать время загрузки и выгрузки данных, т.е. РЕАЛЬНОГО быстродействия, а не "по документации".  
Ну я понял , что ты распальцованный м..к, поэтому всегда кроме бла бла ничего в доказательство не пишешь.
----------------
худший случай у быстрой сортировке - это когда у тебя все сортируемые данные находятся в самом конце их поиска.
Но если худший случай у пузыря и фаст сортировки требует одинаковых затрат, то в среднем фаст всегда выигрывает и НИКОГДА не проигрывает.
но у тебя как всегда и труба ниже и дым жиже, но твое дебильное свое.
Работа с таблицами Квика
 
Вдруг откуда ни возьмись появилось...

в вызове функции  NUMBER AddColumn (NUMBER t_id, NUMBER iCode, STRING name, BOOLEAN  is_default, NUMBER par_type, NUMBER width)

в примере документации (приложение 1)  появляется функция формата:

t:AddColumn("test1", QTABLE_INT_TYPE, 10,format1)
---------------
Предупреждать надо.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Цитата
Владимир написал:
nikolz, Лапуль, ну Вы бы хоть в сортировку не лезли, изображая из себя знатока. Уж это СОВСЕМ моя зона.

В луа БЕЗОБРАЗНО реализована сортировка, поэтому нет смысла ею пользоваться вообще.

Сортировка пузырьком - это ПРОСТЕЙШАЯ сортировка, пишется в 5 секунд и в 99.999% случаев она достаточна для практического использования.

По поводу Вашей долбаной "документации": Ваша быстрая сортировка имеет,  как и пузырёк , КВАДРАТИЧНУЮ сложность, и совершенно по барабану, на каком языке она написана. А теоретически предельная сложность сортировки - ЛОГАРИФМИЧЕСКАЯ, и потому Ваши сказания о "мульонах значений за доли секунды" есть бредни неграмотного идиота. К слову, сортировка, используемая в Виндах тоже безобразная, хотя и не так ужасна, как в операционках серии Win-95. Наконец, при оценке сложности сортировки используют не то количество сравнений, не то перестановок, что почти незаметно при замерах общего времени сортировки, нпри этом НИКАК не учитывается ни загрузка данных в ОЗУ, ни выгрузка их оттуда.

Вот, лапуль, моя заметка про сортировку - для общего развития:  http://sint.wc.lt/sortir.htm
Ну вы и дуб ВИ,
Вы хотя бы  таблицу выше посмотрели
Там правда без Вашего поноса словесного написано,
что быстрая сортировка имеет сложность в худшем случая N^2, а в среднем это N*logN.  а для пузырька в среднем это N^2
т е для 1024 элементов быстрая сортировка дает в среднем сложность 10 000 а пузырек 1 000 000.
т е пузырек в 100 раз медленнее чем быстрая уже на 1000 элементах.
вы же хвастаетесь сортировкой миллионов записей, а это будет уже тысячи  раз.
---------------------
Быстрая сортировка пишется 4 секунды.
Общие вопросы, для понимания - возможно ли написать то, что мне нужно
 
Цитата
Сергей написал:
Цитата
nikolz написал:
у Вас не указаны параметры, которое будут определять требуемое быстродействие данного робота
Параметры требуемого быстродействия - это не проверка раз в минуту, о которой я писал, Вы имели в виду другие параметры ?
На биржах существуют десятки тысяч инструментов для торговли.
кроме того, алгоритм обработки может быть различным по сложности.
кроме этого, стратегия торговли может быть различной по скорости реакции.
Но кая я Вас понял, Вы все будете делать вручную.
Поэтому проблем не будет, кроме слива депозита.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
Ау, спецы по сортир...овке,
кто может без бла-бла-бла ,
сказать конкретно,
что не сортирует правильно
пример скрипта таблицы в документации.
------------------
В нем есть все - и числа и строки.
Не удивлюсь,  если окажется, что вы его даже не смотрели.
-------------------
Я не обнаружил в нем какие-либо проблемы.
если не прав, покажите конкретно.
Общие вопросы, для понимания - возможно ли написать то, что мне нужно
 
у Вас не указаны параметры, которое будут определять требуемое быстродействие данного робота
Если это не важно, то запрограммировать можно все на луа плюс сторонние библиотеки для луа.
------------
QLua в данном случае -это одна из библиотек, которая реализует интерфейс взаимодействия с терминалом QUIK.
Но QLua написана не на луа, а на СИ.
К написанию Вашего робота QLua пригодна лишь в части интерфейса с терминалом,
в  остальном эта библиотека вообще не причем.
--------------------------
Поэтому не надо путать библиотеку QLua и скриптовый язык программирования Lua.
У них общее лишь три буквы.
Это как кислое сравнивать с зеленым.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
для тех,кто не знает:
 
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
если это медленно< то можно загрузить внешнюю функцию на СИ
в этом случае  1 миллион сортируется за 0.085 секунд
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
мульон значений сортируется примерно за 0.5 сек  на 64-разрядной версии Windows 10. Intel Core I7-4500U  
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
для тех, кто не знает.
-----------------------
В луа реализована сортировка, поэтому нет надобности городить сортировку.
-----------------------
сортировка пузырьками - это медленная сортировка.
------------------------
читаем документацию:
Внутри table.sort используется быстрая сортировка, и она написана на C.
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
вот фрагмент из исходников обращения к элементу массива.
Кто знает СИ да увидит.
----------------
   for (; i <= lim; i++) {
     if (!ttisnil(&t->array[i-1]))
       lc++;
   }
   nums[lg] += lc;
   ause += lc;
 }
Сортировка и фильтры в lua таблицах, Можно ли использовать сортировку с учётом типа данных в стобце ?
 
для тех,кто не в курсе.
читаем документацию:
-----------------------
Реализация таблиц (они же массивы, объекты или хеш-таблицы).
Таблицы содержат свои элементы в двух частях: часть массива и часть хэша.
Все неотрицательные целочисленные ключи являются кандидатами на сохранение в   части массива.
Фактический размер массива равен наибольшему 'n' такому, что   используется более половины слотов между 1 и n.
Хэш использует сочетание таблицы разброса в цепочке с вариацией Брента.
Основным инвариантом этих таблиц является то, что если элемент не находится  в своей основной позиции
(т. е. «исходной» позиции, которую его хэш дает ему ),
то конфликтующий элемент находится в своей собственной основной позиции.
Следовательно, даже когда коэффициент загрузки достигает 100%, производительность остается хорошей.
-------------------------
Для тех, кто не понял, поясняю:
---------------------
Массивы в луа - это массивы в памяти.
Если используете индексы - целые числа, то это фактически массивы  СИ.
---------------
Передача массивов в функции выполняется по ссылке,
т е копия массива не делается а передается указатель.
Страницы: Пред. 1 ... 35 36 37 38 39 40 41 42 43 44 45 ... 80 След.
Наверх