Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Новый плагин от АйТиИнвест. Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июн 19, 2012 4:44 pm Ответить с цитатой Вернуться к началу

Я понял так, что для каждой бумаги своя строка Open position. Так?
Если да, то просматриваем все строки Open position, находим среди них ту которая соответствует той бумаге с которой робот работает в данный момент (робот по очереди просмартивает нужные бумаги в базе Ами) берем нужное поле в строке и все, теперь знаем открытую позу по сканируемой в данный момент бумаге.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Вт Июн 19, 2012 5:17 pm Ответить с цитатой Вернуться к началу

Да так. Однако можно пока не усложнять задачу. Есть файл, в который торговая система АйТи через плагин пишет строку в случае возникновения открытой позиции. Предположим, что пока позиция одна.
Посмотреть профиль Отправить личное сообщение
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Вт Июн 19, 2012 5:37 pm Ответить с цитатой Вернуться к началу

На Сайте АйТи можно плагин скачать. И инструкция там есть в папке с плагином.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июн 19, 2012 5:48 pm Ответить с цитатой Вернуться к началу

Мне ща некогда сильно ковыряться...
Код:

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

СообщениеДобавлено: Вт Июн 19, 2012 6:02 pm Ответить с цитатой Вернуться к началу

Да. Похоже никакая function там не нужна. Просто придётся повторять куски кода, когда надо будет открывать и читать строки из файлов.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июн 19, 2012 7:45 pm Ответить с цитатой Вернуться к началу

зачем повторять? Один раз прочитал в файле то, что надо и все....

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Вт Июн 19, 2012 10:48 pm Ответить с цитатой Вернуться к началу

Открывать и читать файлы придётся периодически перед выставлением новых приказов и после отправки приказа для проверки исполнения.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Июн 19, 2012 11:01 pm Ответить с цитатой Вернуться к началу

Код AFL работает в любом случае циклически, хоть в индикаторе, хоть в AA.
Т.е. он переодически прогоняется весь. Вставляешь в код чтение файла и он его каждый прогон будет перечитывать и соответственно всегда будет знать актуальные данные из файла.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Вт Июн 19, 2012 11:15 pm Ответить с цитатой Вернуться к началу

Понятно. Спасибо.
Посмотреть профиль Отправить личное сообщение
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Пт Июн 22, 2012 6:27 pm Ответить с цитатой Вернуться к началу

Уважаемый ООО. Я написал пробные куски робота как индикатор. Пишет приказы в тестовую папку и читает файлы. Этот индикатор никуда на график не бросал. Однако постоянно в тестовой папке появляются приказы по разным инструментам. Почему это происходит и как сделать, чтобы этого не было. Он ведь сможет несанкционированные приказы потом кидать в реальную систему.
Заранее спасибо.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Июн 22, 2012 6:44 pm Ответить с цитатой Вернуться к началу

Ищи. Куда то ты его запихал... Или может это Смарт туда что то пишет....
В общем если код как индикатор нигде не висит и в АА не запущен, то такого быть не может.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Июн 22, 2012 6:46 pm Ответить с цитатой Вернуться к началу

Ну еще в Коментариях Гуру может работать код, но туда его случайно запихать трудно....

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Пт Июн 22, 2012 7:08 pm Ответить с цитатой Вернуться к началу

Название было похоже на другой индикатор. Я его делал из другого индикатора и потом немного изменил название. Однако на график его не кидал. Это абсолютно точно. Кидал другие индикаторы, из которых я делал робота, но в них нет кодов, которые делают приказы. Я сейчас переименовал этого робота. Посмотрю, что будет.
Посмотреть профиль Отправить личное сообщение
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Пт Июн 22, 2012 7:12 pm Ответить с цитатой Вернуться к началу

Смарт не может писать в тестовую папку. Все файлы тестовые, без текстов приказов. Причём я эту картину давно наблюдаю. Т.е. индюк на график не брошен, а приказы шлёт !
Посмотреть профиль Отправить личное сообщение
Старый Пень



Зарегистрирован: 22.02.2012
Сообщения: 41

СообщениеДобавлено: Пт Июн 22, 2012 7:14 pm Ответить с цитатой Вернуться к началу

Смарт не может писать в тестовую папку. Все файлы тестовые, без текстов приказов. Причём я эту картину давно наблюдаю. Т.е. индюк на график не брошен, а приказы шлёт !
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen