Здравствуйте Помогите разобраться, почему не работает скрипт (это для нанесения сделок на график Квика) При запуске горит красный квадратик и дальше некуда Картинки buy.bmp, sell.bmp и файл trades.csv находятся в папке со скриптом --- Скрипт стащил отсюда ----------------------
function main()
local iif = function( cond, ifTrue, ifFalse )
if( cond ) then return ifTrue; end return ifFalse; end
local trades = {}; local charts = {};
local path = getScriptPath() .. "\\";
local IMAGE_BUY = path .. "buy.bmp"; local IMAGE_SELL = path .. "sell.bmp";
-- заполняем таблицу сделок for line in io.lines( path .. "trades.csv" ) do
-- суммируем лоты сделок одного инструмента в один момент времени (минута) по одинаковой цене, чтобы не заграмождать график for _, t in pairs( trades ) do if t.ticker == trade.ticker and t.timestamp == trade.timestamp and t.price == trade.price then t.lots = t.lots + trade.lots; isNewTrade = false; end end
if ( isNewTrade ) then -- запоминаем тикеры графиков, для последующий очистки charts[ trade.ticker ] = true; table.insert( trades, trade ); end
end
if( table.maxn( trades ) < 1 ) then
return; end
-- удаляем все предыдущие метки с используемых графиков for chart, _ in pairs( charts ) do
DelAllLabels( chart ); end
-- добавляем метки по таблице сделок for _, t in pairs( trades ) do
local label = { -- параметры текста метки - отрисовываются со смещением от точки сделки :-( --TEXT = iif( t.lots > 0, "5", "6" ), -- в шрифте "Webdings" это значки треугольников FONT_FACE_NAME = "Webdings", FONT_HEIGHT = 25, R = iif( t.lots > 0, 0, 255 ), G = iif( t.lots > 0, 255, 0 ), B = 0,
Если trades.csv переименовать или убрать из папки, то пишет D:\Test-Lua\LCHI.lua:19: bad argument #1 to 'lines' (D:\Test-Lua\trades.csv: No such file or directory) и оставляет красный квадратик на файлы картинок не реагирует никак Если все файлы на месте и с корректными именами, то никакой реакции на запуск скрипта нет Остается красный квадратик запуска не происходит
Простенькая рабочая программа. Скачал - запустил. Только надо, чтобы на вашем QUIK был график инструмента из файла trades.csv. И еще малость: присвоить этому графику идентификатор - код тикера. Например, "SiZ5"
XXM написал: Простенькая рабочая программа. Скачал - запустил. Только надо, чтобы на вашем QUIK был график инструмента из файла trades.csv. И еще малость: присвоить этому графику идентификатор - код тикера. Например, "SiZ5"
График инструмента RIH6 в квике есть, в файле trades.csv. этот же тикер присвоил графику идентификатор RIH6 - скрипт начал запускаться, но на 2 сек. метки не появляются даже на это короткое время не каких сообщений по ошибкам не выдает Основной квик стоит 7.1.2.2, думал возможно он лагает, попробовал на квик 6.17 таже история ;-(
Шарманка заработала, метки сделок ставит Скрипт не ставил метки поначалу из-за того, что не был прописан идентификатор на график Например, "SiZ5" А затем, забыл вернуть имена картинкам buy.bmp, sell.bmp Во время экспериментов переименовал их в buy2.bmp, sell2.bmp Идентификатор прописал, имена вернул – заработало… Метки ставит, но квадратик в окне запуска скриптов остается красный Возможно это «норма»