Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 След. |
Автор |
Сообщение |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
Кажись такое может быть если, например, цена не кратна размеру тика. |
Может дело в дробных значениях тика и отступа? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
если не больше двух знаков после запятой, то не должно. А какой класс написал? И лот? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
если не больше двух знаков после запятой, то не должно. А какой класс написал? И лот? |
else if(Name() == "SBERst2") { //Символ как он называется в Ами
SecCode = "SBER";
Class = "RTSST";
Lots = 1;
TickS = 0.01; // Минимальный шаг цены торгуемой бумаги
Otstup = 0.02; |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Почти наверняка накосорезил или с аккаунтом или с кодом клиента. Спроси у своей техподдержки.
Если толку не будет - пиши. Попробуем так расковырять причину. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
Почти наверняка накосорезил или с аккаунтом или с кодом клиента. Спроси у своей техподдержки.
Если толку не будет - пиши. Попробуем так расковырять причину. |
А можно как нибудь сделать, чтобы при отправке транзакции в текстовый файл записались все параметры отправляемой заявки? Тогда мы увидим то ли там пишется и тогда уже можно будет в тех. поддержку обращаться
Кстати нашел описание похожей проблемы на сайте Квика
http://quik.ru/forum/import/82308/82313/
Ответов там пока нет |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Нет. Там не та же проблема. Там Квик типа молча хавает заявку, но на сервер не отправляет, а у тебя он конкретно ругается на неправильные данные.
Можно вот еще что попробовать.
Вот код
Код: |
Filter = 1;
connection = 0;
QC = QUIK_CONNECT("C:\\QUIK");
if (QC == 1)
{
connection = 1;
text = "Есть соединение с сервером";
Color = colorGreen;
connection = 1;
}
else if (QC == -1)
{
text = "нет соединения с квиком";
Color = colorRed;
}
else if (QC == -2)
{
text = "нет соединения с сервером";
Color = colorRed;
}
else
{
text = "фигня какая то";
Color = colorRed;
}
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170);
order = "-100";
if(connection == 1)
{
Order = AS_STRING_ORDER("ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=L; TRANS_ID=1; CLASSCODE=EQBR; SECCODE=RU0008943394; ACTION=NEW_ORDER; OPERATION=S; PRICE=43,21; QUANTITY=3;");
AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed), 90);
}
|
В функцию AS_STRING_ORDER тупо вставляется строка в таком виде как она должна пойти в tri. Я то просто скопировал из хелпера Квика, а ты замени то, что надо и попробуй. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
Нет. Там не та же проблема. Там Квик типа молча хавает заявку, но на сервер не отправляет, а у тебя он конкретно ругается на неправильные данные.
Можно вот еще что попробовать.
Вот код
Код: |
Filter = 1;
connection = 0;
QC = QUIK_CONNECT("C:\\QUIK");
if (QC == 1)
{
connection = 1;
text = "Есть соединение с сервером";
Color = colorGreen;
connection = 1;
}
else if (QC == -1)
{
text = "нет соединения с квиком";
Color = colorRed;
}
else if (QC == -2)
{
text = "нет соединения с сервером";
Color = colorRed;
}
else
{
text = "фигня какая то";
Color = colorRed;
}
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170);
order = "-100";
if(connection == 1)
{
Order = AS_STRING_ORDER("ACCOUNT=NL0080000043; CLIENT_CODE=467; TYPE=L; TRANS_ID=1; CLASSCODE=EQBR; SECCODE=RU0008943394; ACTION=NEW_ORDER; OPERATION=S; PRICE=43,21; QUANTITY=3;");
AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed), 90);
}
|
В функцию AS_STRING_ORDER тупо вставляется строка в таком виде как она должна пойти в tri. Я то просто скопировал из хелпера Квика, а ты замени то, что надо и попробуй. |
Проверил!
Идут заявки!
Filter = 1;
connection = 0;
QC = AS_QUIK_CONNECT("C:\\QUIK-TEST");
if (QC == 1)
{
connection = 1;
text = "Есть соединение с сервером";
Color = colorGreen;
connection = 1;
}
else if (QC == -1)
{
text = "нет соединения с квиком";
Color = colorRed;
}
else if (QC == -2)
{
text = "нет соединения с сервером";
Color = colorRed;
}
else
{
text = "фигня какая то";
Color = colorRed;
}
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170);
order = "-100";
if(connection == 1)
{
Order = AS_STRING_ORDER("ACCOUNT=SPBFUT00RF7; CLIENT_CODE=11369/02; TYPE=L; TRANS_ID=1; CLASSCODE=RTSST; SECCODE=SBER; ACTION=NEW_ORDER; OPERATION=S; PRICE=83; QUANTITY=1;");
AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed), 90);
}
Что это означает? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Это может обозначать много чего.
Но в нашем случае самое главное, что на стандарт тоже можно отправлять заявки через API. В крайнем случае можно для этого пользоваться функцией AS_STRING_ORDER(), что ни чуть не хуже, просто чуть менее удобно.
Ну давай все таки попробуем отправить заявку функцией AS_QUIK_SEND_SYNC_NEWORDER
Попробуй вот такой код
Код: |
Filter = 1;
ACCOUNT = "SPBFUT00RF7";
CLIENT_CODE = "11369/02";
CLASSCODE = "RTSST";
SECCODE = "SBER";
connection = 0;
QC = QUIK_CONNECT("C:\\QUIK");
if (QC == 1)
{
connection = 1;
text = "Есть соединение с сервером";
Color = colorGreen;
connection = 1;
}
else if (QC == -1)
{
text = "нет соединения с квиком";
Color = colorRed;
}
else if (QC == -2)
{
text = "нет соединения с сервером";
Color = colorRed;
}
else
{
text = "фигня какая то";
Color = colorRed;
}
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170);
order = "-100";
if(connection == 1)
{
Order = AS_QUIK_SEND_SYNC_NEWORDER("1", ACCOUNT, CLIENT_CODE, "L", CLASSCODE, SECCODE, "S", 83, 1);
AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed), 90);
}
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
Это может обозначать много чего.
Но в нашем случае самое главное, что на стандарт тоже можно отправлять заявки через API. В крайнем случае можно для этого пользоваться функцией AS_STRING_ORDER(), что ни чуть не хуже, просто чуть менее удобно.
Ну давай все таки попробуем отправить заявку функцией AS_QUIK_SEND_SYNC_NEWORDER
Попробуй вот такой код
Код: |
Filter = 1;
ACCOUNT = "SPBFUT00RF7";
CLIENT_CODE = "11369/02";
CLASSCODE = "RTSST";
SECCODE = "SBER";
connection = 0;
QC = QUIK_CONNECT("C:\\QUIK");
if (QC == 1)
{
connection = 1;
text = "Есть соединение с сервером";
Color = colorGreen;
connection = 1;
}
else if (QC == -1)
{
text = "нет соединения с квиком";
Color = colorRed;
}
else if (QC == -2)
{
text = "нет соединения с сервером";
Color = colorRed;
}
else
{
text = "фигня какая то";
Color = colorRed;
}
AddTextColumn(text, "Соединение", 1.2, colorDefault, color, 170);
order = "-100";
if(connection == 1)
{
Order = AS_QUIK_SEND_SYNC_NEWORDER("1", ACCOUNT, CLIENT_CODE, "L", CLASSCODE, SECCODE, "S", 83, 1);
AddTextColumn(Order, "Заявка", 1.2, colorDefault, IIf(StrToNum(Order) > 100, colorGreen, colorRed), 90);
}
|
|
Все понятно! Как я и говорил отправляются заявки с целым числом например 84, а если поставить 83,9 то нет. Выдается ошибка 5. Как это можно решить? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Я думаю надо написать вместо 83,9 -> 83.9 |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
Я думаю надо написать вместо 83,9 -> 83.9 |
Да нет, пишется то с точкой |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А если в вариант с AS_STRING_ORDER написать 83.9 ???
И даже не 83.9 а 83.90 ??? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
А если в вариант с AS_STRING_ORDER написать 83.9 ???
И даже не 83.9 а 83.90 ??? |
Да! В этом варианте проходит! |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В каком? 83.9 или 83.90 ?? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Дмитрий
Зарегистрирован: 29.11.2011
Сообщения: 96
Откуда: Саратов
|
000 писал(а): |
В каком? 83.9 или 83.90 ?? |
И в том и в том, и 83.75 тоже проходит. Имеется в виду с функцией AS_STRING_ORDER все проходит |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|