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

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

Страницы: 1 2 След.
Запуск скриптов lua
 
Цитата
Старатель написал:
До сих пор нет надёжного решения обсуждаемой проблемы.

Цитата
Серж написал:
Состояние  скрипта при следующем запуске зависит от того успел ли он становиться  до сохранения его статуса (остановлен/запущен) в файл scripts.dat.

Так это и есть решение проблемы.
if msg == QTABLE_CLOSE then sleep(time)  OnStop() end
Нужно только, чтобы "time" было больше периода "бесконечного" цикла main, или времени возвращаемого OnStop.
Купить по рынку / Продать по рынку, Необходима помощь в подключении этих опций
 
Чтобы кнопки были активны, на панели торговли должны быть указаны количество "Q", и счет "A".
Отобразить эти поля в настройках стакана >Панель торговли>Цена количество и счет.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Причина в том, что в новых версиях квик каждый раз при отрисовке метки обращается за картинкой к диску, даже если картинка одна и та же, и, видимо, у него не всегда это получается.
https://forum.quik.ru/messages/forum1/message70509/topic8106/#message70509
Что с этим делать - не знаю.
Преобразование времени в число
 
Цитата
nikolz написал:
пардон, исправил:
Код
   local  time_pos =  string.gsub ( getInfoParam ( "SERVERTIME" ),  ":" ,  "" );
  

Из руководства:

Цитата
%x:  (где x - не алфавитно-цифровой символ) представляет символ x. Это стандартный способ кодирования магических символов. Любой не алфавитно-цифровой символ (включая все знаки пунктуации, даже не магические) могут предваряться '%', когда используются для представления себя в шаблоне.
Преобразование времени в число
 
Цитата
nikolz написал:
 
Цитата
Ziveleos написал:
local time_pos =string.sub (x,1,2)..string.sub (x,4,5)..string.sub (x,7,8);
Вы утверждаете, что это я написал?
Преобразование времени в число
 
Денис, добрый день.
Вот рабочий код:

Код
  local t = string.gsub(getInfoParam("SERVERTIME"),"%:", "")
  local time_pos = string.format("%06d", tonumber(t))


nikolz, до 10 утра время сервера передается без начального нуля, одной цифрой.
Фризы и тормоза, Фризы терминала
 
Если не секрет, в текущей таблице параметров #2 сколько строк?
Купить по рынку / Продать по рынку, Необходима помощь в подключении этих опций
 
Поля "Количество" и "Счет" задействованы?
Добавить функции QLUA "Поверх всех окон" и "Показывать на всех"
 
Цитата
Daniil Pozdnyakov написал:
Здравствуйте!

Ваше пожелание зарегистрировано.  Мы постараемся рассмотреть его и  сообщить Вам результаты анализа. Впоследствии, по результатам анализа,  будет приниматься решение о реализации пожелания в будущих версиях ПО.
Прошло 2 года. Как дело движется?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
При тестировании стратегий на исторических свечах. При выводе меток приходит такая ошибка;
Цитата
Ошибка при создании метки: Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции.
Ни чего по ней найти не возможно, по смыслу что со свечами не то?

Скорее не со свечами, а с метками. Файлы картинок для меток используются?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
А как?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
стоимость контракта = price_last * pos_qty* lot ?
С контрактом на индекса мосбиржи (MXI) такая формула не работает.
Экспорт из Quik в Excel необходимых данных!, Экспорт из Quik в Excel следующих данных!
 
Цитата
hts написал:
Можно ли вывести в эксель все свои сделки, купля продажа итд.  И если  можно то как.  Спасибо  
На таблице сделок, правая кнопка мыши > Вывод через DDE сервер.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Игорь М написал:
Вы здесь за один удар определяете и то, что у вас заявка активная и то, что она купля/продажа

Вот и я о том же: https://forum.quik.ru/messages/forum10/message71098/topic8137/#message71098
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Опять я наврал. Нельзя два дела одновременно делать!
Так правильно:

