QLUA

Страницы: Пред. 1 2 3 4 5 След.
RSS
QLUA, вопросы начинающих.
 
Здравствуйте.
Подскажите, почему лучше основной код индикатора выносить в папку Include?
 
Цитата
Русский написал:
Здравствуйте.
Подскажите, почему лучше основной код индикатора выносить в папку Include?
Добрый день.

Мы таких рекомендаций не давали.
 
Цитата
Egor Zaytsev написал:
Мы таких рекомендаций не давали.
Егор, как же так?
Именно Вы мне на почту отвечали 08.11.16.
Цитата
Подскажите, нужно ли выносить код индикатора в папку Include?
В смысле, зависит от этого скорость работы терминала и нагрузка на него.
------------------------------------------------
Egor Zaytsev:   Да нужно, на скорость не зависит.
Просто я тогда не уточнил, почему нужно.
Вот сейчас решил поинтересоваться.
 
Скорее всего ответ был дан в рамках какого-то готового индикатора, который так устроен.
но в целом это прекрасно: одновременно общать на форуме и в почте ожидая, что собеседники легко сохраняют контекст таких облачных распределенных бесед
 
Цитата
swerg написал:
Скорее всего ответ был дан в рамках какого-то готового индикатора, который так устроен.
но в целом это прекрасно: одновременно общать на форуме и в почте ожидая, что собеседники легко сохраняют контекст таких облачных распределенных бесед
1. Речь не шла о каком-то конкретном индикаторе, поэтому не имеет значения контекст, способ связи и время.
2. Даже не знаю, как бы я смог без Вашего мнения по данному вопросу. Спасибо, что не пропустили моё сообщение.
 
Русский,
Никаких "нужно". Можно - да, но никто не заставляет. На Ваш вкус.
Какой-либо практической выгоды, кроме удобства разделения просто функций, от самих индикаторов, в этом месте нет.
Других "скрытых" смыслов, рекомендуем даже не начинать искать, ибо их просто нет.
 
Цитата
Sergey Gorokhov написал:
Какой-либо практической выгоды, кроме удобства разделения просто функций, от самих индикаторов, в этом месте нет.
Благодарю. Всё понятно. А то я колупаюсь с этим разделением. Где-то ещё попадалось, что при запуске терминал сканирует только папку LuaIndicators, поэтому сложные формулы лучше выносить в Include. Вот я и поинтересовался.
 
Подскажите пожалуйста, я вывожу значение RSI в созданною таблицу, значение выводится и все бы хорошо, но значение выводится с 9 знаками после запятой, не очень удобно для восприятия, подскажите, как можно сократить до 1 знака после запятой ?
 
Цитата
Optimus1 Optimus1 написал:
Подскажите пожалуйста, я вывожу значение RSI в созданною таблицу, значение выводится и все бы хорошо, но значение выводится с 9 знаками после запятой, не очень удобно для восприятия, подскажите, как можно сократить до 1 знака после запятой ?
Код
local rsiFormatted = string.format("RSI=%.1f", rsiValue)
 
А если я через название тега заношу данные в таблицу ?
 
Добрый день! Подскажите как в Lua написать код для вывода уже совершённых сделок по определённому инструменту, например Сбербанк? Спасибо!
 
Цитата
Никита Лапков написал:
Добрый день! Подскажите как в Lua написать код для вывода уже совершённых сделок по определённому инструменту, например Сбербанк? Спасибо!
Добрый день,

Документация и примеры можно скачать по ссылке: http://arqatech.com/upload/iblock/194/quik_lua.zip
Для отправки транзакций нужно использовать функцию sendTransaction.

Пример заполнения полей таблицы transaction:
transaction = {ACCOUNT="YY0070001234",
CLIENT_CODE="XXX",
TYPE="M",
TRANS_ID="7",
CLASSCODE="TQBR",
SECCODE="HYDR",
ACTION="NEW_ORDER",
OPERATION="B",
PRICE="0",
QUANTITY="15"
}
 
