Начать новую тему Ответить на тему |
Список форумов 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 След. |
Автор |
Сообщение |
Veronica
Зарегистрирован: 15.03.2012
Сообщения: 4
|
000 писал(а): |
Отступ не влияет на результат торгов... |
Может быть, что и не влияет...
Но сделки-то заключаются на условиях хуже тех, которые были в момент сигнала, и хуже именно на величину отступа. Если у меня за неделю 200 покупок и 200 продаж, а прибыль по 5 рублей, то отступ от рыночной цены даже в 1 рубль сильно влияет.
000 писал(а): |
Не знаю как у тебя так получается. |
Вот как-то так получается...
Впрочем, я отдаю себе отчет, что от виртуальной прибыли до реальной как до Луны. И особо не расстраиваюсь. Если бы все было так просто, то кто бы работал на заводах? Все бы торговали на бирже.
000 писал(а): |
Прибыль смотришь в Квике? |
Прибыль я смотрю по АА. А потом прикидываю потери на отступ и вижу, что овчинка выделки не стоит.
Более того, пока я вижу, что робот для FORTS не очень подходит. Отошла пить чай, прихожу и вижу, что в QUIK_junior последовательно зарегистрированы три заявки на покупку, а сделки не заключены (видимо, цена уже оказалась ниже той, что в заявке), но робот посчитал, что позиции открыты и последовательно эти позиции закрыл (для начала я виртуально торгую по одному контракту). Итого в QUIK_junior три заявки на покупку и три коротких позиции, у робота позиция=0 и он готов снова покупать и продавать. По закону подлости цена пошла вверх и образовались убытки.
Трудно сказать насколько торговля в QUIK_junior близка к реальной. Но, полагаю, выходить на реальные торги можно когда в теории хоть примерно сходятся концы.
Попробую на ММВБ, хотя, навскидку, там тоже комиссия для скальперкой стратегии близка к запретительной. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Следить за состоянием заявки по существующему АПИ Квика не просто. Этот робот предназначен для торговли по рынку. А если по рынку, то отступ не влияет. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Veronica писал(а): |
Может быть, что и не влияет...
Но сделки-то заключаются на условиях хуже тех, которые были в момент сигнала, и хуже именно на величину отступа. Если у меня за неделю 200 покупок и 200 продаж, а прибыль по 5 рублей, то отступ от рыночной цены даже в 1 рубль сильно влияет.
|
Конечно влияет. Но дело в том, что если текущая рыночная цена хуже сигнальной на 1 руб, то даже если отступ стоит 5 руб, недоприбыль будет всего 1 руб.
Кроме того цена не обязательно уходит в худшую сторону. Бывает и в +. Это сильно зависит от стратегии. Т.е. реально считать недоприбыль равной приблизительно спреду не зависимо от отступа робота. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
Veronica
Зарегистрирован: 15.03.2012
Сообщения: 4
|
000 писал(а): |
Но дело в том, что если текущая рыночная цена хуже сигнальной на 1 руб, то даже если отступ стоит 5 руб, недоприбыль будет всего 1 руб. |
Это очень верно.
Но на FORTS заявки подаются с фиксированной ценой. Поэтому я и засомневалась в возможности результативного использования робота на FORTS. То есть, действительно, робот хорош, но для своего класса задач.
Впрочем, надо будет еще поработать.
000 писал(а): |
Кроме того цена не обязательно уходит в худшую сторону. Бывает и в +. Это сильно зависит от стратегии. |
Безусловно.
Однако все же чаще (думаю, процентах в шестидесяти) в момент выставления завки цена идет в ту же сторону, как предполагала стратегия. Хотя да, всякое бывает. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну еще при тесте стратегии следует обращать внимание на то, чтобы средняя прибыль сделки была заведомо больше чем комишн + скользяк. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
wt
Зарегистрирован: 29.03.2012
Сообщения: 1
|
Привет! Спасибо за плагин!
У меня сейчас все работает отлично, но возникла небольшая проблема, которая, тем не менее, мешает жить. Номер заявки, который возвращает
AS_QUIK_SEND_SYNC_NEWORDER не совпадает с тем, что в итоке оказывается в таблицах quik. Возможно ли, что плагин как-то неправильно обрабатывает эти номера? Или, лучше поинтересоваться у брокера, не изменяются ли номера заявки при обработке? У меня "Тройка".
Никто не сталкивался с таким поведением? Что порекомендуете? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Поинтересуйся у брокера
Скажи так.
Отправляю транзакцию функцией API
TRANS2QUIK_SEND_SYNC_TRANSACTION
функция возвращает pdOrderNum
По хелперу
Тип: указатель типа Double. В случае успеха получает номер заявки в торговой системе
Почему номер не соответствует номеру в торговой системе. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
Привет
а не подскажешь (чот в ветке не нашел ответ)
а если система реверсивная и на одном баре по опену должен закрыться лонг и открыться шорт он нормально это воспримет? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Надо написать так.
Buy = ...;
Short = ...;
Sell = Short;
Cover = Buy; |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
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 |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
Яхфар
Зарегистрирован: 24.04.2011
Сообщения: 74
|
А данный робот может торговать две системы на одном фрейме и по одному инструменту? Т.е. например на 60 минутке нужны двес истемы по риму, одна трендовая, другая контртрендовая. |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Яхфар писал(а): |
А данный робот может торговать две системы на одном фрейме и по одному инструменту? Т.е. например на 60 минутке нужны двес истемы по риму, одна трендовая, другая контртрендовая. |
Разумеется. Почему нет? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
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
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](images/spacer.gif) |
max
Зарегистрирован: 01.08.2008
Сообщения: 253
|
Цитата: |
Ну. Все нормально будет. Только роботу sellprice=iif(sell==sell1,o,level3); не надо. |
почему не надо? а как же ему сказать, что выходить нада на открытии следующего бара или моментально если там цена перешла уровень?
И я не понял поп поводу одновременной торговли двух систем. А как это возможно если робот работает через Эксплорейшн и в нем нельзя крутить две системы одновременно? |
|
|
Посмотреть профиль Отправить личное сообщение |
![](images/spacer.gif) |
000
Site Admin
![](images/avatars/183029264847fb5337d4ea4.gif)
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Роботу не надо сообщать цену сделки в баре. Робот следит за формированием бара и если произошло событие (например пересечение уровня), то он немедленно генерирует сигнал на сделку. Таким образом сделка сама получится в тот момент и по той цене как надо.
Тестер видит свечку целиком и ему обязательно надо говорить по какой из возиожных цен внутри свечи надо совершать сделку.
Если надо две систеиы в одном роботе, то пишется в одном коде сразу две системы. 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
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
![](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 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|