Всем добрый день.
Есть такой код Lua, который работает только по одному инструменту: при запуске в Quik смотрит цену открытия и закрытия, и если цена закрытия становится больше цены открытия на 5%, то покупает по рынку 1 лот.
Подскажите, пожалуйста, что добавить в скрипт, чтобы можно было запустить его один раз, чтобы постоянно мониторил цену, пока не отключишь его.
А если необходимо сканировать несколько инструментов, например, SIBN, SBER, как нужно изменить скрипт?
Я начал изучать Lua на прошлой неделе, поэтому мой уровень почти нулевой. Буду благодарен, если дадите какие-либо наводки, что изучать.
Есть такой код Lua, который работает только по одному инструменту: при запуске в Quik смотрит цену открытия и закрытия, и если цена закрытия становится больше цены открытия на 5%, то покупает по рынку 1 лот.
Подскажите, пожалуйста, что добавить в скрипт, чтобы можно было запустить его один раз, чтобы постоянно мониторил цену, пока не отключишь его.
А если необходимо сканировать несколько инструментов, например, SIBN, SBER, как нужно изменить скрипт?
| Код |
|---|
stopped = false
function OnStop()
stopped = true
return 5000
end
function main()
ticker = "SIBN"
ds1, err = CreateDataSource("TQBR", ticker, INTERVAL_D1);
sleep(400)
CandleNum = ds1:Size()
PriceC = ds1:C(CandleNum)
PriceO = ds1:O(CandleNum)
if PriceC > PriceO * 1.05 then -- Если цена закрытия становится больше цены открытия на 5%, то покупаем по рынку 1 лот
A = {
ACTION = 'NEW_ORDER',
ACCOUNT = 'xxxxxxxxxxx',
OPERATION = 'B', -- 'B' - покупка, 'S' - продажа
CLASSCODE = 'TQBR',
SECCODE = ticker,
PRICE = tostring(0),
QUANTITY = tostring(1), -- количество лотов
TRANS_ID = tostring(1000), -- идентификатор транзакции, чтобы программа распознавала транзакции, когда много сделок
TYPE = 'M'
}
Err_A = sendTransaction(A)
message("error: "..Err_A)
end
end
|
Я начал изучать Lua на прошлой неделе, поэтому мой уровень почти нулевой. Буду благодарен, если дадите какие-либо наводки, что изучать.