Amibroker из Клуа

Страницы: 1
RSS
Amibroker из Клуа
 
Пытался подключиться к Ами
Код
require "luacom"
ami = luacom.CreateObject("Broker.Application")
ami.Visible = true
aa = ami:LoadDatabase("D:\\PF\\AmiBroker\\DB\\trade")
Работает. Но дальше облом...
Код
qq = ami:Import(0, "c:\\valg\\rt.txt")
Ошибки не выдает, но и ничего не делает (в логах импорта Ами просто пусто).
Код
st = ami.Stocks:Add("RTSI")
Ошибка - attempt to index field 'Stocks' (a function value)

Может кто что подскажет? :what:
 
Цитата
валерий написал:
Пытался подключиться к Ами
Код
  require  "luacom" 
ami  =   luacom.CreateObject ( "Broker.Application" )
ami.Visible  =   true 
aa  =  ami:LoadDatabase( "D:\\PF\\AmiBroker\\DB\\trade" )
  
Работает. Но дальше облом...
Код
  qq  =  ami:Import( 0 ,  "c:\\valg\\rt.txt" )  
Ошибки не выдает, но и ничего не делает (в логах импорта Ами просто пусто).
Код
  st  =  ami.Stocks:Add( "RTSI" )  
Ошибка - attempt to index field 'Stocks' (a function value)

Может кто что подскажет?
Я для работы с амиброкером  делал свои плагины на СИ и для  ами и для квика.
У амиброкера есть хороший api и хорошее описание.
 
[/QUOTE]Я для работы с амиброкером делал свои плагины на СИ и для ами и для квика.
У амиброкера есть хороший api и хорошее описание.[/QUOTE]
На СИ понятно, хотелось бы напрямую...
 
Ладно, у Ами свои причуды. Но вот тут то чего не хватает:
require "luacom"
Код
function main()
  sh = luacom.CreateObject("WScript.Shell")
  RetCode = sh.Run("c:\Hellolua.vbs", 0, True)
  message(tostring(RetCode))
  sh = nil
end

COM exception:(..\src\library\tLuaCOM.cpp,386):Не удается найти указанный файл. Слэши пробовал во всех ориентациях...
 
Доступно ли СОМ в main()- вопрос
 
Цитата
swerg написал:
Доступно ли СОМ в main()- вопрос
Не вопрос. Просто функция main выполняется в отдельном потоке, т.е. она не мешает работе основного функционала терминала QUIK. Если скрипт маленький можно и без мэйн.
 
Sergey Gorokhov, QUIK clients support (Отказ от поддержки встроенного языка QPILE):
Цитата
Если у Вас возникнут проблемы с освоением Lua поддержка всегда поможет.

Ау! Где вы любители великого и могучего клуа? И всегда на поддержке. Как пинать купайл так сразу, а как помочь...

Цитата
Но в QPILE нет сотен тысяч функций LUA

Ага, функция есть. Результата нет...
 
Цитата
валерий написал:
Цитата
swerg   написал:
Доступно ли СОМ в main()- вопрос
Не вопрос. Просто функция main выполняется в отдельном потоке,  т.е. она не мешает работе основного функционала терминала QUIK . Если скрипт маленький можно и без мэйн.
Дело не в том маленькая или нет.
Для работы COM в потоке, в нем (в этом потоке) обязательно требуется вызвать CoInitialaize(), чего QUIK, конечно, не делает, т.к. ему это не зачем.
Посмотрите подробнее здесь, там показано как COM-вызовы использовать в main() QLua
https://quik2dde.ru/viewtopic.php?id=81

Так что есть предложение на этапе, пока вы это всё (в смысле связку с Ami) осваиваете, не трогать main(), потому как там свои нюансы.
 
Цитата
валерий написал:
Цитата
Если у Вас возникнут проблемы с освоением Lua поддержка всегда поможет.
Ау! Где вы любители великого и могучего клуа? И всегда на поддержке. Как пинать купайл так сразу, а как помочь...
Цитата
Но в QPILE нет сотен тысяч функций LUA
Ага, функция есть. Результата нет...
Дело в том, что вы не про QLua вовсе вопрос задаёте, а про то, как использовать Ami через COM-интерфейс, да еще через библиотеку luacom, которая сама по себе не сахар.

Предложение такое: приводить хотя бы рабочие (точно рабочие!!) примеры на любом другом языке для Ami, тогда еще, быть может, кто-то подскажет, как это переложить через вызовы luacom.

Без этого никто не полезет разбираться специально для вас в COM-модели Ami, потому как это очень непросто, если специально именно с этим не работать, а кому это надо.
 
Смешно - и там эксель не закрывается. Ну и зачем мне эти тысячи функций клуа, если они не работают нормально. Танцы с бубнами давно как надоели. Что купайл, что клуа можно использовать только для отслеживания позиции. Так купайла вполне достаточно.

Индикаторы на клуа считаются по многу раз - даже когда их удаляешь! По всей истории, когда на графике всего 500 свечек. Тоже не просто исправить или "кому это надо". Статфункций нет. Предлагается изобретать велосипед. Даже хэлпа вменяемого нет. Сравнить с тем же Амиброкером - там видно, что человек старается. Все описано с примерами, а что описано - работает. Язык для трейдера старается сделать проще и удобнее а не предлагает изучать тонкости объектно-ориентированного программирования.

Хотел вот на досуге ознакомиться с клуа, после того, как купайлу чуть не сделали аборт... Да уж  :cry: Конечно, если купайл все-таки прибьют, придется скрипты для отслеживания позиций переписать на клуа. Но не более. И это через 16 лет как вышла Омега Трейд Стейшн 2000.
 
Цитата
swerg написал:
Посмотрите подробнее здесь, там показано как COM-вызовы использовать в main() QLua
https://quik2dde.ru/viewtopic.php?id=81
Спасибо за ссылку, а то от поддержки которая всегда поможет и этого не дождешься. Но не помогает.
Страницы: 1
Читают тему
Наверх