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


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

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

Ты на демо пробуешь? Если да, то скинь мне в личку сервер, логин и пас. Проверю у себя.

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



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

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

000 писал(а):
Ты на демо пробуешь? Если да, то скинь мне в личку сервер, логин и пас. Проверю у себя.


С реальным счетом ....
ИМХО, где-то туплю, но не могу понять ... где ....

Если меняю идентификатор счета на "0000", то получаю другую ошибку - Error 47: Exception occurred during AFL formula execution ...
Посмотреть профиль Отправить личное сообщение
miisterii



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

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

Все, получилось!!!

Осталось научиться писать роботов ))) И хотя бы разобраться, что и как делает робот-пример. Very Happy Rolling Eyes
Посмотреть профиль Отправить личное сообщение
max



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

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

А можно как-то сделать чтобы робат писал сделки в файл а не слал в терминал?
Хочу протестить его на реальных котировках, но без вывода заявок а просто запись их в ТХТ в виде "время, цена входа, направление"
Ну чтоб проверить РобАтоспособность

Спасибо
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

В файл он их и так пишет.
А чтобы не слал в терминал переделай это место
Код:

    M = ITOrder(Accaunt, Code, bs, 1, 1, 0, Lots, 0);
     AddTextColumn(M, "номер ордера");
     N = ITOrderMessage();
     AddTextColumn(N, "ответ IT Trade");

на
Код:

M = 1;

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



Зарегистрирован: 09.09.2009
Сообщения: 230
Откуда: wealth-lab user

СообщениеДобавлено: Чт Окт 06, 2011 5:28 am Ответить с цитатой Вернуться к началу

miisterii писал(а):
Все, получилось!!!

Осталось научиться писать роботов ))) И хотя бы разобраться, что и как делает робот-пример. Very Happy Rolling Eyes

Отпиши, плиз, после чего заработало.
Помни, по твоему пути могут пойти миллионы роботостроителей. Освети дорогу идущим.
Посмотреть профиль Отправить личное сообщение
miisterii



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

СообщениеДобавлено: Пт Окт 07, 2011 8:24 pm Ответить с цитатой Вернуться к началу

belin писал(а):
miisterii писал(а):
Все, получилось!!!

Осталось научиться писать роботов ))) И хотя бы разобраться, что и как делает робот-пример. Very Happy Rolling Eyes

Отпиши, плиз, после чего заработало.
Помни, по твоему пути могут пойти миллионы роботостроителей. Освети дорогу идущим.


Да, согласен. Сорри.

Исходные данные у меня - SmartCom2 и AmiBroker у меня был настроен уже.

1. Надо пользоваться ссылкой
http://amisite.ru/phpBB2/viewtopic.php?t=1206&sid=5f5bda518b4a4a39758fe203c90d756b

Специально открыл тестовый счет.

Тестовый код
Filter = 1;
AddTextColumn(ITOrder("ST8663-RF-01", "SBRF-12.11_FT", 1, 2, 1, 6300, 1, 0), "test");
AddTextColumn(ITOrderMessage(), "testMessage");

/*
ITOrder("", "", 2, 1, 1, 0, 1, 0)
Функция отправки приказа
Параметры.
1. номер счета
2. торгуемая бумага
3. 1-Buy, 2-Sell, 3-Short, 4-Cover
4. 1-market, 2-limit, 3-stop, 4- stop_limit
5. срок действия 1-сегодня, 2-GTS
6. цена. Для по рынку = 0
7. объем
8. цена для стопа
Функция возвращает число

-1 нет соединения с сервером
-2 сервер не пропустил ордер
-3 сервер не ответил в течении 5 секунд
*/

2. Далее код робота, которые приведен на странице 20.

3. Дальше пока пытаюсь разобраться, как понять, как работает робот и куда вставлять свои стратегии (напоминаю, у меня вообще нет опыта программирования)
Посмотреть профиль Отправить личное сообщение
max



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

СообщениеДобавлено: Пн Окт 10, 2011 10:29 am Ответить с цитатой Вернуться к началу

запустил робота в работу
в начале попытался запустить с "рабочим" кодом - выдал ошибку что таймфрейм в коде не сопадает с ТФ в АА
в коде поставил 60 (1 минутка) в АА поставил 1минута
все равно ругался. Попробовал выставить 60 сек в АА - ами почему то не дал.
В итоге на это забил
Поменял М....................и N.................... на М=1 как Олег писал. Ами ругнулся что N используется без определения. Раскомментировал N - ругаться перестал
В АА честно каждую секунду меняет цену но собстно и все - больше ничего не пиишет интересного/ В поле позиция всегда=0
Дальше сделал забавное - посавил тестовый код из описания к скрипу
- ами начал шарашить обращение к брокеру - а брокер его посылать
Следовательно соединение работает и они могут общаться

Но все же не понял - как увидеть или как заставить чтобы ами писал сделки в боевом варианте - я просто хочу проверить правильность расставления им ордеров
в АА он НЕ пишет у меня ничего

Даже наберусь наглости и спрошу - как написать в данному случае "тупой" робот - покупка при пробое боллинджера вверх продажа при пробое его вниз.
Тупой реверс....желательно лимитниками - пробой это бай-стоп с проскальзыванием 10 и продажа селл-стоп с проскальзыванием 10
Посмотреть профиль Отправить личное сообщение
max



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

СообщениеДобавлено: Пн Окт 10, 2011 10:45 am Ответить с цитатой Вернуться к началу

Признаюсь в своей глупости - робот всеже пишет в файл (не в тот посмотрел в начале)
но помимо этого он пишет и
AddTextColumn(N, "ответ IT Trade");
if(StrToNum(M)
-----------------^
Error 5.
Argument #1 has incorrect type (the function expects different argument type here)

Это в ответ на М=1
Посмотреть профиль Отправить личное сообщение
max



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

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

еще один вопросец. А правильно ли что Ами шлет (а точнее пишет в файлик) только Бай и short, а Sell и Cover никак не хочет хотя они по системе есть
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Окт 10, 2011 12:09 pm Ответить с цитатой Вернуться к началу

max писал(а):
Признаюсь в своей глупости - робот всеже пишет в файл (не в тот посмотрел в начале)
но помимо этого он пишет и
AddTextColumn(N, "ответ IT Trade");
if(StrToNum(M)
-----------------^
Error 5.
Argument #1 has incorrect type (the function expects different argument type here)

Это в ответ на М=1

Угу.
M должна быть строкой. Надо
Код:
M = "1";

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


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

СообщениеДобавлено: Пн Окт 10, 2011 12:11 pm Ответить с цитатой Вернуться к началу

max писал(а):
еще один вопросец. А правильно ли что Ами шлет (а точнее пишет в файлик) только Бай и short, а Sell и Cover никак не хочет хотя они по системе есть

Нет. Должен писать и лонги и шорты.
if(Buy1[BarCount-1] AND pos == 0) {
order(1);
str = str + " Buy";
AddTextColumn("Buy", "Buy");
LogWrite(str);
}
else if(Sell1[BarCount-1] AND pos > 0) {
order(2);
str = str + " sell";
AddTextColumn("Sell", "Sell");
LogWrite(str);
}
if(Short1[BarCount-1] AND pos == 0) {
order(3);
str = str + " Short";
AddTextColumn("Short", "Short");
LogWrite(str);
}
else if(Cover1[BarCount-1] AND pos < 0) {
order(4);
str = str + " Cover";
AddTextColumn("Cover", "Cover");
LogWrite(str);
}

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



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

СообщениеДобавлено: Пн Окт 10, 2011 1:08 pm Ответить с цитатой Вернуться к началу

Ошибку с М исправил
А вот закрытие поз он не пишет почему-то

ну ща поглядим еще
Посмотреть профиль Отправить личное сообщение
max



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

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

max писал(а):
Ошибку с М исправил
А вот закрытие поз он не пишет почему-то

ну ща поглядим еще


Поглядел. Писать селы начал. Но после перезагрузки ами. Похоже это его глюк какой-то был, реакция на изменение файла при работе эксплорейшена немного замедленная
Посмотреть профиль Отправить личное сообщение
max



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

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

Сегодня решил протестить на живом счете. И сразу странность.
Ами дает команду на открытие сделки, робот шлет заяву, ИТинвест отдает ответ- "заявка НЕ исполненна ответ сервера=возможно неправильный символ номер заявки=-4 Short"
При этом:
- по факту заявка принята и ИСПОЛНЕННА и появляется в терминале
- ами помезает статус позы =0 т.е. как бы позы нет
- после этого уходит в зависон (но это отдельный вопрос, возможно зависон вызван описанным глюком ибо он в логе пишет каждую секунду ответ от ИТинвеста"

да, при этом накануне он вполне себе понимал этот символ только заявы не выводил
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen