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


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

СообщениеДобавлено: Чт Окт 27, 2011 7:56 am Ответить с цитатой Вернуться к началу

Инструкция
1. Файл TRANS2QUIK.dll положить в папку Амиброкера (..\AmiBroker)
обычно это C:\Program Files\AmiBroker
2. Файл QuikTrade.dll положить в папку плагинов Амиброкера (..\AmiBroker\Plugins)
3. В квике зайти в меню Торговля и там Внешние транзакции и ткнуть Начать обработку.
4. Код
В нем в строке
if (QUIK_CONNECT("C:\\QUIK") != 0)
изменить путь к квику C:\\QUIK на свой (обратить внимание на \, они должны быть двойные)
Код:

Filter = 1;

if (QUIK_IS_DLL_CONNECTED() != 10)
{
  AddTextColumn("Нет соединения с Квиком", "Проверка соединения", 1.2, colorDefault, colorRed);

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

  if(QUIK_IS_CONNECTED() == 8)
    AddTextColumn("Есть соединение", "Соединение с сервером", 1.2, colorDefault, colorGreen);
  else
    AddTextColumn("Нет соединения", "Соединение с сервером", 1.2, colorDefault, colorRed);
}

Вставить в AA.
5. Установить в АА в Apply to - current symbol
6. Установить в АА в Range - n last quotations и n = 1
7. Топтать в АА кнопку explore

Первый раз и последующие результаты будут немного разные. Просьба должить о результатах...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.

Последний раз редактировалось: 000 (Чт Окт 27, 2011 7:10 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DMITRY



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

СообщениеДобавлено: Чт Окт 27, 2011 8:48 am Ответить с цитатой Вернуться к началу

У меня результат один и тот же. В АА Тикер, Дата, Проверка соединения - Есть соединение с квиком, Соединение с сервером - Есть соединение.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Первый раз: Есть соединение с квиком - Есть соединение
Второй и последующие разы/бары все то же самое - работаеть!! Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

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

Продолжаем
Код
Код:

Filter = 1;
connection = 0;

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("555",           // OrderID - Любые цифры
                                  "NL0080000043",  // Номер счета
                                  "38205",         // Код Клиента
                                  "L",             // Тип заявки M-рыночная, L-лимитированная
                                  "EQBR",          // Код класса
                                  "LKOH",          // Символ (SECCODE)
                                  "B",             // Направление. "S" – продать, "B" – купить
                                  1800.0,          // Цена (важно правильное кол-во знаков после запятой)
                                  1);              // Лот
  AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed));
}


Подставляем свои значения в
Код:
QUIK_CONNECT("C:\\QUIK")

и в
Код:
QUIK_SEND_SYNC_NEWORDER("555",           // OrderID - Любые цифры
                                  "NL0080000043",  // Номер счета
                                  "38205",         // Код Клиента
                                  "L",             // Тип заявки M-рыночная, L-лимитированная
                                  "EQBR",          // Код класса
                                  "LKOH",          // Символ (SECCODE)
                                  "B",             // Направление. "S" – продать, "B" – купить
                                  1800.0,          // Цена (важно правильное кол-во знаков после запятой)
                                  1);              // Лот


Особенно интересно результат на фортс.

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


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

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

Снимаем заявку из стакана
Код:

Filter = 1;
connection = 0;

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)
{
  QUIK_KILL_ORDER("1",           // OrderID - Любые цифры
                  "38205",       // Код Клиента
                  "EQBR",        // Код класса
                  "LKOH",        // Символ (SECCODE)
                  "1457124699"); // Номер ордера который хотим снять
}

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


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

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

Ставим стоп-лимит
Код:

Filter = 1;
connection = 0;

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_NEW_STOP_ORDER("123",          // OrderID - Любые цифры
                              "NL0011100043", // Номер счета
                              "38202",        // Код Клиента
                              "EQBR",         // Код класса
                              "LKOH",         // Символ (SECCODE)
                              "B",            // Направление. "S" – продать, "B" – купить
                              1800.0,         // Цена
                              1801.0,         // Стоп-Цена
                              1);             // Лот
  AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed));
}

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


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

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

Снимаем Стоп-лимит
Код:

Filter = 1;
connection = 0;

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)
{
  QUIK_KILL_STOP_ORDER("123",      // OrderID - Любые цифры
                       "QJSIM",    // Код класса
                       "1109602"); // Номер ордера который хотим снять
}

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



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

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

Если для мамбы то:
1. Заявка: Тикер, дата, Соединение – Есть соединение с сервером, заявка – 5 (заявка красного цвета, повторное нажатие ничего не меняет)
2. Снять заявку: Тикер, дата, Соединение – Есть соединение с сервером (заявка исчезает, в коде не имеет значение какой номер заявки, все равно заявка исчезает)
3. Стоп-лимит: Тикер, дата, Соединение – Есть соединение с сервером, заявка – 537629 (при повторном нажатии номер заявки меняется)
4. Снять стоп – лимит: Тикер, дата, Соединение – Есть соединение с сервером (заявка исчезает, номер заявки в коде так же не имеет значения)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Тааак. Любопытненько.
Цитата:

1. Заявка: Тикер, дата, Соединение – Есть соединение с сервером, заявка – 5 (заявка красного цвета, повторное нажатие ничего не меняет)

5 обозначает ошибку в строке. Скорее всего где то ошибся в передаваемых параметрах.
Цитата:

2. Снять заявку: Тикер, дата, Соединение – Есть соединение с сервером (заявка исчезает, в коде не имеет значение какой номер заявки, все равно заявка исчезает)

А если стоят 2 заявки, то какая тогда исчезнет? Или все?
Цитата:
3. Стоп-лимит: Тикер, дата, Соединение – Есть соединение с сервером, заявка – 537629 (при повторном нажатии номер заявки меняется)

При повторном нажатии ставиться второй стоп по тем же ценам.
Цитата:

4. Снять стоп – лимит: Тикер, дата, Соединение – Есть соединение с сервером (заявка исчезает, номер заявки в коде так же не имеет значения)

Опять. А если стопов 2? Оба сразу снимуться?

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



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

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

Олег, сразу предупреждаю, что не роботами торгую, поэтому может где-то чего недопонимаю, я так для познания, ну и помочь. Smile
1. Лично в моих параметрах ошибки вроде нет, с этого окна копировал в остальные. Торги на ММВБ закончены, может по этому.
2. Немного не правильно написал, исчезает столбец заявки, а так-то наверное все по номеру.
3. Да стоп ставится по тем же ценам, в квике все отобразились.
4. Здесь все нормально работает, какой номер забил, такой и снялся.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Спасибо

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



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

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

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


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

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

У тебя точно стоит в Apply to - current symbol ??

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



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

СообщениеДобавлено: Пт Окт 28, 2011 8:57 am Ответить с цитатой Вернуться к началу

Сейчас еще перепроверил, все правильно. Кстати сейчас торги начались. Просто заявки тоже заработали. Заявки и стоп - заявки при одном нажатии отправляются парами.
Посмотреть профиль Отправить личное сообщение
Nero Wolfe



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

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

А что это тут происходит?
Неужель торговый плагин для квика для отправки транзакций через АПИ??

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen