Блог им. gagarin

Сможет кто помочь с LUA

    • 17 сентября 2015, 20:49
    • |
    • gagarin
  • Еще
Ребята есть код робота честно скачен с инета. Робот на основе пересечений 2 мувингов.
 

--Параметры:
p_classcode=«SPBFUT» --Код класса
p_seccode=«EDZ5» --Код инструмента
p_account="     " --Код счета
p_clientcode="          " --Клиенткий код
p_count=2 --Размер позиции
p_spread=0,001 --Проскальзывание

is_run = true
count = 0


function main()
while is_run do
sleep(2000)
robot()
end
end

function robot()
local N1=getNumCandles(«MA1»)
local N2=getNumCandles(«MA2»)
local N=getNumCandles(«Price»)
t1,n1,i1=getCandlesByIndex(«MA1», 0, N1-3, 2)
t2,n2,i2=getCandlesByIndex(«MA2», 0, N2-3, 2)
t,n,i=getCandlesByIndex(«Price», 0, N-1, 1)

--сигнал на продажу (первый мувинг пересекает втрой сверху вниз
if t1[0].close>t2[0].close and t1[1].close<t2[1].close then
Trade(«S»,count+p_count,t[0].close-p_spread)
end

--сигнал на покупку (первый мувинг пересекает второй снизу вверх
if t1[0].close<t2[0].close and t1[1].close>t2[1].close then
Trade(«B»,p_count-count,t[0].close+p_spread)
end

end

function Trade(a_oper,a_count,a_price)
if a_count>0 then
t = {
[«CLASSCODE»]=p_classcode,
[«SECCODE»]=p_seccode,
[«ACTION»]=«NEW_ORDER»,
[«ACCOUNT»]=p_account,
[«CLIENT_CODE»]=p_clientcode,
[«TYPE»]=«L»,
[«OPERATION»]=a_oper,
[«QUANTITY»]=tostring(a_count),
[«PRICE»]=tostring(a_price),
[«EXPIRY_DATE»]=«GTS»,
[«TRANS_ID»]=«1»
}
res=sendTransaction(t)
message(«Количество до »..tostring(count).." количество сделки "..tostring(a_count).." тип операции"..a_oper,1)
if a_oper==«B» then
count=count+a_count
else
count=count-a_count
end
message(«Количество после »..tostring(count),1)
end
end

function OnStop(stop_flag)
is_run=false
stop_flag=1
end


Но кога загружаю в квик вылазиет ошибка. Кто поможет?

Сможет кто помочь с LUA 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
187 | ★3
10 комментариев
создай папку в Квике LuaIndicators… в неё кидай скрипты… у тебя корневая папка стоит на рабочем столе… это неправильно
avatar
svyatoslavf, Друг, все сделал все ровно такая ошибка.
avatar
надо код тогда проверять… скорее всего там косяк… сам пока не в теме
avatar
29 строка это какая?
avatar
Karim, 29- if t1[0].close>t2[0].close and t1[1].close
avatar
Не определен массив t1. Разбирайся с функцией getCandlesByIndex(«MA1», 0, N1-3, 2) почему она не заполняет массив.
avatar
Karim, Возможно забыли указать идентификатор графика или неверный номер линии
avatar
Не так свечи в LUA добываются.
нужно задать источник данных, откуда берутся свечки:
function main()
ds = CreateDataSource(«SPBFUT»,p_seccode, INTERVAL_M10);
ds:SetUpdateCallback(cb)
local size = ds:Size()
local Open = ds:O(size)
local Open_1 = ds:O(size-1)

.......
end

function cb(index)
end
avatar
AlexShul, Друг подскажи пожалуйста куда вставлять код
avatar

Читайте на SMART-LAB:
Фото
USD/CAD: техническая рецессия Канады толкает пару к новым максимумам
Канадский доллар продолжает отступать и обновлять локальные минимумы, закрепившись выше отметки 1,39. Основным фактором давления на валюту стала...
Фото
Accent объявляет SPO фонда «Акцент 4»
Accent объявляет SPO фонда «Акцент 4»   Дополнительно будет выпущено 220 тыс. паев на сумму более 300 млн рублей. Прием...
Фото
Ближайшие события. Как к ним подготовиться инвестору
Предлагаем инвесторам обратить внимание на важные события в России и мире, которые произойдут в ближайшие недели. Есть способы заработать на...
Конспект Мозгового штурма. Инсайды с ПМЭФа. Weekly №120
Доброго дня дорогие товарищи. Сегодня у нас был традиционный мозговой штурм. Делюсь итогами штурма и инсайдами с ПМЭФа.

теги блога gagarin

....все тэги



UPDONW
Новый дизайн