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



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

СообщениеДобавлено: Ср Мар 21, 2012 8:18 am Ответить с цитатой Вернуться к началу

000 писал(а):
Отступ не влияет на результат торгов...

Может быть, что и не влияет...
Но сделки-то заключаются на условиях хуже тех, которые были в момент сигнала, и хуже именно на величину отступа. Если у меня за неделю 200 покупок и 200 продаж, а прибыль по 5 рублей, то отступ от рыночной цены даже в 1 рубль сильно влияет.
000 писал(а):
Не знаю как у тебя так получается.

Вот как-то так получается...
Впрочем, я отдаю себе отчет, что от виртуальной прибыли до реальной как до Луны. И особо не расстраиваюсь. Если бы все было так просто, то кто бы работал на заводах? Все бы торговали на бирже.
000 писал(а):
Прибыль смотришь в Квике?

Прибыль я смотрю по АА. А потом прикидываю потери на отступ и вижу, что овчинка выделки не стоит.

Более того, пока я вижу, что робот для FORTS не очень подходит. Отошла пить чай, прихожу и вижу, что в QUIK_junior последовательно зарегистрированы три заявки на покупку, а сделки не заключены (видимо, цена уже оказалась ниже той, что в заявке), но робот посчитал, что позиции открыты и последовательно эти позиции закрыл (для начала я виртуально торгую по одному контракту). Итого в QUIK_junior три заявки на покупку и три коротких позиции, у робота позиция=0 и он готов снова покупать и продавать. По закону подлости цена пошла вверх и образовались убытки.

Трудно сказать насколько торговля в QUIK_junior близка к реальной. Но, полагаю, выходить на реальные торги можно когда в теории хоть примерно сходятся концы.

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


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

СообщениеДобавлено: Ср Мар 21, 2012 3:16 pm Ответить с цитатой Вернуться к началу

Следить за состоянием заявки по существующему АПИ Квика не просто. Этот робот предназначен для торговли по рынку. А если по рынку, то отступ не влияет.

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


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

СообщениеДобавлено: Ср Мар 21, 2012 3:23 pm Ответить с цитатой Вернуться к началу

Veronica писал(а):

Может быть, что и не влияет...
Но сделки-то заключаются на условиях хуже тех, которые были в момент сигнала, и хуже именно на величину отступа. Если у меня за неделю 200 покупок и 200 продаж, а прибыль по 5 рублей, то отступ от рыночной цены даже в 1 рубль сильно влияет.

Конечно влияет. Но дело в том, что если текущая рыночная цена хуже сигнальной на 1 руб, то даже если отступ стоит 5 руб, недоприбыль будет всего 1 руб.
Кроме того цена не обязательно уходит в худшую сторону. Бывает и в +. Это сильно зависит от стратегии. Т.е. реально считать недоприбыль равной приблизительно спреду не зависимо от отступа робота.

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



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

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

000 писал(а):

Но дело в том, что если текущая рыночная цена хуже сигнальной на 1 руб, то даже если отступ стоит 5 руб, недоприбыль будет всего 1 руб.

Это очень верно.
Но на FORTS заявки подаются с фиксированной ценой. Поэтому я и засомневалась в возможности результативного использования робота на FORTS. То есть, действительно, робот хорош, но для своего класса задач.
Впрочем, надо будет еще поработать.
000 писал(а):

Кроме того цена не обязательно уходит в худшую сторону. Бывает и в +. Это сильно зависит от стратегии.

Безусловно.
Однако все же чаще (думаю, процентах в шестидесяти) в момент выставления завки цена идет в ту же сторону, как предполагала стратегия. Хотя да, всякое бывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Мар 21, 2012 9:51 pm Ответить с цитатой Вернуться к началу

Ну еще при тесте стратегии следует обращать внимание на то, чтобы средняя прибыль сделки была заведомо больше чем комишн + скользяк.

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



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

СообщениеДобавлено: Вт Апр 03, 2012 1:03 pm Ответить с цитатой Вернуться к началу

Привет! Спасибо за плагин!

У меня сейчас все работает отлично, но возникла небольшая проблема, которая, тем не менее, мешает жить. Номер заявки, который возвращает
AS_QUIK_SEND_SYNC_NEWORDER не совпадает с тем, что в итоке оказывается в таблицах quik. Возможно ли, что плагин как-то неправильно обрабатывает эти номера? Или, лучше поинтересоваться у брокера, не изменяются ли номера заявки при обработке? У меня "Тройка".

Никто не сталкивался с таким поведением? Что порекомендуете?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Апр 03, 2012 1:38 pm Ответить с цитатой Вернуться к началу

Поинтересуйся у брокера

Скажи так.
Отправляю транзакцию функцией API
TRANS2QUIK_SEND_SYNC_TRANSACTION
функция возвращает pdOrderNum

