Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 След. |
Автор |
Сообщение |
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Pluton писал(а): |
Не знаю, как будет отслеживать исполнение заявки и перевыставление. |
Правильно будет отслеживать. Для эксперимента поставь побольше лотов, поменьше просказывание (можно даже отрицательное выставить для проверки перестановки), у тебя же дема. Счет увеличить можно простым звонком брокеру |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
Не исполненные заявки двигает,но снимает только одну (система реверсная, переворотная).
Код: |
TRANS_ID=410300012; PRICE=152860; QUANTITY=5; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH3; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755;
TRANS_ID=410300013; PRICE=152860; QUANTITY=5; OPERATION=S; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH3; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755;
TRANS_ID=410350014; PRICE=152940; QUANTITY=5; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH3; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755;
TRANS_ID=410350011; PRICE=152940; QUANTITY=5; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH3; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755;
TRANS_ID=410400015; CLASSCODE=SPBFUT; ACTION=KILL_ORDER; SECCODE=RIH3; ORDER_KEY=1947877122; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755;
TRANS_ID=410400014; PRICE=153010; QUANTITY=5; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH3; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755;
TRANS_ID=410400011; PRICE=153010; QUANTITY=5; OPERATION=B; CLASSCODE=SPBFUT; ACTION=NEW_ORDER; TYPE=L; SECCODE=RIH3; ACCOUNT=SPBFUT012Ri; CLIENT_CODE=9755/9755; |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Ну да, робот следит только за 1 последней заявкой, было лень писать очередь заявок за ненадобностью. В системе в момент переворота оставляй тока один сигнал, обнуляя другой, и инициализируй переменную Lots удвоенным количеством лотов. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
Andrei писал(а): |
при загрузки робот выдает ошибку if(transID != "copy" AND orderDir != 0)
operation not allowed.operator/operand type mismatch
в чем проблема ,где искать? |
У меня та же ошибка )
Путь к экселю прописан верно, эксель открыт, не пойму в чем дело )) |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
Такой вопрос. Я стратегию написал, она работает нормально, бэктесты все в порядке. Сейчас пробую настроить ее в робот SpitFire для квика, времени ужасно не хватает, разрываюсь. Готов заплатить тому кто возьмет на себя настройку связки квик + ами. Занялся бы сам, но время... |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Насчет ошибки при запуске робота - скорее всего ручками баловался в закладке Stats, перезакачай файл.
Насчет настройки связки Ами-Квик. А что там настраивать, я вроде максимально подробно осветил этот момент в статье на Робострое. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
spitfire писал(а): |
Насчет ошибки при запуске робота - скорее всего ручками баловался в закладке Stats, перезакачай файл.
Насчет настройки связки Ами-Квик. А что там настраивать, я вроде максимально подробно осветил этот момент в статье на Робострое. |
Перезакачал, ошибка ушла, спасибо ) |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
А если я торгую спредом из двух тикеров, я SecCode переменную объявил в самом конце своей стратегии,
в виде if символ текущий = ... то Seccode = ...
теперь он просит ее на :
AddTextColumn(Seccode, "Ticker");
Где лучше Seccode объявить тогда )) |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Так, если ты торгуешь спредом, то в системе ты наверное обращаешься к другой части пары с помощью Foreign-функции, так? В этом случае в зависимости что система хочет купить/продать, меняется переменная Seccode, все верно.
Я просто не могу врубиться зачем конструкция "if символ текущий = ... то Seccode = ... ". Или ты торгуешь не одной парой а несколькими и запускаешь робота сразу на нескольких символах?
И какая ошибка вылезает я не понял. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
spitfire писал(а): |
Так, если ты торгуешь спредом, то в системе ты наверное обращаешься к другой части пары с помощью Foreign-функции, так? В этом случае в зависимости что система хочет купить/продать, меняется переменная Seccode, все верно.
Я просто не могу врубиться зачем конструкция "if символ текущий = ... то Seccode = ... ". Или ты торгуешь не одной парой а несколькими и запускаешь робота сразу на нескольких символах?
И какая ошибка вылезает я не понял. |
ну конструкцию if можно заменить на SecCode = текущий символ, не принципиально )
А ошибка что в строке
AddTextColumn(Seccode, "Ticker");
мы обращаемся к SecCode без ее объявления.
Это когда я строку в самом начале кода Seccode = .. закомментил.
А если присвоить Seccode в самом начале хоть чему то, просто чтобы было объявлено, например Seccode = "YUH", то в Automatic Analysis он пишет Out of Market |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
Liker777 писал(а): |
spitfire писал(а): |
Так, если ты торгуешь спредом, то в системе ты наверное обращаешься к другой части пары с помощью Foreign-функции, так? В этом случае в зависимости что система хочет купить/продать, меняется переменная Seccode, все верно.
Я просто не могу врубиться зачем конструкция "if символ текущий = ... то Seccode = ... ". Или ты торгуешь не одной парой а несколькими и запускаешь робота сразу на нескольких символах?
И какая ошибка вылезает я не понял. |
ну конструкцию if можно заменить на SecCode = текущий символ, не принципиально )
А ошибка что в строке
AddTextColumn(Seccode, "Ticker");
мы обращаемся к SecCode без ее объявления.
Это когда я строку в самом начале кода Seccode = .. закомментил.
А если присвоить Seccode в самом начале хоть чему то, просто чтобы было объявлено, например Seccode = "YUH", то в Automatic Analysis он пишет Out of Market |
В общем вопрос то в чем, при торговле спредом в какой части кода лучше всего SecCode инициализировать |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Liker777 писал(а): |
В общем вопрос то в чем, при торговле спредом в какой части кода лучше всего SecCode инициализировать |
Думаю что пофик, в твоем случае закоментируй строчки вывода направления и seccode (addtextcolumn которые), так как для случая торговли спредом надо их переделать в любом случае.
Главное чтобы в момент подачи заявки роботом в seccode был правильный символ.
И имей в виду, что робот следит за выполнением только 1 заявки (последней). Если у тебя заявки кидаются одновременно по 2м символам, то робот будет следить за исполнением только 2ой заявки, 1я если не исполнится, то будет печалька. Надо бы конечно реализовать в роботе какое-то подобие очереди заявок, но лично у меня нет в этом пока необходимости, и желания Может кто доработает за спасибо)) |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Liker777
Зарегистрирован: 28.06.2012
Сообщения: 120
|
spitfire писал(а): |
Liker777 писал(а): |
В общем вопрос то в чем, при торговле спредом в какой части кода лучше всего SecCode инициализировать |
Думаю что пофик, в твоем случае закоментируй строчки вывода направления и seccode (addtextcolumn которые), так как для случая торговли спредом надо их переделать в любом случае.
Главное чтобы в момент подачи заявки роботом в seccode был правильный символ.
И имей в виду, что робот следит за выполнением только 1 заявки (последней). Если у тебя заявки кидаются одновременно по 2м символам, то робот будет следить за исполнением только 2ой заявки, 1я если не исполнится, то будет печалька. Надо бы конечно реализовать в роботе какое-то подобие очереди заявок, но лично у меня нет в этом пока необходимости, и желания Может кто доработает за спасибо)) |
Вот поэтому я и хочу человека за деньги нанять )
Закомментил, спасибо, пока помогло ) |
_________________ www.oleg-churyumov.blogspot.com |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
sLy
Зарегистрирован: 28.07.2012
Сообщения: 41
|
Олег, привет!
По роботу есть просьба/предложение
Часто бывает необходимо остановить робота по какому-либо условию
Например, если он слил больше установленного процента эквити (перешел расчетный порог просадки)
Есть возможность реализовать в настройках опцию, при установке которой робот будет выходить из цикла, не успев выставить новые заявки?
Предложение по реализации следующее. Когда закрывается последний трейд в файле quick_robot.ini стоят нули, в следующий запуск, если эквити просело, ему можно запретить открывать новые позиции, что позволит оставить остаток средств на счете. Понимаю, что такое условие при большом портфеле может быть невыполнимо, но лучше уж так, чем вообще никак (если вообще никак, то он может при недостатке средств начать набирать бумаги, на часть хватит, на часть нет, и так с полупортфелем погасит остаток депозита). |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Я конечно не Олег, но тема то моя
Сделать это можно легко. Надо по DDE экспортировать таблицу Клиентский Портфель с колонкой Текущие средства. В роботе дописать функцию считывания из Экселя этой колонки и задать граничное условие. Далее при каждом открытии сравнивать текущее значение с граничным.
Но для зарабатывающих роботов это не нужно |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|