Код
   x = order.flags & 3 -- для версии lua ниже 5.3 ->  bit.band(order.flags,3)
  if x == 2 then
      message("Заявка снята")
    elseif x == 1 then
      message("Заявка активна")
    elseif x == 0 then
      message("Заявка исполнена")
  end
end
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Можно.

Код
x = order.flags & 3 -- для версии lua ниже 5.3:  bit.band(order.flags,3)
if x == 3 then
    message("Заявка снята")
  elseif x == 2 then
    message("Заявка исполнена")
  elseif x == 1 then
    message("Заявка активна")
end


Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Ziveleos написал:
r = order.flags & Х, где Х - вес соответствующего флага. r - 1 или 0, в зависимости от того, установлен флаг, или нет.
Наврал. r - вес флага или 0, в зависимости от того, установлен флаг, или нет.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Еше ватиант bit.test(order.flags,Х), где Х - номер флага. Возвращает true или false.
Работает медленно, но зато даже на луа 5.1
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Как безошибочно выяснять состояние флагов
r = order.flags & Х, где Х - вес соответствующего флага. r - 1 или 0, в зависимости от того, установлен флаг, или нет.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
nikolz, нафига их двигать, если можно сразу и пачкой:
Цитата
Ziveleos написал:
У каждого флага свой вес. Чтобы узнать состояние флагов, нужно в качестве второго операнда побитового И взять число, равное сумме весов интересующих флагов. Результат = сумме весов установленных флагов.Пример:Если order.flags & 5 == 4, заявка на продажу, не активна. ==1 - заявка на покупку, активна.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
nikolz, Вы мне объясняете?!
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
Владимир написал:
Сейчас вероятность проблем со связью близка к нулю
Это смотря в каком городе Вы живете...
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
VPM, в каком смысле пользоваться? Как выяснить состояние флагов, или как эту информацию использовать в торговле?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, это на случай проблем с интернетом, электричеством, или на сервере брокера, как это было со сбером, чтобы заявка не осталась с неприкрытой задницей. Ну и для ручной торговли.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, первый, в случае управления стопом тоже нужен. Если лимитированная снята, то стоп тоже нужно снять, если исполнена - то должен остаться.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, разумеется. И выставляется она на лимитированную заявку, которая может быть как на покупку, так и на продажу. Поэтому нужен второй бит.
Предотвращение убыточной продажи по TAKE_PROFIT_AND_STOP_LIMIT_ORDER
 
Цитата
Дмитрий Ш написал:
       OFFSET             = str_price(tostring(spread)),
       OFFSET_UNITS       = "PRICE_UNITS",
       SPREAD             = str_price(tostring(offset)),
Если не секрет, зачем менять местами отступ и спред?
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, например, чтобы выставить/снять стоп-лосс, нужен еще и второй бит.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
То есть так правильно?
Да.
Цитата
VPM написал:
order.flags - где нулевой где не нулевой не разберешь.
Руководство пользователя QLua > Описание битовых флагов.
У каждого флага свой вес. Чтобы узнать состояние флагов, нужно в качестве второго операнда побитового И взять число, равное сумме весов интересующих флагов. Результат = сумме весов установленных флагов.
Пример:
Если order.flags & 5 == 4, заявка на продажу, не активна. ==1 - заявка на покупку, активна.

Старая шутка: "Нашел в телефоне кнопку Вкл.бл, значит, где-то должна быть Выкл.нах."
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
То есть так правильно?
Нет. Если order.flags делится на 2 без остатка, то число чётное, нулевой бит равен 0, а это значит, что заявка не активна.

Цитата
VPM написал:
Все равно не пойму как их различать?
Что различать? Не понял вопроса.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Владимир, это у Вас. Контролировать состояние заявки бывает нужно в разных целях.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Цитата
VPM написал:
Можно утверждать что такая запись надежна?

В приведенном Вами примере контролируется нулевой бит, а описание почему-то взято от первого. А это все-таки разные вещи: ордер активен и ордер снят. По моему, определять лучше сразу оба бита.
Если bit.band(order.flags,3) или order.flags & 3 равно 3, то заявка снята, равно  2 - исполнена, 1 - активна.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
 
Извините, что вмешиваюсь,

Цитата
VPM написал:
if (order.flags % 2) == 0 then -- Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена

чет/нечет - это проверка нулевого бита.
Из руководства:

Цитата
бит 0 (0x1)  Заявка активна, иначе – не активна
бит 1 (0x2)  Заявка снята. Если флаг не установлен и значение бита «0» равно «0», то заявка исполнена  

Есть еще вариант bit.test(order.flags,0), но чет/нечет самый быстрый.

Код
function main()
  order = getItem("orders", 1)
  start = os.clock()
  for i = 1, 1e6 do
    x = order.flags % 2
    --x = bit.band(order.flags,1)
    --x = bit.test(order.flags,0)  
  end
  message(tostring(os.clock() - start))
end

Таблица с измемениями открытого интереса
 
По моему, график гораздо нагляднее, чем цифры.
И скрипт писать не нужно.
Как реализовать "Карман транзакций", Как реализовать "Карман транзакций"
 
В терминале, клавиша F7  ->  Карман транзакций.
DelAllLabels приводит к "General Protection Fault", Вызов DelAllLabels при смене тикера приводит к падению QUIK с ошибкой "General Protection Fault"
 
Придумал!
Вот что ноосфера животворящая делает!

Код
      if lastLbl then
        repeat
          sleep(10)
          t_Lbl = GetLabelParams(iStr, lastLbl) -- Костыль. Ждем пока появится последняя метка.
        until t_Lbl
      end
      lastLbl = 0

<...>

        lbl_ID = AddLabel(iStr, arr)
        lastLbl = lastLbl + 1
      end


Но лучше, если бы не приходилось изобретать "костыли".
Разработчики! Поправьте на досуге.
DelAllLabels приводит к "General Protection Fault", Вызов DelAllLabels при смене тикера приводит к падению QUIK с ошибкой "General Protection Fault"
 
Стрелки: Arrows.zip
Тормоза в отрисовке меток в 10 версии
 
Цитата
Andrey Golik написал:
Уточните, пожалуйста, вы тоже столкнулись с этой проблемой?

Столкнулся со смежной проблемой: DelAllLabels приводит к "General Protection Fault"
DelAllLabels приводит к "General Protection Fault", Вызов DelAllLabels при смене тикера приводит к падению QUIK с ошибкой "General Protection Fault"
 
Значки почему-то не выкладываются.
DelAllLabels приводит к "General Protection Fault", Вызов DelAllLabels при смене тикера приводит к падению QUIK с ошибкой "General Protection Fault"
 
   Тестовый скрипт:
Скрытый текст

По-видимому, если во время восстановления меток после смены инструмента (график подключен к каналу), вызвать DelAllLabels, QUIK не выдерживает такой "шизофрении", и падает с криком "Internal exception happened".

Помогает только задержка, позволяющая QUIK восстановить все метки.
Как поймать момент окончания прорисовки, мне придумать так и не удалось, может быть разработчики что-нибудь подскажут?
Версия терминала - 10, но и на 7-ой всё то же самое.
Свободное перемещение графика
 
Цитата
Alexey Ivannikov написал:
Хамство и оскорбления - это по Вашему правильно? Мы Вас верно поняли?

Неверно.
И что значит "Мы"? Во множественном числе себя величали только самодержцы.
У высказывания есть форма и содержание. Имелось в виду именно содержание.

Цитата
Alexey Ivannikov написал:
Да, пользуются. И вполне довольны. Если Вы тоже считаете что пожелания, в которых заинтересованы 1-2-3 пользователя, должны выполняться " по щелчку" - то Вы ничего не понимаете в организации работы IT-Компании.

