Не запускается Скрипт LUA в QUIK

Страницы: 1
RSS
Не запускается Скрипт LUA в QUIK, Хелп Не запускается Скрипт LUA в QUIK
 
Всем доброго времени суток!
Через пол года решил добавить скрипт LUA в Quik от Открытия
Сервисы->Lua скрипты...
Добавляю, нажимаю запустить и ноль внимания, ничего не происходит, красный квадрат и все, ни ошибки, ничего, хотя бы ругнулся на что-нить, игнор полный.
Простейший скрипт, туплю , поменялось может что-то?

Скрипт прикрепил

--[[
*******************************************************************
Индикатор Спреда для QUIK

*******************************************************************
]]

Settings =
{
Name = "SPRED_V.1.0",
aChartID1 = "GR1",
bMultiple1 = 0.1,
fZamedl1 = 1,
cOperation = "/",
dChartID2 = "GR2",
eMultiple2 = 100,
gZamedl2 = 1,
DateYY = "2015",
DateMM = "9",
DateDD = "16",
Delta1 = 0,
Delta2 = 0,
line =
{
 {
  Name = "SPRED",
  Color = RGB(0, 0, 255),
  Type = TYPE_LINE,
  Width = 2
 }
}
}

function Init()
 DoInit ()
return 1
end

function DoInit ()
 CLS1 = 0
 CLS2 = 0
 Close1 = 0
 Close2 = 0
end
function OnCalculate(index)
--index=1
if index == 1 then ups = 0 end
if index < 2 then return nil end
if index ~= indexNow then indexNow = index CLSP1 = CLS1 CLSP2 = CLS2 end
--message("index="..index, 1) -- выводит индекс перебора свечей графика 1
Bars1 = getNumCandles(Settings.aChartID1) -- количество свечек на графике 1
Bars2 = getNumCandles(Settings.dChartID2) -- количество свечек на графике 2
--Bars3 = getNumCandles(Settings.dChartID3) -- количество свечек на графике 3
--message("Bars1 = "..Bars1.." Bars2 = "..Bars2, 1) -- выводит количество свечек на графике 1
if Bars1 == 0 then -- если нет свечей графика 1
 message("ѓрафик с ID "..Settings.aChartID1.." не найден. Проверьте наличие идентификатора и загрузите индикатор снова.", 3) -- выводит сообщение об ошибке
 return nil -- выходим из функции ничего не рисуя
end -- выход из условия: если нет свечей графика 1
if Bars2 == 0 then -- если нет свечей графика 2
 message("ѓрафик с ID "..Settings.dChartID2.." не найден. Проверьте наличие идентификатора и загрузите индикатор снова.", 3) -- выводит сообщение об ошибке
 return nil -- выходим из функции ничего не рисуя
end -- выход из условия: если нет свечей графика 2
if index == Bars1 or index == 2 then -- если последний индекс
 tChart1, Num1, Legend1 = getCandlesByIndex(Settings.aChartID1, 0, 0, Bars1) -- информация о свечках по идентификатору 1
 tChart2, Num2, Legend2 = getCandlesByIndex(Settings.dChartID2, 0, 0, Bars2) -- информация о свечках по идентификатору 2
-- tChart3, Num3, Legend3 = getCandlesByIndex(Settings.dChartID3, 0, 0, Bars3) -- информация о свечках по идентификатору 2
end -- выход из условия: если последний индекс
tDateTime = tChart1[index-1].datetime -- таблица таймсерии
DateYY = tonumber (tDateTime.year..tDateTime.month..tDateTime.day)
DateSetYY = tonumber (Settings.DateYY..Settings.DateMM..Settings.DateDD)
if DateYY == DateSetYY then ups = 1 CLSP1 = Settings.Delta1 CLSP2 = Settings.Delta2 end

Close1=tChart1[index-1].close -- записываем Close из текущей свечи графика 1
Close2=tChart2[index-1].close -- записываем Close из текущей свечи графика 2


CLS1 = Close1*Settings.eMultiple1
CLS2 = Close2*Settings.eMultiple2

if ups == 0 then -- если меньше Даты то не строю, но всё считаю
return nil -- выходим из функции
end -- выход из условия: если меньше заданной даты
if Settings.cOperation == "-" then -- если операция вычитание
 return CLS1 - CLS2 -- если используется арбитраж разницы
 end
if Settings.cOperation == "+" then -- если операция сложение
 return CLS1 + CLS2 -- если используется арбитраж суммы
end
if Settings.cOperation == "/" then -- если операция деление
 return 100*CLS1 / CLS2 -- если используется арбитраж деления (коэффициент)
end
if Settings.cOperation == "*" then -- если операция умножение
 return CLS1 * CLS2 -- если используется арбитраж умножения
end
Close2nak=1
end -- выход из функции OnCalculate
 
Сергей,
Это индикатор, а не просто скрипт.
Для добавления индикатора, в каталоге с терминалом QUIK создайте папку LuaIndicators
и поместите код скрипта в эту папку.
После этого в списске индикаторов, при добавлении на график, появится пункт "SPRED_V.1.0" его надо добавить на график.
 
Цитата
Sergey Gorokhov написал:
Сергей  ,
Это индикатор, а не просто скрипт.
Для добавления индикатора, в каталоге с терминалом QUIK создайте папку LuaIndicators
и поместите код скрипта в эту папку.
После этого в списске индикаторов, при добавлении на график, появится пункт "SPRED_V.1.0" его надо добавить на график.
спасибо, появился. Но чет не рисует:)
 
Сергей,

Значит Вы что-то делаете не так как задумал это автор скрипта.
Судя по логике кода, нужно на каких-то графиках задать идентификатор "GR1" и "GR2".
Идентификатор задается в свойствах графика, на вкладке Дополнительно.
Какие это должны быть графики нам не известно, что задумывал автор скрипта тоже.
Лучше уточнить у него, или поискать руководство к данному коду.
 
Идентификаторы проставлены. Буду разбираться.какие должны быть графики мне понятно и логика заложенная в него.
Страницы: 1
Читают тему
Наверх