Re: Общие вопросы по написанию скриптов LUA.
Принципиально это тоже самое что и первая таблица
settings = {
[common] = {
[_KIND] = 2, -- для демо счета 0
-- для реальных торгов 2
[TRADE_ACC] = "0123456789", -- торговый счет
[CLIENT_CODE] = "0123456", -- код клиента
}
[individual] = {
[SEC] = {
"RUAL",
"AFKS",
}
[CLASS] = {
"TQBR",
"TQBR",
}
[uniq_trans_id] = {
0x20000
0x21000
}
}
}
Хотя это мой косяк, в самом вопросе содержалась ошибка...
Здесь к общим настройкам я обращаюсь как settings.common... Вроде все гладко.
А вот элемент [individual] таблицы settings уже необходимо индексировать.
settings = {
[common] = {
[_KIND] = 2, -- для демо счета 0
-- для реальных торгов 2
[TRADE_ACC] = "0123456789", -- торговый счет
[CLIENT_CODE] = "0123456", -- код клиента
}
[individual.RUAL] = {
[CLASS] = "TQBR",
[trigger_1] = 0
[trigger_2] = 0
[percent] = 0
[portfolio] = 0
[Block_sell_Case] = 0
[uniq_trans_id] = 0x20000
}
[individual.AFKS] = {
[CLASS] = "TQBR",
[trigger_1] = 1
[trigger_2] = 1
[percent] = 1
[portfolio] = 1
[Block_sell_Case] = 0
[uniq_trans_id] = 0x21000
}
}
Массив задан неверно, но это я для наглядности, т.е. наборы имен полей для обоих индексов в массиве одинаковый, а вот их значения могут быть разные. Т.е. нужное значение из общих параметров выдергиваем settings.common, и пока все должно работать как задумано, а вот из поля individual значения надо дергать примерно как то settings.individual["AFKS"].uniq_trans_id или что тоже самое settings.individual[dlimit.sec_code].uniq_trans_id, если конечно же принять во внимание, что колбэк OnDepoLimit(dlimit) вернул в этом поле строку "AFKS".