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



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Pluton писал(а):
Как размер позиции задать? Торгует одним лотом. В установках робота написал Lots = 2; И в коде системы прописал SetPositionSize(2,4);

Ну, переменная Lots и задает число лотов в кидаемой заявке. Сделай поиск по своему коду, где-то у тебя она становится равной 1.
На SetPositionSize() роботу глубоко плевать, он смотрит только за своими переменными.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

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

По хорошему, начать следует с того, что написать какого именно робота используешь.
Я знаю 3 модификации.
У тебя не третий. Желательно понять какой именно чтобы отвечать точно...

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



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

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

Вот здесь который 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

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

О. Это четвертый, я про него забыл. Тогда пусть spitfire отвечает раз папа. Laughing

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



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Pluton писал(а):
Вот здесь который http://robostroy.ru/community/article.aspx?id=514
В режиме bar replay стал теперь по два кидать.

Молодец! Можешь ведь когда захочешь Smile Давай, жду тебя в стакане Laughing
Вообще если в твоей системе используется динамическое изменение числа лотов, то все строки с SetPositionSize меняй на Lots=.

ПыСы. Пицот сообщений! Cool
Посмотреть профиль Отправить личное сообщение ICQ Number
Pluton



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

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

spitfire писал(а):

Давай, жду тебя в стакане Laughing

Свежанины захотелось Laughing ? На фортс у меня пока учебный счёт.
Не выдаёт по два лота на риалтайм, а в bar replay работает как положено.Цикл мудрёный?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

а что выдает? И что должен выдавать?

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



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

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

Pluton писал(а):
Не выдаёт по два лота на риалтайм, а в bar replay работает как положено.Цикл мудрёный?

Цикл тут ни причем, раз в бар-реплее работает как надо. Я правильно понимаю что в tri-файле в дебаг-режиме число лотов = 2, а при нормальной работе в tri-файле число лотов = 1?
Посмотреть профиль Отправить личное сообщение ICQ Number
Pluton



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

СообщениеДобавлено: Вт Дек 25, 2012 5:24 pm Ответить с цитатой Вернуться к началу

Да, в дебаг-режиме QUANTITY=2; а при нормальной работе QUANTITY=1;
Другую систему пробовал ставить - нормально работает.

000 писал(а):
а что выдает? И что должен выдавать?

Размер позиции не могу задать. Видимо система кривая.
Хотя в бэктесте всё задаётся.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Вт Дек 25, 2012 5:41 pm Ответить с цитатой Вернуться к началу

Перезакачай экселевский файл и попробуй снова. QUANTITY может отличаться от Lots только в 1 случае - при перестановке заявки, если она была исполнена не до конца. Возможно как-то криво настроен DDE-экспорт таблицы заявок в эксель.
Глянул мельком код системы - там только сигналы, соответсвенно никак на переменную Lots не должна влиять.
Вообще кинь tri-файлы при бар-реплее и при реальных торгах - погляжу.
Посмотреть профиль Отправить личное сообщение ICQ Number
Pluton



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

СообщениеДобавлено: Вт Дек 25, 2012 7:04 pm Ответить с цитатой Вернуться к началу

Перекачал stats. Exсel 2007 у меня, может в нём что?
DDE экспорт по инструкции.
На другой системе так же . Даже когда сигналов ещё нет, DebugMode =0; делаешь - в last order lots сразу на 1 слетает(см. видео).
Торгует нормально при DebugMode =1; при этом функции какие-то теряются?
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Дек 26, 2012 11:31 am Ответить с цитатой Вернуться к началу

У меня тоже 2007 Офис, дело не в нем.
Видео не глядел, не имею привычки открывать экзешники из инета.
Так, в конце кода робота перед строчками
Код:

/******************************************ROBOT LOGIC*****************************************************************/

Есть закоментированная строка
Код:

//Lots = 24;      // СТРОЧКА ДЛЯ РУЧНОГО ИЗМЕНЕНИЯ ФАКТИЧЕСКОЙ ПОЗИЦИИ НА СЛУЧАЙ ЕЕ ИЗМЕНЕНИЯ РУЧКАМИ

Раскоментируй ее и в ней пропиши Lots = 2.
Глянь что будет. В этом случае робот должен отправлять заявки с таким числом лотов, независимо от того, что прочитал до этого в stats.xls.
Посмотреть профиль Отправить личное сообщение ICQ Number
Pluton



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

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

В роботе с робостроя нет этой строки
Код:
//Lots = 24;      // СТРОЧКА ДЛЯ РУЧНОГО ИЗМЕНЕНИЯ ФАКТИЧЕСКОЙ ПОЗИЦИИ НА СЛУЧАЙ ЕЕ ИЗМЕНЕНИЯ РУЧКАМИ

Видать у меня версия не та.
В SYSTEM 1 CODE секцию дописать строку Lots = 2;?
У тебя в DebugMode = 0 больше одного лота торгует?
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Дек 26, 2012 5:18 pm Ответить с цитатой Вернуться к началу

У меня торгует тем числом лотов, каким надо Smile
Кажись понял в чем проблема.
Ну да, в конце кода системы перед логикой робота добавь эту строчку.
Вообще логика работы такая:
0. Загружаем данные из Экселя. На закладке Stats были параметры последней сделки. В этот момент инициализируются все переменные о сделке включая Lots. Если на закладке Stats число лотов было = 1, то робот торганет этим числом лотов. Поэтому небольшой хинт - в коде самой системы где ты прописываешь сигналы, добавь строчку с типа Мани-Менеджментом: если есть сигнал (неважно - вход или выход), Lots = 2.
1. Вход - берем значение переменной Lots и запихиваем ее в tri-файл.
2. Сохраняем параметры входа типа TransactionID и число лотов в закладку Stats.
3. Ведем позицию - отмечаем что она исполнена или переставляем на след баре с числом оставшихся лотов до ее полного исполнения.

В общем, блин, забыл в статье указать, что в коде системы надо инициализировать переменную Lots Embarassed Ну для этого и нужен форум.
Посмотреть профиль Отправить личное сообщение ICQ Number
Pluton



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

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

Да, теперь в tri-файл пишет сколько надо лотовCool. Работает! Просто добавил Lots = 2; к системе. На большее тяму не хватает. Не знаю, как будет отслеживать исполнение заявки и перевыставление.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen