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


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

СообщениеДобавлено: Пн Ноя 07, 2011 3:31 pm Ответить с цитатой Вернуться к началу

Да.
Проверил бы на ФОРТС....

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



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

СообщениеДобавлено: Ср Ноя 09, 2011 1:29 pm Ответить с цитатой Вернуться к началу

А описание всего api есть?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 09, 2011 1:53 pm Ответить с цитатой Вернуться к началу

??? В хелпере Квика...

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



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

СообщениеДобавлено: Чт Ноя 10, 2011 2:34 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Да.
Проверил бы на ФОРТС....

На следующей неделе обязательно займусь Smile

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
kosbar



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

СообщениеДобавлено: Чт Ноя 10, 2011 5:19 pm Ответить с цитатой Вернуться к началу

Проверил на FORTS - работает! Побыстрее будет, чем через файлик, жаль наличие позиции нельзя тоже через эту dll брать.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Чт Ноя 10, 2011 6:10 pm Ответить с цитатой Вернуться к началу

Увы, в API совсем нет механизма получения текущей позиции. По крайней мере хоть сразу исзвестно прошла заявка или нет...

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



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

СообщениеДобавлено: Чт Ноя 10, 2011 9:18 pm Ответить с цитатой Вернуться к началу

Всё равно спасибо! Нужная штука!
Посмотреть профиль Отправить личное сообщение ICQ Number
Nero Wolfe



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

СообщениеДобавлено: Ср Ноя 16, 2011 1:46 pm Ответить с цитатой Вернуться к началу

Как обещал, проверил - все работает и на ФОРТС.
Хотелось бы теперь шаблон робота с новыми наработками увидеть Smile, который передает заявки через АПИ, а не через файл.

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Ноя 16, 2011 2:24 pm Ответить с цитатой Вернуться к началу

Обязательно. Но через пару недель...

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



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

СообщениеДобавлено: Чт Ноя 17, 2011 6:21 pm Ответить с цитатой Вернуться к началу

А чо там с шаблоном? Есть же уже с файлами (хотя бы в моей теме глянь), всё заменить да пользовать! Или какие-то подводные камни имеются?
Кстати, вот прикладываю, как и обещал, портфельчик на qpile, который проверяет табличку позиций по фьючерсам. Программка прогоняет всю таблицу, на каждый контракт создает отдельный файл, берёт текущую чистую позицию по контракту и пишет её в файлик с именем контракта.
Т.е. если купить 2 контракта SBRF-12.11 будет произведена запись "2" в SRZ1.LOG, если продать, то файл очистится и запишется "0"...
Короче теперь имеем обратную связь от Quik'a =))
P.S. Не забыть поменять путь в файле, если кому нужно, а я думаю нужно))))
Посмотреть профиль Отправить личное сообщение ICQ Number
kosbar



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

СообщениеДобавлено: Пт Ноя 18, 2011 4:34 pm Ответить с цитатой Вернуться к началу

ЫЫЫ, вот я тормоз, у Олега функция QUIK_SEND_SYNC_NEWORDER как раз и возвращает номер ордера! =)))))
Тогда такой вопрос Олег - какое назначение имеет OrerID? У тебя прокомментировано как "Любые цифры", оно вообще играет какую-нибудь роль?
Посмотреть профиль Отправить личное сообщение ICQ Number
Nero Wolfe



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

СообщениеДобавлено: Вт Дек 06, 2011 3:49 pm Ответить с цитатой Вернуться к началу

Цитата:
Надеюсь всетаки закончить и разместить главу учебника про использование Аккаунт менеджера.
Не знаю как с роботом на API Квика. Появились другие планы по поводу роботов. С Квиком совсем не работаю.


Олег, я так понимаю, на нового робота через Апи ты забил?

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Дек 06, 2011 5:20 pm Ответить с цитатой Вернуться к началу

Нет. Не забыл.
Просто кое что надо доделать а оно затянулось...
Но в принципе все готово. Еще немного придется подождать...

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



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

СообщениеДобавлено: Вт Дек 06, 2011 11:57 pm Ответить с цитатой Вернуться к началу

А я тут уже всю голову изломал, пытаясь реализовать с этой новой DLL от Олега, идею "один бар - одна сделка"!
Код примерно такой:
Код:
pos = ReadPos(); //читаем позицию
Ord[0] = 0;       //инициализируем переменную под номера ордеров
ID[0] = 0;       //идентификатор бара

for( i = 1; i < BarCount; i++ )
{
   if(LONG[i] AND pos[i] == 0 AND ID[i] < i)
   //если сигнал BUY и нет позиции и новый бар:

   {
      price = LastValue(Close) + Otstup;   //берём цену
      Ord = Order("B", price, Lot);       //посылаем ордер
      writepos(1);                     //пишем позицию
      ID[i] = i;                         //теперь бра для нас устарел
   }
   else if(exlong[i] AND pos[i] == 1 AND ID < i)
   //если сигнал SELL и нет позиции и новый бар:
   {
      price = LastValue(Close) - Otstup;   //берём цену
      Ord = Order("S", price, pos);      //посылаем ордер
      writepos(0);                     //пишем позицию
      ID[i] = i;                        //теперь бра для нас устарел
   }
   else
   {
      ID[i] = ID[i-1];                  //в крайнем случае бар
                                    //остаётся для нас новым
   }
}

Такой код при сигнале Buy начинает остервенело посылать кучу ордеров на покупку, параллельно подвешивая Ami
В чем подвох хоть убей не пойму. Sad
P.S. в роботе с файлами ID транзакции выполняло роль фильтра таким образом можно было исключить повторных ордеров на одном баре.
Посмотреть профиль Отправить личное сообщение ICQ Number
Nero Wolfe



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

СообщениеДобавлено: Чт Дек 08, 2011 1:43 pm Ответить с цитатой Вернуться к началу

Цитата:
А чо там с шаблоном? Есть же уже с файлами (хотя бы в моей теме глянь), всё заменить да пользовать! Или какие-то подводные камни имеются?


Насколько я понимаю, в прежнем роботе (через файлы) нужно заменить функцию makeandsave примерно вот так: (могу ошибаться, вернее скорее всего и ошибаюсь Smile )
Код:
transid = FullName()+LastValue(TimeNum())+dir;
connection = 0;

procedure makeandsave(sOper, sprice, lot)
{

if (QUIK_IS_DLL_CONNECTED() != 10)
{
  if (QUIK_CONNECT("C:\\QUIK") != 0)
  {
    text = "Не могу установить соединение с Квиком";
    Color = colorRed;
  }
  else
  {
    if(QUIK_IS_CONNECTED() == 8)
    {
      text = "Есть соединение с сервером";
      Color = colorGreen;
      connection = 1;
    }
    else
    {
      text = "Нет соединения с сервером";
      Color = colorRed;
    }
  }
}
else
{
  if(QUIK_IS_CONNECTED() == 8)
  {
    text = "Есть соединение с сервером";
    Color = colorGreen;
    connection = 1;
  }
  else
  {
    text = "Нет соединения с сервером";
    Color = colorRed;
  }
}
AddTextColumn(text, "Соединение", 1.2, colorDefault, color);

if(connection)
{
  Order = QUIK_SEND_SYNC_NEWORDER("transid",           // OrderID - Любые цифры
                                  "Account",  // Номер счета
                                  "Client",         // Код Клиента
                                  "L",             // Тип заявки M-рыночная, L-лимитированная
                                  "EQBR",          // Код класса
                                  "Name()",          // Символ (SECCODE)
                                  "sOper",             // Направление. "S" – продать, "B" – купить
                                  sprice,          // Цена (важно правильное кол-во знаков после запятой)
                                  lot);              // Лот
  AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed));
}
}


или еще какие закавыки есть??

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen