Андрей (Все сообщения пользователя)

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

Страницы: 1
Расчёт размеров окна
 
Цитата
Nikolay написал:
Никак. Более того это зависит от выбранного шрифта и его размера. Плюс надо не забывать, что есть шапка окна, её необходимо не включать в расчёты, т.к. она есть если строк 0. Так что я просто делаю доступным параметры масштабирования, чтобы можно было задать для каждого скрипта.
Благодарю за ответ!
Очень печально.  
Расчёт размеров окна
 
Подскажите, пожалуйста, как рассчитать размеры окна для функции SetPosition?
Я знаю кол-во строк, я знаю кол-во столбцов и их размер (заданный при создании столбца)
По какой формуле с какими коэффициентами рассчитать dx-dy? Устал подбирать... У меня таблички динамические и хотелось бы что-бы окно само адаптировалось.  
сообщение в Telegram - это просто
 
Цитата
nikolz написал:
Цитата
Андрей написал:
 
Цитата
nikolz  написал:
 
Цитата
 Андрей   написал:
os.execute (curl .. mes .. '"');   --отправляем  
  Что именно хотите увидеть?
можете сделать так:  
Код
      file   =     "D:/bot.log"  
curl   =     "C:/Windows/System32/curl.exe  --silent --output "    ..  file  ..   '"'   ..   "https://api.telegram.org/bot"   ..  token  ..   "/sendMessage?chat_id =  "  .. chat_id .. "   &  text  =  "       
  В file будет записан ответ робота.
 Благодарю за помощь!

Я бы хотел иметь возможность в LUA видеть статус отправки сообщений в Телегу и если сообщения перестали уходить, то получить какой-то message,
Версия с  io.popen  это позволяла бы сделать, как в приведённом выше примере, но он не работает :(.
Ваш вариант отличный, но он позволит только постфактум узнать о проблемах. Но все равно, Вам огромное спасибо за идею в принципе! Это просто прекрасное решение почти всех моих запросов!  
Отправьте по аналогии как я написал запрос /update и получите все сообщения. Можно запросить только последнее.
Но как Вы собираетесь определить что сообщения перестали приходить ?
----------------
Возможно я не понял, но о каких проблемах Вы хотите узнать?
О проблемах с bot в Telegram или о проблемах в QUIK или о проблемах с ПК или о проблемах со связью с биржей?
Я хочу в QUIK увидеть статус отправки сообщения в  Telegram. И вовремя увидеть, что статус сделок перестал улетать в телеграмм. Чтобы было понятно, я делюсь сделками, которые совершаю руками в QUIK с коллегами и хочу вовремя увидеть, что они перестали их получать, если что-то отвалилось в телеге.  
сообщение в Telegram - это просто
 
Цитата
paluke написал:
Цитата
Андрей написал:
 
Цитата
nikolz  написал:
 
Цитата
 Андрей   написал:
os.execute (curl .. mes .. '"');   --отправляем  
  Что именно хотите увидеть?
можете сделать так:  
Код
      file   =     "D:/bot.log"  
curl   =     "C:/Windows/System32/curl.exe  --silent --output "    ..  file  ..   '"'   ..   "https://api.telegram.org/bot"   ..  token  ..   "/sendMessage?chat_id =  "  .. chat_id .. "   &  text  =  "       
  В file будет записан ответ робота.
 Благодарю за помощь!

Я бы хотел иметь возможность в LUA видеть статус отправки сообщений в Телегу и если сообщения перестали уходить, то получить какой-то message,
Версия с  io.popen  это позволяла бы сделать, как в приведённом выше примере, но он не работает :(.
Ваш вариант отличный, но он позволит только постфактум узнать о проблемах. Но все равно, Вам огромное спасибо за идею в принципе! Это просто прекрасное решение почти всех моих запросов!  
Не знаю, что у вас не так, у меня io.popen работает, и ответ от curl я получаю. Может, дело в версии curl
у меня io.popen вообще ничего не возвращает и команду не выполняет. Я пробовал просто dir отправить. У вас windows какой версии?
сообщение в Telegram - это просто
 
Цитата
nikolz написал:
Цитата
Андрей написал:
os.execute (curl .. mes .. '"');   --отправляем  
Что именно хотите увидеть?
можете сделать так:
Код
  file =  "D:/bot.log" 
curl =  "C:/Windows/System32/curl.exe --silent --output "  .. file .. '"' .. "https://api.telegram.org/bot" .. token .. "/sendMessage?chat_id =  "..chat_id.."  & text = "  
В file будет записан ответ робота.
Благодарю за помощь!

Я бы хотел иметь возможность в LUA видеть статус отправки сообщений в Телегу и если сообщения перестали уходить, то получить какой-то message,
Версия с  io.popen  это позволяла бы сделать, как в приведённом выше примере, но он не работает :(.
Ваш вариант отличный, но он позволит только постфактум узнать о проблемах. Но все равно, Вам огромное спасибо за идею в принципе! Это просто прекрасное решение почти всех моих запросов!  
сообщение в Telegram - это просто
 
Цитата
nikolz написал:
напишите подробнее что и куда и приведите пример.
Разобрался. Файл LUA правил в редакторе Sublime на Mac OS и забыл сменить кодировку. Пересахронил файл с 1251 вместо UTF-8 и  все стало прекрасно!

Осталось понять почему io.popen не работает. Очень бы хотелось статус отправки видеть.
У меня на Win11 не работает.  
сообщение в Telegram - это просто
 
Цитата
nikolz написал:
Код
  token =  "......"    --робот в telegram 
chat_id =  "....."   --ваш в telegram 
curl =  "C:/Windows/System32/curl.exe --silent --output null "  .. '"' .. "https://api.telegram.org/bot" .. token .. "/sendMessage?chat_id =  "..chat_id.."  & text =  "
------------------------------
mes=" привет !  ! "    --сообщение 
 os.execute (curl .. mes .. '"');   --отправляем   
А как бы решить проблему с кодировкой? В телгу прилетает абракадабра :(
сообщение в Telegram - это просто
 
Цитата
paluke написал:
Аккуратно обрабатываем спецсимволы:
Код
   function   tgmsg (text)
   local  curl  =   'curl.exe' 
   local  token  =   '.....' 
   local  chatid  =   '....' 

  text  =   string.gsub (text,  '[^0-9a-zA-Z\x80-\xff._~-]' ,  function (chr)  return   string.format ( "%%%02x" ,  string.byte (chr))  end )
   local  h, e, c  =   io.popen (curl  ..   ' -X POST --data-raw text="'   ..  text  ..   '" https://api.telegram.org/bot'   ..  token  ..   '/sendMessage?chat_id='   ..  chatid)
   if  h  then 
       local  a  =  h:read( 'a' )
       return  a, h:close()
   else 
       return   false , e, c
   end 
 end 

  
Код у вас не работает. Не выполняется io.popen, при этом ошибок нет. Если поменять на execute, то все работает  
Получить sec_code при выборе бумаги в ТТТ., Получить sec_code при выборе бумаги в ТТТ.
 
Цитата
Nikolay написал:

2. Можно написать индикатор, добавляющий и обновляющий метку на график, где в тексте или подсказке добавить всю нужную информацию. А уже из скрипта прочитать данные этой метки.
Николай, подскажите, пожалуйста, а как можно прочитать данные метки в скрипте lua? Нигде не смог найти, как это сделать.
Только если через сохранение в файле и чтении его в скрипте.
Метки в индикаторе LUA
 
Цитата
Anton Belonogov написал:
Андрей, добрый день.

Названия параметров метки TEXT, DATE, TIME, как и прочих, должны быть записаны в верхнем регистре.
Дополнительно убедитесь, что графику, на котором необходимо создать метку, присвоен идентификатор "TEST", а значения DATE, TIME и YVALUE находятся в видимой области.
Антон, благодарю!  
Метки в индикаторе LUA
 
Добрый день!

Что-то не получается у меня выводить метки в индикаторе.
Сделал простой тестовый индикатор. Линии рисует, а текстовую метку не выводит.
Что я делаю не так?

Settings = {}
Settings.Name = "PercentLevel"

label={
text = "Метка 333",
FONT_HEIGHT = 25,
YVALUE = 301,
date = "20240305",
time = "170000"
}



function Init ()
return 2
end

function OnCalculate(index)
AddLabel("TEST", label)
return 300, 298
end
Разделение периодов на грфике
 
Цитата
Anatolii написал:
Используйте индикатор с TYPE_HISTOGRAM в Settings.line
Пример:
if math.fmod(index, 1000)==0 then  SetValue(index, 1, C(index)) end
Рисует вертикальные линии до цены в каждой 1000-й точке.
Палка отображается только в диапазоне свечей окна (до нуля не тянется и масштаб графика не ломает)  
интересное решение. спасибо!
Разделение периодов на грфике
 
Цитата
Andrey Golik написал:
Андрей, здравствуйте!

Если подразумеваете в виду автоматическую разметку, то такой возможности нет.
Наверное стоит уточнить вопрос, можно ли написать на LUA индикатор, который будет рисовать границы торговых сессий?
Не нашел, как рисовать вертикальные линии.  
Разделение периодов на грфике
 
Подскажите, а я правильно понимаю, что нельзя стандартными средствами сделать индикатор, который будет рисовать разделение сессий вертикальной линией?А еще лучше залитыми областями. Например, утро желтый прозрачный, день розовый прозрачный, а вечерка голубой прозрачный.  
Как определить, когда идет торговая сессия, а когда нет?
 
Добрый день!

Подскажите, пожалуйста, а в какое время на демо идут торги, а в какое клиринг?
Нужны все интервалы.  
Decoda for LUA 64bit
 
Цитата
Иван Ру написал:
Цитата
Андрей написал:
Decoda для 64bit LUA
Тоже актуально.
У меня при попытке подключения терминала выдает сообщение
Error: LuaInject.dll could not be loaded into the process
Попробуй PyCharm. Там можно прямо скрипты запускать и есть какая-то отладка. Я глубоко не изучал пока, но копать нужно сюда.  
Доска опцинов из QLUA
 
Добрый день!

Использую Ваш скрипт получения Греков. Сделал из него функцию и встроил к себе. Получилось не плохо. Но сейчас появилась задача получать греки не по всем опционами серии, а по конкретным.
Скрэт это прекрасно умеет, но как правильно его использовать, если этот список меняется. Например, я хочу выводит только те опционы с греками по которым у меня открыта позиция. Но позицию я могу менять. Покупать опционы, продавать и соответственно список будет меняться динамически. И в целом понятно как это сделать, но смущает функция CreateDataSource. У меня открыты потоки на определённые инструменты. И мне нужно как-то на старые закрыть , а на новые открыть. Или закрывать ничего не нужно, просто отрывать на новые? В общем, как-то я подзапутался....  
Decoda for LUA 64bit
 
Цитата
Nikolay написал:
Очень советую не полагаться на отладчик, а немного пересмотреть подход к написанию скриптов.
В частности, покрывайте тестами свой код, проверяйте входящие переменные по типу и значению. Критически важные участки, оборачивайт в pcall, чтобы обработать исключение.
Вы же пишете скрипт на клиенте, а значит Вы должны работать в ситуации когда в любой момент времение у Вас обрывается связь с непредсказуемым временем восстановления.
Также Вам никто не гарантирует время ответа от сервера на ваши запросы и команды. А значит Вам все равно надо проерять все, что Вы ожидаете.

А дебаг, Вы же, скорее всего, будете делать лог файл. Так отладочную информацию можно и нужно выодить в лог по уровню дебаг.
Тогда, включая режим отладки, увидите сообщения отладки, а в простом режиме будет просто информационная часть лога. Тем более, что если Вы передаете скрипт заказчику, то о возможных ошибках Вы только из лога и узнаете.
Вы все правильно пишите. Но иногда отладчик очень полезен.  
Decoda for LUA 64bit
 
Добрый день!

Подскажите, есть ли сборка Decoda для 64bit LUA?
Текущая версия перестала работать после обновления до QUIK 8. А отлаживать скрипты как-то нужно!
Доска опцинов из QLUA
 
Добрый день!

Появилось желание пересчитать греки с учетом свои нужд. Полез в тело скрипта и появились вопросы.
Подскажите, пожалуйста, что это за функция? Что за константы в ней использованы? Можно увидеть формулу "на бумаге"
Заранее спасибо!
Код
function N(x) --Нормальное среднее
    if (x > 10) then
      return 1
   elseif (x < -10) then
      return 0
   else
      local t = 1 / (1 + 0.2316419 * math.abs(x))
      local p = 0.3989423 * math.exp(-0.5 * x * x) * t * ((((1.330274 * t - 1.821256) * t + 1.781478) * t - 0.3565638) * t + 0.3193815)
      if x > 0 then
         p=1-p
      end 
      return p   
   end
end


Доска опцинов из QLUA
 
Спасибо большое за скрипт.
Про цену и Волатильность затупил. просто никогда их оттуда не брал. Тоже спасибо за информацию
Доска опцинов из QLUA
 
Греками поделитесь, спасибо. Но мне интересна цена и волатильность.  
Доска опцинов из QLUA
 
Всем привет!

А как получить доступ к данным доски опционов из QLUA?
Не нашел эту таблицы в списке доступных....  
Ночью отваливается скрипт QLUA
 
Цитата
Павел Bosco написал:
если выбрать скрипт в списке, то в окошке под ним будет написана ошибка, по которой он отвалился. с номером строки.
желательно обрабатывать OnConnected / OnDisconnected, проставляя переменную и анализировать её в скрипте.
тогда проблемы быть не должно.
некоторые функции работают и без сервера, а некоторые дают разного рода некорректные данные.
Спасибо. не обратил на это внимание. Была не определена переменная обращение к которой было только при отсутствии связи.  
Ночью отваливается скрипт QLUA
 
Спасибо, но вроде бы у меня скрип по времени работает.
Что заметил, вылетает если я захожу на vps в не рабочее время.  
Ночью отваливается скрипт QLUA
 
Подскажите, почему скрипт QLUA переходит в неактивное состояние после ночи?
Ночью QUIK отваливается, т.к. брокер гасит сервер, утром крик снова подключается, а вот скрипт QLUA остается не активным.
Страницы: 1
Наверх