QLUA

Страницы: Пред. 1 2 3 4 5
RSS
QLUA, вопросы начинающих.
 
Цитата
Анатолий написал:
Цитата
Sergey Gorokhov написал:
Просто добавить условие фильтрации. Если сделка с таким номером по данному классу уже была то игнорировать.
Извините за глупый вопрос - как это сделать? Для этого есть какие то функции qlua? или же обычными средствами lua
Во втором случае примерно понятно как это сделать

что именно не понятно?
добавляете условие if и пишите проверку, все стандартными средствами lua никакой магии.
Вы же умеете сравнивать две переменные? (if a==b then) вот это оно и есть.
вопрос только в том как хранить ранее полученные данные
можно просто в виде таблицы lua
можно в файле
как Вам удобней
 
Цитата
что именно не понятно?
добавляете условие if и пишите проверку, все стандартными средствами lua никакой магии.
Вы же умеете сравнивать две переменные? (if a==b then) вот это оно и есть.
вопрос только в том как хранить ранее полученные данные
можно просто в виде таблицы lua
можно в файле
как Вам удобней
А да, сразу что то не подумал все просто, еще до того как вы ответили уже решил проблему примерно так
function OnInit ()

ordn=0
tr=0
end

function main()
   while is_run do
      tr=0
      ordn=0
      sleep(1000)
   end;

function OnOrder (neworder)

if ordn==0 then
ordn=neworder.order_num
....
end

function OnTrade(trade_data)
   
if tr~=0 then return end
   if tr ==0 then
   tr=trade_data.trade_num
...
end

Но хотелось бы знать почему на выполнение одной заявки на покупку одного  лота  приходит три ответа с разным временем? Это временный глюк на сервере или эти дубликаты могут иметь какое то значение?

 
Вообщем сравнил результаты выгрузки таблиц OnOrder (neworder) и OnTrade(trade_data) в файл (дубликаты по одной и той же сделке)
Таблицы neworder отличаются значениями withdraw_datetime, datetime и uid, причем 1ый uid=0 а второй uid = 132894
Таблицы  trade_data отличаются значениями canceled_datetime  (Какой тут может  быть canceled_datetime? заявка ведь выполнена) и datetime
 
Люди подскажите пожалуйста - как при запуске скрипта, из секции OnInit () сразу узнать текущее состояние баланса денежных средств, исходя из справки для этого служат функции getMoney  и getMoneyEx, им нужно передать параметры (STRING client_code, STRING firmid, STRING tag, STRING currcod
client_code можно получить а как получить firmid, tag и currcod?
Их  можно получить либо по результатам из таблиц ontrade или onorder но для  этого уже после запуска скрипта создать заявку,  либо прописать вручную, но допустим я хочу максимально автоматизировать  скрипт - чтобы он без совершения каких либо сделок или заявок сам каждый  раз узнавал все нужные рабочие параметры, без прописывания их вручную, терминал  ведь знает все эти параметры сразу после соединения с сервером
 
Цитата
Анатолий написал:
а как получить firmid, tag и currcod?

Функции getMoney  и getMoneyEx, обращаются к лимитам по деньгам, следовательно посмотреть нужные данные можно в таблице лимитов по деньгам.
firmid - это фирма
tag - это тег (код позиции)
currcode - код валюты.

Цитата
Анатолий написал:
терминал  ведь знает все эти параметры сразу после соединения с сервером
Да знает. Но он не знает от какого счета Вы будете торговать и какой вид лимита использовать при торговле.
И никто не знает, кроме Вас.
В терминале может быть далеко не один код клиента/торговый счет. И позиции могут вестись далеко не только за рубли.
Следовательно автоматики в это месте нет.

Но, Вы можете написать алгоритм который будет искать нужные параметры в таблицах лимитов через функцию getItem.
Она не требует указания фирмы/счета и прочего, а только номер строки из таблицы.
Следовательно, можно написать цикл который будет перебирать все строки до нахождения нужной и брать из нее данные.
 
Цитата
Sergey Gorokhov написал:
Но, Вы можете написать алгоритм который будет искать нужные параметры в таблицах лимитов через функцию getItem.
Спасибо!
 
Цитата
Egor Zaytsev написал:
Цитата
Борис Гудылин написал:
Цитата
Alexey Ivannikov   написал:
Цитата
Алексей Орешкин   написал:
Сделал видео как это проходит у меня.  
     Добрый день.
   
    Данная ошибка будет исправлена в одной из     очередных версий программы.
    Приносим извинения за причиненные неудобства.
Посмотрите, пожалуйста, смежную проблему с "лишними" вызовами OnCalculate. При редактировании параметров какого-либо индикатора он пересчитывается 3 раза, а все остальные на диаграмме - по 2. При большом количестве ресурсоемких индикаторов работать становится сложно.
Версия 7.2.1.5.
В версии 6.17 при редактировании параметров индикатора пересчитывался только он один, остальные не трогались. Нельзя ли вернуть прежний порядок?
Здравствуйте,

Судя по описанию эта такая же проблема, описанная выше.
Сейчас и правда OnCalculate работает некорректно. Над устранением ошибки работаем.
 
Ребята, это не хорошо!
У вас два основных инструмента, и один не работаем, на втором цикле изменены значения внешних  переменных, результат получается неожиданный.
У меня месяц ушел, что бы понять в чем дело. Печально
Жду с нетерпением рабочего варианта!
Страницы: Пред. 1 2 3 4 5
Читают тему
Наверх