Ну, если "вполне довольны", то улучшений ждать не приходится. Зачем менять то, что и так работает замечательно?

Чего для мне что-то понимать  в организации работы IT-Компании? Достаточно сравнить ваш продукт с тем же приснопамятным TradingView, и с вами всё становится ясно.
Взять хотя бы возможность назначать оповещение на пересечение ценой любой линии, например, линии тренда.
Свободное перемещение графика
 
Alexey Ivannikov, Ваше высказывание очень важно для нас, дождитесь ответа.
Свободное перемещение графика
 
Цитата
Александр написал:
Прошел еще месяц, с предыдущего сообщения! Вы че там вообще делаете за наши бабки? В чем сложность убрать бесконечность Фибоначчи??? И так из-за вашего тупого стакана приходится в двух терминалах работать. Вы что на столько тупые что не можете сделать стакан как в МТ фибы как у всех не бесконечные и свободное перемещение графика в окне?*???? Это че прям сложность такая за столько лет или мозгов не хватает тупо посмотреть как у других? Вы сами через свое убожество торгуете или только пишите это уродство?  

А вопрос-то правильный.
Разработчики OUIK сами пользуются своим продуктом, или "чисто теоретически"?
Тормоза в отрисовке меток в 10 версии
 
Andrey Golik,  снова сделаете как в 7-ке, загружать картинки один раз, при старте скрипта, и хранить их в  randseed.bin в более "удобоваримом" виде?
Может быть лучше сохранять картинки в каком-нибудь буфере в оперативке, чтобы AddLabel брала их  оттуда?
Ну, или считывать картинки как userdata и использовать вместо адреса  картинки.
В чём преимущество OnInit
 
Цитата
VPM написал:
Ау, это форум о трейдинге?

Нет.
Это - Главная  » Основные форумы  » Программирование на языке Lua
Как и написано в "шапке".
В чём преимущество OnInit
 
Цитата
VPM написал:
Ziveleos,  
Цитата
Ziveleos написал:
Один FTP и HFT
Это мое авторство. И привлеку я Вас за наращение авторских прав.

Диву даешься!

Ведь кроме этой путаницы, в моих рассуждениях была путаница в логике!
Ну хоть один бы высказался на эту тему.

Ау, это форум о трейдинге?

Ещё один "не читатель"!
Это swerg написал обращаясь ко мне, а я его процитировал.
Похоже, путаница не только в логике и аббревиатурах.    
Депозит на демо, Нужно обновить
 
Здравствуйте!
Продлите пожалуйста доступ к учебному серверу для логина U0210625.

Спасибо.
В чём преимущество OnInit
 
Цитата
swerg написал:
Ziveleos, и? Я что-то неправильно написал? Тогда напишите в чем я неправ.

Один FTP и HFT путает, другой недоволен, что его не там процитировали.
А по делу-то что в итоге?

swerg, правильно, неправильно, не в этом дело.
Захотелось высказаться - воля Ваша. Меня-то зачем приплетать?
В чём преимущество OnInit
 
swerg, мои слова, процитированные Вами, были ответом Владимиру.
Для себя я все выяснил, о чем и высказывался уже в этой ветке.
Видимо, Вы поступили как в том анекдоте: "чукча - не читатель, чукча - писатель!"
В чём преимущество OnInit
 
VPM,
Цитата
VPM написал:
я делаю так

local path;
function OnInit (script_path)

--задаём переменные
path=getScriptPath()

script_path -- другая переменная

end

Так ведь:

Цитата
Алексей написал:
Имеется ввиду, что quik уже за Вас вызвал getScriptPath() и результат Вам подсовывает в качестве параметра при вызове OnInit(script_path).А уж будете Вы использовать этот "подарок" внутри OnInit или нет, дело Ваше  

Зачем Вам script_path от OnInit?
Страницы: 1 2 След.
Наверх