Автор |
Сообщение |
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Да.
Проверил бы на ФОРТС.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Bigbrother72
Зарегистрирован: 18.07.2011
Сообщения: 6
|
А описание всего api есть? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
??? В хелпере Квика... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
000 писал(а): |
Да.
Проверил бы на ФОРТС.... |
На следующей неделе обязательно займусь |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Проверил на FORTS - работает! Побыстрее будет, чем через файлик, жаль наличие позиции нельзя тоже через эту dll брать. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Увы, в API совсем нет механизма получения текущей позиции. По крайней мере хоть сразу исзвестно прошла заявка или нет... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
Всё равно спасибо! Нужная штука! |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Как обещал, проверил - все работает и на ФОРТС.
Хотелось бы теперь шаблон робота с новыми наработками увидеть , который передает заявки через АПИ, а не через файл. |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Обязательно. Но через пару недель... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
А чо там с шаблоном? Есть же уже с файлами (хотя бы в моей теме глянь), всё заменить да пользовать! Или какие-то подводные камни имеются?
Кстати, вот прикладываю, как и обещал, портфельчик на qpile, который проверяет табличку позиций по фьючерсам. Программка прогоняет всю таблицу, на каждый контракт создает отдельный файл, берёт текущую чистую позицию по контракту и пишет её в файлик с именем контракта.
Т.е. если купить 2 контракта SBRF-12.11 будет произведена запись "2" в SRZ1.LOG, если продать, то файл очистится и запишется "0"...
Короче теперь имеем обратную связь от Quik'a =))
P.S. Не забыть поменять путь в файле, если кому нужно, а я думаю нужно)))) |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
ЫЫЫ, вот я тормоз, у Олега функция QUIK_SEND_SYNC_NEWORDER как раз и возвращает номер ордера! =)))))
Тогда такой вопрос Олег - какое назначение имеет OrerID? У тебя прокомментировано как "Любые цифры", оно вообще играет какую-нибудь роль? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Цитата: |
Надеюсь всетаки закончить и разместить главу учебника про использование Аккаунт менеджера.
Не знаю как с роботом на API Квика. Появились другие планы по поводу роботов. С Квиком совсем не работаю. |
Олег, я так понимаю, на нового робота через Апи ты забил? |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Нет. Не забыл.
Просто кое что надо доделать а оно затянулось...
Но в принципе все готово. Еще немного придется подождать... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
kosbar
Зарегистрирован: 17.03.2009
Сообщения: 356
|
А я тут уже всю голову изломал, пытаясь реализовать с этой новой 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
В чем подвох хоть убей не пойму.
P.S. в роботе с файлами ID транзакции выполняло роль фильтра таким образом можно было исключить повторных ордеров на одном баре. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Цитата: |
А чо там с шаблоном? Есть же уже с файлами (хотя бы в моей теме глянь), всё заменить да пользовать! Или какие-то подводные камни имеются? |
Насколько я понимаю, в прежнем роботе (через файлы) нужно заменить функцию makeandsave примерно вот так: (могу ошибаться, вернее скорее всего и ошибаюсь )
Код: |
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));
}
} |
или еще какие закавыки есть?? |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
|