Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я понял так, что для каждой бумаги своя строка Open position. Так?
Если да, то просматриваем все строки Open position, находим среди них ту которая соответствует той бумаге с которой робот работает в данный момент (робот по очереди просмартивает нужные бумаги в базе Ами) берем нужное поле в строке и все, теперь знаем открытую позу по сканируемой в данный момент бумаге. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Да так. Однако можно пока не усложнять задачу. Есть файл, в который торговая система АйТи через плагин пишет строку в случае возникновения открытой позиции. Предположим, что пока позиция одна. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
На Сайте АйТи можно плагин скачать. И инструкция там есть в папке с плагином. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Мне ща некогда сильно ковыряться...
Код: |
posSBER = 0;
priceSBER =0;
nam = "SBRF-6.12_FT";
OpenPosStatement="C:/ProgramFiles(x86)/AmiBroker/transactions/OpenPosStatement.dat";
file_open_pos = fopen( OpenPosStatement, "r" );
if (file_open_pos)
{
while (!feof(file_open_pos))
{
str = fgets(file_open_pos); // читаем строки
if(StrFind(str, "Open position")) // если в строке есть "Open position"
{
if(StrFind(str, nam)) // проверяем наличие в строке нужного символа
{
posSBER = StrToNum(StrExtract(str, 2));
priceSBER = StrToNum(StrExtract(str, 3));
}
}
}
fclose(file_open_pos);
}
|
В итоге на выходе получаем позицию и цену по SBRF-6.12_FT |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Да. Похоже никакая function там не нужна. Просто придётся повторять куски кода, когда надо будет открывать и читать строки из файлов. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
зачем повторять? Один раз прочитал в файле то, что надо и все.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Открывать и читать файлы придётся периодически перед выставлением новых приказов и после отправки приказа для проверки исполнения. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код AFL работает в любом случае циклически, хоть в индикаторе, хоть в AA.
Т.е. он переодически прогоняется весь. Вставляешь в код чтение файла и он его каждый прогон будет перечитывать и соответственно всегда будет знать актуальные данные из файла. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Уважаемый ООО. Я написал пробные куски робота как индикатор. Пишет приказы в тестовую папку и читает файлы. Этот индикатор никуда на график не бросал. Однако постоянно в тестовой папке появляются приказы по разным инструментам. Почему это происходит и как сделать, чтобы этого не было. Он ведь сможет несанкционированные приказы потом кидать в реальную систему.
Заранее спасибо. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ищи. Куда то ты его запихал... Или может это Смарт туда что то пишет....
В общем если код как индикатор нигде не висит и в АА не запущен, то такого быть не может. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну еще в Коментариях Гуру может работать код, но туда его случайно запихать трудно.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Название было похоже на другой индикатор. Я его делал из другого индикатора и потом немного изменил название. Однако на график его не кидал. Это абсолютно точно. Кидал другие индикаторы, из которых я делал робота, но в них нет кодов, которые делают приказы. Я сейчас переименовал этого робота. Посмотрю, что будет. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Смарт не может писать в тестовую папку. Все файлы тестовые, без текстов приказов. Причём я эту картину давно наблюдаю. Т.е. индюк на график не брошен, а приказы шлёт ! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Старый Пень
Зарегистрирован: 22.02.2012
Сообщения: 41
|
Смарт не может писать в тестовую папку. Все файлы тестовые, без текстов приказов. Причём я эту картину давно наблюдаю. Т.е. индюк на график не брошен, а приказы шлёт ! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|