Добрый день! Почему в стакан не выставляются заявки по продаже ОФЗ? Не вижу ошибку в коде.
ACCOUNT=D01+; CLIENT_CODE=XXXX; TYPE=L; TRANS_ID=1; CLASSCODE=TQOB; SECCODE=SU26204RMFS; ACTION=NEW_ORDER; OPERATION=S; PRICE=99.95; QUANTITY=1;
 
Цитата
Яна написал:
Добрый день! Почему в стакан не выставляются заявки по продаже ОФЗ? Не вижу ошибку в коде.
ACCOUNT=D01+; CLIENT_CODE=XXXX; TYPE=L; TRANS_ID=1; CLASSCODE=TQOB; SECCODE=SU26204RMFS; ACTION=NEW_ORDER; OPERATION=S; PRICE=99.95; QUANTITY=1;
Добрый день.

- откройте таблицу сообщений Создать окно - Таблица сообщений и посмотрите, возможно есть ошибки при выставлении транзакции.
если ошибок нет, то
- зайдите в настройки стакана и установите галочку "Выделять свои заявки"
- также заявка может не отображаться, если стакан переполнен.  
 
Цитата
Яна написал:
Добрый день! Почему в стакан не выставляются заявки по продаже ОФЗ? Не вижу ошибку в коде.
ACCOUNT=D01+; CLIENT_CODE=XXXX; TYPE=L; TRANS_ID=1; CLASSCODE=TQOB; SECCODE=SU26204RMFS; ACTION=NEW_ORDER; OPERATION=S; PRICE=99.95; QUANTITY=1;
дополнительно проверьте отображение заявки в таблице заявок.  
 
Борис Гудылин, Добрый день,
      Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам,       что реализация пожелания признана потенциально целесообразной.       Если по результатам дальнейшего анализа, включающего юридические       аспекты, анализ на непротиворечивость с общей политикой компании,       никаких возражений не возникнет, мы постараемся включить Ваше       пожелание в план доработок при выпуске одной из следующих версий       нашего ПО.
 
Добрый день. Вот сделал свой первый индикатор на Lua. Проблема в том, что при добавлении индикатора на график, Quik надолго зависает (может, на 2-3 мин.). Это вполне ожидаемо, т.к. много вычислений. Можно ограничить расчет индикатора только последними 200 барами? Что для этого нужно?
 
function oncalculate(indx)

if indx <  Size() -200 then return end

do_calc(indx)

end
 
Спасибо, про Size() не знал. Сделал так:
Код
Settings= 
{ 
    .
    .
    depth = 200,
    .
    .

}
function OnCalculate(index)
    .
    .
    if (index < Settings.period) or (index < Size()-Settings.depth) then
        return nil
    else
 
День добрый

Заявка не выставляется при нехватке денег. А есть еще какие-нибудь причины, почему она может не пройти?
 
Арсений,
Здравствуйте,
Есть целая куча причин. Существуют разные ограничения со стороны биржи.
Например нельзя указывать слишком маленькую или слишком большую цену. Или слишком часто подавать транзакции или еще много чего. Это описано биржевых правилах торгов.
Еще Ваш брокер может настроить какие-нибудь ограничения. Это следует уточнить у брокера.
В связи с чем, всегда лучше всего сообщить текст ошибки которая возникает при неудачном выставлении.
 
Спасибо, а тогда такой вопрос

Если у меня среди переменных среды нет переменных LUA_PATH, LUA_CPATH, то в квике package.path, package.cpath имеют одни значения, привязанные к папке Квика.
Если эти переменные среды явно задать руками, то выглядит так, что они полностью переписывают квиковские на свои.

У меня вопрос. Т.е. квик не дописывает в package.path, package.cpath свои пути при запуске?
Это вообще важно для работы квика, если в package.path, package.cpath нет его путей?
Словом, что мне нужно делать, чтобы все правильно работало и не возникло потом каких-то проблем с работой квика?
 
Цитата
Арсений написал:
Если у меня среди переменных среды нет переменных LUA_PATH, LUA_CPATH, то в квике package.path, package.cpath имеют одни значения, привязанные к папке Квика.
Если эти переменные среды явно задать руками, то выглядит так, что они полностью переписывают квиковские на свои.

У меня вопрос. Т.е. квик не дописывает в package.path, package.cpath свои пути при запуске?
Это вообще важно для работы квика, если в package.path, package.cpath нет его путей?
Словом, что мне нужно делать, чтобы все правильно работало и не возникло потом каких-то проблем с работой квика?
Up
 
Цитата
Арсений написал:
они полностью переписывают квиковские на свои.
а что мешает дописать, а не переписать значения? например так:
Код
package.path=package.path..getScriptPath()
 
Цитата
Sergey Gorokhov написал:
а что мешает дописать, а не переписать значения?
Удобство. Т.е. в переменные типа  LUA_PATH у меня вписаны, по сути, пути к дополнительным модулям из интернета, они не в квиковской папке лежат. За счет этого у меня нет проблемы с require.
Единственное, что приходится прописывать в скриптах через package.path - пути к моим собственным файлам с функциями

Но вопрос в том, что ... Эти package.path\cpath сам Квик использует для чего-нибудь в своей работе? Или они в таком дефолтном виде существуют только для создателей скриптов и их удобства?
Если второе, то не о чем беспокоиться. Если первое, то их нельзя "терять" и надо вписывать тоже

Еще кстати одно неудобство возникает при
Код
package.path=package.path.."smth"
Пути неконтролируемо разрастаются от регулярных добавлений одних и тех же кусков при многократном запуске скриптов. Нужно дополнительно это чекать
 
Арсений,

Сам терминал QUIK использует папку LuaIndicators для Lua индикаторов. Остальные папки нигде не используются.
 
Цитата
Арсений написал:
при многократном запуске скриптов. Нужно дополнительно это чекать

Не нужно, т.к. переменные сбросятся в дефолтовое значение при следующем запуске скрипта
 
Цитата
Sergey Gorokhov написал:
Сам терминал QUIK использует папку LuaIndicators для Lua индикаторов. Остальные папки нигде не используются.
Спасибо!
Цитата
Sergey Gorokhov написал:
переменные сбросятся в дефолтовое значение при следующем запуске скрипта
Действительно) В Скайте, наверно, не сбрасывалось, и я решил, что тут так же) Давно тестил  
 
Цитата
s_mike@rambler.ru написал:
function oncalculate(indx)

if indx <  Size() -200 then return end

do_calc(indx)

end
Здравствуйте.А если я хочу сделать так чтобы можно было менять количество баров для расчета в самом терминале?Это можно вообще реализовать?Просто я до этого изучал только mql4 для mt4 и там можно было так прописать
 
Aidar,

Здравствуйте,
К сожалению, Вы не уточнили речь про индикаторы или про обычные lua скрипты.
Если речь про индикаторы, то в таблице Settings можно добавлять свои собственные параметры.
Если речь про обычные скрипты, то есть несколько вариантов:
1) сделать для скрипта ini файл с настройками.
2) сделать через скрипт таблицу в терминале, и установить на таблицу колбек SetTableNotificationCallback
в колбеке ловить все изменения которые происходят в таблице.
таким образом можно реализовать отдельную таблицу в которой будут нужные настройки.
 
Цитата
Sergey Gorokhov написал:
Aidar  ,

Здравствуйте,
К сожалению, Вы не уточнили речь про индикаторы или про обычные lua скрипты.
Если речь про индикаторы, то в таблице Settings можно добавлять свои собственные параметры.
Если речь про обычные скрипты, то есть несколько вариантов:
1) сделать для скрипта ini файл с настройками.
2) сделать через скрипт таблицу в терминале, и установить на таблицу колбек SetTableNotificationCallback
в колбеке ловить все изменения которые происходят в таблице.
таким образом можно реализовать отдельную таблицу в которой будут нужные настройки.
Речь про индикаторы.Я правильно понимаю что можно написать так :

Settings =
{

Name = "имя индикатора",

Size()=300;
line = {....
      }
}


У меня в функции будет присваиваться переменной количество баров .Т.е. примерно следующее

function main ()
........
number Li_32 = Size;
for (number Li_40 = Li_32; ..............)
........................
end


?
 
Aidar,
Код

Settings  =  
{ 
Name  =   "имя индикатора" , 
MY_LOVE_PARAMETER =  300,
line  =  { ..  ..  
} 
} 
 function   OnCalculate(indx) 
  if  indx  <   Size () - Settings.MY_LOVE_PARAMETER  then   return   end  
 do_calc(indx) 
 end 


 
Я правильно понимаю что в индикаторе можно объявить массив следующим образом

function Init()

..........
Mass_1={}
.................
Mass_9={}
............
return #Settings.line

end

?

Еще в Settings например можно указать

Type = TYPE_TRIANGLE_UP,  т.е. у нас на графике будет показываться стрелка вверх.Можно ли в квике сделать чтобы вместо стрелки или линий отображался другой символ  например крестик или галочка?
 
Цитата
Aidar написал:
Я правильно понимаю что в индикаторе можно объявить массив следующим образом
Можно.

Цитата
Aidar написал:
Можно ли в квике сделать чтобы вместо стрелки или линий отображался другой символ  например крестик или галочка?
такой возможности нет.
но можно вместо графика рисовать метки.
 
Здравствуйте, накопились вопросы, опишу все

1) Обнаружил случайно, что на демо по некоторым тикерам getParamEx дает инфу, хотя в ТТП их нет.
Проверил сегодня на рабочей - так же. Вопрос скорее в целом, хочется понимать - почему такое возможно?
И как влияет удаление инструмента из таблицы на дальнейшее получение инфы по нему?

2) На форуме встречается фраза "перезаказ данных". Это имеется ввиду "Система-Заказ данных-Перезаказать данные" или еще что-то скриптовое?

3) Сделки в ТОС по тикеру всегда поступают последовательно от первой в сессии и упорядоченно по времени их совершения или необязательно? При условии, что не было потерь при передаче данных.

4) Если в процессе передачи данных от брокера случился сбой интернета и часть сделок до моей ТОС не дошла - это как-то обнаружится терминалом
в процессе работы или за этим надо следить самому?

5) Возникла реальная ситуация на рабочем квике. Где-то в 23:30 по Москве решил, что в ТОС мне нужно добавить еще пару колонок параметров и
добавить с пару десятков инструментов. Сначала сделал это в одной таблице, но при выгрузке в эксел превысилось максимальное допустимое число
строк в файле. Ок, разбил на несколько таблиц. В общем, пока это все делалось, аккурат время зашло за 23:50. Тем не менее, количество строк
в таблицах не увелчивалось уже и я начал выгрузку данных в файлы. В итоге оказалось, что в примерно половине тикеров в одной из колонок
не прогрузились данные полностью - часть полей оказались нулевыми. К слову, в последующие дни таких проблем не возникало.
У меня вопрос - как бороться с такими ситуациями? Т.е. сделки, в смысле их числа = количество строк в ТОС оказалось корректным - именно
столько сделок и было на момент окончания сессии, но по некоторым сделкам данные не загрузились полностью.
Могло ли это быть связано с временем, когда я это делал? Мол если бы это было в разгар сессии, то данные догрузились бы.
Или данные по сделке всегда подгружаются целиком и не могут приходить частями?
И все же что делать в такой ситуации? Перезаказывать данные или заново делать CreateDataSource в скрипте?

6) Если я правильно понял(поправьте, если нет) данные о торгах, которые приходят в квик, можно разделить на две части: данные за текующую торговую сессию, которые используются соответствующими таблицами, и данные за гораздо больший период, которые используют графики. И последние, в отличие
от первых, сохраняются локально на комп.
Перезаказ данных из меню позволяет удалять полностью и те, и те.

7) Последовательный вызов CreateDataSource (с колбеком) с одними и теми же параметрами без промежуточных Close() приводит к увеличению числа объектов
или некий объект создается один раз, а множатся только ссылки?

8) Нетиковый вызов CreateDataSource с колбеком как-нибудь повлияет на ТОС?

9) Я читал на форуме уже немало про асинхронность (хотя не все, вероятно), но все же, встретились противоречивые комментарии. Уточню еще раз.
ТОС, ТТП и CreateDataSource живут в своих независимых потоках данных каждый? Или все-таки какие-то пересечения есть?
Не очень понятен еще такой момент, как связаны getNumberOf("all_trades") и ds:Size() для тиковых данных.
 
Попытался написать совсем простой скрипт
IsRun = true;
function main()
    while IsRun do
    message("ok",2);
    sleep(1000);
    end;
end;
function OnStop()
    IsRun = false;
end;
Добавляю скрипт в сервисе quik. Запускаю. Красный квадрат меняется на зеленый треугольник. Ошибок не выдает. Но ничего не происходит.
qlua.dll есть.
message() ставил в разные места скрипта.
Подскажите, в чем может быть дело.
Спасибо.
 
В QLUA есть возможность Возвращать значение тикового объема бара?
 
Aidar,
Да такая возможность есть.
например с тикового графика.
 
Игорь Б,

Проблема не в коде, код работает.
Возможно в терминале у Вас просто отключен вывод сообщений?
Проверьте в таблице сообщений, есть ли там записи
 
Sergey Gorokhov,
Цитата
Sergey Gorokhov написал:
Игорь Б  ,

Проблема не в коде, код работает.
Возможно в терминале у Вас просто отключен вывод сообщений?
Проверьте в таблице сообщений, есть ли там записи
 
Да, действительно.
Спасибо.
 
Цитата
Sergey Gorokhov написал:
Aidar  ,
Да такая возможность есть.
например с тикового графика.
не совсем понятно как прописать.А если я хочу применять индикатор на разных таймфреймах?
 
Цитата
Aidar написал:
Цитата
Sergey Gorokhov   написал:
Aidar  ,
Да такая возможность есть.
например с тикового графика.
не совсем понятно как прописать.А если я хочу применять индикатор на разных таймфреймах?

Если Вам нужно получать свежие тики, то они и так попадают в OnCalculate, т.к. он срабатывает при каждом изменении.
Если нужно получать тики за прошлые периоды, то это можно получить только через GetItem
 
Цитата
Sergey Gorokhov написал:
Цитата
Если Вам нужно получать свежие тики, то они и так попадают в OnCalculate, т.к. он срабатывает при каждом изменении.
Если нужно получать тики за прошлые периоды, то это можно получить только через GetItem
Мне надо тиковые объемы текущие и прошлые за количество баров которые я указал в вашей подсказке

Settings  =  
{
Name  =   "имя индикатора" ,
MY_LOVE_PARAMETER =  300,
line  =  { ..  ..  
}
}
function   OnCalculate(indx)
 if  indx  <   Size () - Settings.MY_LOVE_PARAMETER  then   return   end  
do_calc(indx)
end

Т.е. по идее у меня индикатор должен работать с 300 (или иным заданным количеством) барами.Не совсем понятно как прописать так чтобы он брал и текущие и прошлые значения тикового объема.
 
Aidar,

Может мы говорим про разные вещи?
Что именно Вы понимаете под термином "тиковый" объем?
 
Цитата
Sergey Gorokhov написал:
Aidar  ,

Может мы говорим про разные вещи?
Что именно Вы понимаете под термином "тиковый" объем?
Если брать ФОРЕКС и мт4 то
"Тиковый объем (англ. tick volume) – это количество тиков за некоторый период времени, соответствующее частоте изменений цены маркет-мейкером рынка и не связанное с объемом сделок."
В QLUA я так понимаю можно использовать просто объем который был на каждом баре?
Извиняюсь за глупые вопросы,я пока что учусь QLUA
 
Цитата
Aidar написал:
"Тиковый объем (англ. tick volume) – это количество тиков за некоторый период времени, соответствующее частоте изменений цены маркет-мейкером рынка и не связанное с объемом сделок."
Судя по определению, объем который Вы видите на графике, это не то что Вам нужно.

Цитата
Aidar написал:
Извиняюсь за глупые вопросы,я пока что учусь QLUA
QLUA тут вообще не причем. Т.к. происходит непонимание на уровне того что Вам нужно, а не на уровне кода.
Давайте вообще забудем про QLUA и посмотрим обычный терминал QUIK.
В обычном терминале QUIK Вы где-нибудь видите нужное Вам значение?
 
Цитата
Sergey Gorokhov написал:
QLUA тут вообще не причем. Т.к. происходит непонимание на уровне того что Вам нужно, а не на уровне кода.
Давайте вообще забудем про QLUA и посмотрим обычный терминал QUIK.
В обычном терминале QUIK Вы где-нибудь видите нужное Вам значение?
Я так понимаю что в КВИКЕ это Поток обезличенных сделок.В обычном терминале нет доступа на сколько я знаю,если только не запросить у брокера чтобы он траслировал их в терминал
 
Добрый день.

Цитата
1) Обнаружил случайно, что на демо по некоторым тикерам getParamEx дает инфу, хотя в ТТП их нет.  Проверил сегодня на рабочей - так же. Вопрос скорее в целом, хочется понимать - почему такое возможно? И как влияет удаление инструмента из таблицы на дальнейшее получение инфы по нему?

Добрый день.

Скорее всего эти данные у Вас заказаны в пункте меню Система - Заказ данных - Поток котировок.
Qlua работает не с таблицами, а с данными с сервера.

Цитата
2) На форуме встречается фраза "перезаказ данных". Это имеется ввиду "Система-Заказ данных-Перезаказать данные" или еще что-то скриптовое?
Да.

Цитата
3) Сделки в ТОС по тикеру всегда поступают последовательно от первой в сессии и упорядоченно по времени их совершения или необязательно? При условии, что не было потерь при передаче данных.
Да.

Цитата
4) Если в процессе передачи данных от брокера случился сбой интернета и часть сделок до моей ТОС не дошла - это как-то обнаружится терминалом  в процессе работы или за этим надо следить самому?
После очередного подключения данные по обезличенным сделкам прокачается в полном объеме.
Если в пункте меню Система - Заказ данных - Заказ обезличенных сделок стоит признак "Получать информацию по всем обезличеным сделкам с текущего момента"
То соответственно при подключении вы получите данные только с этого момента.

Цитата
5) Возникла реальная ситуация на рабочем квике. Где-то в 23:30 по Москве решил, что в ТОС мне нужно добавить еще пару колонок параметров и  добавить с пару десятков инструментов. Сначала сделал это в одной таблице, но при выгрузке в эксел превысилось максимальное допустимое число строк в файле. Ок, разбил на несколько таблиц. В общем, пока это все делалось, аккурат время зашло за 23:50. Тем не менее, количество строк в таблицах не увелчивалось уже и я начал выгрузку данных в файлы. В итоге оказалось, что в примерно половине тикеров в одной из колонок  не прогрузились данные полностью - часть полей оказались нулевыми. К слову, в последующие дни таких проблем не возникало. У меня вопрос - как бороться с такими ситуациями? Т.е. сделки, в смысле их числа = количество строк в ТОС оказалось корректным - именно столько сделок и было на момент окончания сессии, но по некоторым сделкам данные не загрузились полностью. Могло ли это быть связано с временем, когда я это делал? Мол если бы это было в разгар сессии, то данные догрузились бы.  Или данные по сделке всегда подгружаются целиком и не могут приходить частями? И все же что делать в такой ситуации? Перезаказывать данные или заново делать CreateDataSource в скрипте?
Здесь нужно рассматривать конкретный пример с данными выгрузки, как понимаем Вы это делали при помощи Qlua.
Цитата
6) Если я правильно понял(поправьте, если нет) данные о торгах, которые приходят в квик, можно разделить на две части: данные за текующую торговую сессию, которые используются соответствующими таблицами, и данные за гораздо больший период, которые используют графики. И последние, в отличие от первых, сохраняются локально на комп. Перезаказ данных из меню позволяет удалять полностью и те, и те.
Да. На графике данные транслируются с сервера брокера, однако в последних версиях QUIK можно дополнительно хранить историю локально на компьютере.
Однако при перезаказе именно архивов графиков, эта накопленная информация удалится.

Цитата
7) Последовательный вызов CreateDataSource (с колбеком) с одними и теми же параметрами без промежуточных Close() приводит к увеличению числа объектов или некий объект создается один раз, а множатся только ссылки?   8) Нетиковый вызов CreateDataSource с колбеком как-нибудь повлияет на ТОС?  9) Я читал на форуме уже немало про асинхронность (хотя не все, вероятно), но все же, встретились противоречивые комментарии. Уточню еще раз. ТОС, ТТП и CreateDataSource живут в своих независимых потоках данных каждый? Или все-таки какие-то пересечения есть? Не очень понятен еще такой момент, как связаны getNumberOf("all_trades") и ds:Size() для тиковых данных.

На эти вопросы ответим позднее.
 
Цитата
Egor Zaytsev написал:
Скорее всего эти данные у Вас заказаны в пункте меню Система - Заказ данных - Поток котировок.
Да, так и есть. Ясно, спасибо)

Цитата
Egor Zaytsev написал:
Здесь нужно рассматривать конкретный пример с данными выгрузки, как понимаем Вы это делали при помощи Qlua.
Нет, на тот момент я еще не умел сохранять историю через Qlua, поэтому делал все по "Вывод через DDE".
Выше вы ответили, что ТОС должен прогружаться полностью по идее.. С того момента я не открывал те файлы, бо расстроила история. Но сейчас открыл на спокойную голову и понял, что
там всё не совсем так, как я описал. Я тогда изучу внимательнее и отпишусь позже, если будет резон.
Непрогруженным значением был открытый интерес. Но беглый взгляд показывает, что как будто в котировки, а я запрашивал только и исключительно фьючерсы(!), добавились какие-то акции, у которых ОИ конечно же равен нулю.
Я акциями вообще не торгую и не торговал пока, и уж тем более заказывать их в ТОС - не делал ни разу.
И такое впечатление, что это добавилось во все или почти все файлы, одно и тоже. И кроме того там есть какой-то странный мусор - сделки до открытия сессии:
time=9:59:59.352; price=148.5 И их много таких на 9:59:59

Вообще, у меня было открыто довольно много таблиц ТОС - может 20-25. Т.е. изначально одна или две, но после того, как не получилось засейвить, решил сделать отдельную по каждому интересовавшему инструменту.
И расстройство вызвало то, что в почти всех были эти нули в ОИ в некоторых местах. Полчаса усилий и спешки успеть до закрытия рынка, казалось, пошли насмарку. Так что я, наверно, даже не все файлы и сохранил в итоге.
Но в целом все равно немного странная история.
 
Цитата
Sergey Gorokhov написал:
Settings  =  
{
Name  =   "имя индикатора" ,
MY_LOVE_PARAMETER =  300,
line  =  { ..  ..  
}
}
function   OnCalculate(indx)
 if  indx  <   Size () - Settings.MY_LOVE_PARAMETER  then   return   end  
do_calc(indx)
end
При запуске выводит ошибку
attempt to compare nil with number

на эту строку
if indx < Size()-Settings.MY_LOVE_PARAMETER then return end
Страницы: Пред. 1 2 3 4 5 След.
Читают тему (гостей: 1)
Наверх