Автор |
Сообщение |
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Pluton писал(а): |
Как размер позиции задать? Торгует одним лотом. В установках робота написал Lots = 2; И в коде системы прописал SetPositionSize(2,4); |
Ну, переменная Lots и задает число лотов в кидаемой заявке. Сделай поиск по своему коду, где-то у тебя она становится равной 1.
На SetPositionSize() роботу глубоко плевать, он смотрит только за своими переменными. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
По хорошему, начать следует с того, что написать какого именно робота используешь.
Я знаю 3 модификации.
У тебя не третий. Желательно понять какой именно чтобы отвечать точно... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
Вот здесь который http://robostroy.ru/community/article.aspx?id=514
В режиме bar replay стал теперь по два кидать. Что я сделал:
убрал из своей системы SetPositionSize(2,4);
убрал много пробелов в Lots = 2;
в contract spec. поставил round lot size - 1
Что повлияло не знаю, ами только несколько дней пользую.
В реал тайм ещё надо проверить. |
Последний раз редактировалось: Pluton (Пт Дек 21, 2012 5:55 pm), всего редактировалось 1 раз |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
О. Это четвертый, я про него забыл. Тогда пусть spitfire отвечает раз папа. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Молодец! Можешь ведь когда захочешь Давай, жду тебя в стакане
Вообще если в твоей системе используется динамическое изменение числа лотов, то все строки с SetPositionSize меняй на Lots=.
ПыСы. Пицот сообщений! |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
spitfire писал(а): |
Давай, жду тебя в стакане
|
Свежанины захотелось ? На фортс у меня пока учебный счёт.
Не выдаёт по два лота на риалтайм, а в bar replay работает как положено.Цикл мудрёный? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
а что выдает? И что должен выдавать? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Pluton писал(а): |
Не выдаёт по два лота на риалтайм, а в bar replay работает как положено.Цикл мудрёный? |
Цикл тут ни причем, раз в бар-реплее работает как надо. Я правильно понимаю что в tri-файле в дебаг-режиме число лотов = 2, а при нормальной работе в tri-файле число лотов = 1? |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
Да, в дебаг-режиме QUANTITY=2; а при нормальной работе QUANTITY=1;
Другую систему пробовал ставить - нормально работает.
000 писал(а): |
а что выдает? И что должен выдавать? |
Размер позиции не могу задать. Видимо система кривая.
Хотя в бэктесте всё задаётся. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Перезакачай экселевский файл и попробуй снова. QUANTITY может отличаться от Lots только в 1 случае - при перестановке заявки, если она была исполнена не до конца. Возможно как-то криво настроен DDE-экспорт таблицы заявок в эксель.
Глянул мельком код системы - там только сигналы, соответсвенно никак на переменную Lots не должна влиять.
Вообще кинь tri-файлы при бар-реплее и при реальных торгах - погляжу. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
Перекачал stats. Exсel 2007 у меня, может в нём что?
DDE экспорт по инструкции.
На другой системе так же . Даже когда сигналов ещё нет, DebugMode =0; делаешь - в last order lots сразу на 1 слетает(см. видео).
Торгует нормально при DebugMode =1; при этом функции какие-то теряются? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
У меня тоже 2007 Офис, дело не в нем.
Видео не глядел, не имею привычки открывать экзешники из инета.
Так, в конце кода робота перед строчками
Код: |
/******************************************ROBOT LOGIC*****************************************************************/
|
Есть закоментированная строка
Код: |
//Lots = 24; // СТРОЧКА ДЛЯ РУЧНОГО ИЗМЕНЕНИЯ ФАКТИЧЕСКОЙ ПОЗИЦИИ НА СЛУЧАЙ ЕЕ ИЗМЕНЕНИЯ РУЧКАМИ
|
Раскоментируй ее и в ней пропиши Lots = 2.
Глянь что будет. В этом случае робот должен отправлять заявки с таким числом лотов, независимо от того, что прочитал до этого в stats.xls. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
В роботе с робостроя нет этой строки
Код: |
//Lots = 24; // СТРОЧКА ДЛЯ РУЧНОГО ИЗМЕНЕНИЯ ФАКТИЧЕСКОЙ ПОЗИЦИИ НА СЛУЧАЙ ЕЕ ИЗМЕНЕНИЯ РУЧКАМИ |
Видать у меня версия не та.
В SYSTEM 1 CODE секцию дописать строку Lots = 2;?
У тебя в DebugMode = 0 больше одного лота торгует? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
У меня торгует тем числом лотов, каким надо
Кажись понял в чем проблема.
Ну да, в конце кода системы перед логикой робота добавь эту строчку.
Вообще логика работы такая:
0. Загружаем данные из Экселя. На закладке Stats были параметры последней сделки. В этот момент инициализируются все переменные о сделке включая Lots. Если на закладке Stats число лотов было = 1, то робот торганет этим числом лотов. Поэтому небольшой хинт - в коде самой системы где ты прописываешь сигналы, добавь строчку с типа Мани-Менеджментом: если есть сигнал (неважно - вход или выход), Lots = 2.
1. Вход - берем значение переменной Lots и запихиваем ее в tri-файл.
2. Сохраняем параметры входа типа TransactionID и число лотов в закладку Stats.
3. Ведем позицию - отмечаем что она исполнена или переставляем на след баре с числом оставшихся лотов до ее полного исполнения.
В общем, блин, забыл в статье указать, что в коде системы надо инициализировать переменную Lots Ну для этого и нужен форум. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Pluton
Зарегистрирован: 21.12.2012
Сообщения: 9
|
Да, теперь в tri-файл пишет сколько надо лотов. Работает! Просто добавил Lots = 2; к системе. На большее тяму не хватает. Не знаю, как будет отслеживать исполнение заявки и перевыставление. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|