По хелперу
Тип: указатель типа Double. В случае успеха получает номер заявки в торговой системе
Почему номер не соответствует номеру в торговой системе.

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



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

СообщениеДобавлено: Чт Апр 05, 2012 6:50 pm Ответить с цитатой Вернуться к началу

Привет
а не подскажешь (чот в ветке не нашел ответ)
а если система реверсивная и на одном баре по опену должен закрыться лонг и открыться шорт он нормально это воспримет?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Надо написать так.
Buy = ...;
Short = ...;
Sell = Short;
Cover = Buy;

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



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

СообщениеДобавлено: Пт Апр 06, 2012 9:04 am Ответить с цитатой Вернуться к началу

000 писал(а):
Надо написать так.
Buy = ...;
Short = ...;
Sell = Short;
Cover = Buy;

не, так не могу написать так как условий выхода три разных. у меня написано так
sell1=.....
sell2=.....
sell3=......
sell=ref(sell1,-1) or ref(sell2,-1) or sell3;
sellprice=iif(sell==sell1,o,level3);
Для теста такое работает. При этом sell2=условия шорта. ну и отдельно этот же шорт выписан в Short
Посмотреть профиль Отправить личное сообщение
Яхфар



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

СообщениеДобавлено: Пт Апр 06, 2012 2:36 pm Ответить с цитатой Вернуться к началу

А данный робот может торговать две системы на одном фрейме и по одному инструменту? Т.е. например на 60 минутке нужны двес истемы по риму, одна трендовая, другая контртрендовая.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Яхфар писал(а):
А данный робот может торговать две системы на одном фрейме и по одному инструменту? Т.е. например на 60 минутке нужны двес истемы по риму, одна трендовая, другая контртрендовая.

Разумеется. Почему нет?

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


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

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

max писал(а):
000 писал(а):
Надо написать так.
Buy = ...;
Short = ...;
Sell = Short;
Cover = Buy;

не, так не могу написать так как условий выхода три разных. у меня написано так
sell1=.....
sell2=.....
sell3=......
sell=ref(sell1,-1) or ref(sell2,-1) or sell3;
sellprice=iif(sell==sell1,o,level3);
Для теста такое работает. При этом sell2=условия шорта. ну и отдельно этот же шорт выписан в Short

Ну. Все нормально будет. Только роботу sellprice=iif(sell==sell1,o,level3); не надо.

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



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

СообщениеДобавлено: Пт Апр 06, 2012 4:28 pm Ответить с цитатой Вернуться к началу

Цитата:

Ну. Все нормально будет. Только роботу sellprice=iif(sell==sell1,o,level3); не надо.

почему не надо? а как же ему сказать, что выходить нада на открытии следующего бара или моментально если там цена перешла уровень?

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


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

СообщениеДобавлено: Пт Апр 06, 2012 9:42 pm Ответить с цитатой Вернуться к началу

Роботу не надо сообщать цену сделки в баре. Робот следит за формированием бара и если произошло событие (например пересечение уровня), то он немедленно генерирует сигнал на сделку. Таким образом сделка сама получится в тот момент и по той цене как надо.
Тестер видит свечку целиком и ему обязательно надо говорить по какой из возиожных цен внутри свечи надо совершать сделку.

Если надо две систеиы в одном роботе, то пишется в одном коде сразу две системы. Buy1, Sell1... Buy2, Sell2...
Затем эти сигналы обрабатываются отдельно. Т.е. надо дописать такой же блок для Buy2, Sell2... и соответственно вести отдельно позицию второй системы pos2...
Код:
if (TimeFrame == Interval() AND Permit_Ticker)
{
   if(Buy2[BarCount-1] AND pos2 == 0) {
      str = str + "  Buy";
      sd = "Buy";
      orders("B", round(C[BarCount-1]) + Otstup, Lots2);
      AS_WRITE_FILE("log.quik", str);
   }
   if(Sell2[BarCount-1] AND pos2 > 0) {
      str = str + "  Sell";
      sd = "Sell";
      orders("S", round(C[BarCount-1]) - Otstup, abs(pos2));
      AS_WRITE_FILE("log.quik", str);
   }
   if(Short2[BarCount-1] AND pos2 == 0) {
      str = str + "  Short";
      sd = "Short";
      orders("S", round(C[BarCount-1]) - Otstup, Lots2);
      AS_WRITE_FILE("log.quik", str);
   }
   if(Cover2[BarCount-1] AND pos2 < 0) {
      str = str + "  Cover";
      sd = "Cover";
      orders("B", round(C[BarCount-1]) + Otstup, abs(pos2));
      AS_WRITE_FILE("log.quik", str);
   }
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen