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


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

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

В принципе лучше вот это TimeFrame == Interval() OR TimeFrame != Interval()) AND лучше выкинуть пообще.
Вероятно у тебя ошибка в системе раз робот заявки совсем не отправляет.
Попробуй в системе убери правила покупки и напиши просто Buy1 = 1;
Робот должен купить. Если не купит, то трабл не в системе, а если купит, то в системе.

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



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

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

Приветствую. У меня робот работает. Даже когда я не ставлю галочку run - 1sec.?
Это нормально?
Посмотреть профиль Отправить личное сообщение
Sergg



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

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

Попробовал сегодня потестировать робота. Взял простейшее - пересечение 2-х МА со стопом и тейк-профитом. Период МА специально взял поменьше чтобы было несколько сделок в день на 5-минутном графике газпрома. Прибыль не важна, просто хотел проверить все ли сигналы обрабатываются верно, чтобы потом можно было прикрутить к основной стратегии.

Пример взял тут http://www.amisite.ru/afl/exp/files/Quik_Robot1.afl
Заявки уходят в quik и исполняются, но почему по раза 2.

18.05.2012 19:25:29 GAZP-AMI5 Buy заяка исполнена ответ сервера=6008481463 позиция на момент исполнения 0 (купил 10 лотов)
18.05.2012 19:33:54 GAZP-AMI5 Sell заяка исполнена ответ сервера=6008730448 позиция на момент исполнения 10 (сработал стоп 10 лотов)
18.05.2012 19:33:54 GAZP-AMI5 Sell заяка исполнена ответ сервера=6008730685 позиция на момент исполнения 10 (лишняя сделка)
18.05.2012 19:35:31 GAZP-AMI5 Short заяка исполнена ответ сервера=6008783155 позиция на момент исполнения 0 (открылся шорт на 10 лотов)

При этом в Quik_Robot.ini

[GAZP-AMI5]
pos=-10

Т.е по сути вместо 1 Sell происходит 2, а в позицию записывается кол-во лотов только по 1 Sell.

Хотел бы узнать как это можно избежать?

Следующий сигнал прошел нормально (тейк-профит)

18.05.2012 19:57:09 GAZP-AMI5 Cover заяка исполнена ответ сервера=6009584946 позиция на момент исполнения -10

[GAZP-AMI5]
pos=0
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

А робот прямо копия того что скачал или менял что то?

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



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

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

000 писал(а):
А робот прямо копия того что скачал или менял что то?


На мой взгляд особо не чего не менял.
Правила такие:

Buy = ref(EMA(Close, period1),-1)>ref(EMA(Close, period2),-1) AND period2>period1;
Sell = ref(EMA(Close, period1),-1)<ref(EMA(Close, period2),-1) AND period2>period1;
Short = ref(EMA(Close, period1),-1)<ref(EMA(Close, period2),-1) AND period2>period1;
Cover = ref(EMA(Close, period1),-1)>ref(EMA(Close, period2),-1) AND period2>period1;


Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);

ApplyStop(stopTypeProfit,stopModePercent,0.5, True);
ApplyStop(stopTypeLoss,stopModePercent,0.5, True );
equity(1);

В роботе поменял только Buy1, Sell1 и т.п на Buy, Sell ...

Не знаю влияет ли это или нет, но в AA ставил "All quotations", а то не видно сделок на графике Ami

Сам код вашего робота вставлял в самом конце, после своего кода.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Брррр. All quotations нельзя ни в коем случае....

И робота ты, похоже, как индикатор используешь? Не в АА ?

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



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

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

000 писал(а):
Брррр. All quotations нельзя ни в коем случае....

И робота ты, похоже, как индикатор используешь? Не в АА ?


Ясно.

Просто кроме окна AA в Ami у меня открыт график со скользящими и т.п, если ставить в AA "n last quotations", то на этом графике перестает показывать стрелочки с сигналами Buy, Sell и т.п. Вот я и влепил ему "All quotations" в надежде что не чего существенного не произойдет (и заявки в quik будут передаваться и стрелочки с сигналами в Ami видеть).

Раз это принципиально, то придется поставить второй Ami чтобы смотреть на нем точки входов и выходов.
Посмотреть профиль Отправить личное сообщение
Slava8519



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

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

Я проверил как вы сказали. Поставил Buy1=1; Не покупает. Вот смотрю на код и не могу понять почему.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Май 19, 2012 5:38 am Ответить с цитатой Вернуться к началу

Sergg писал(а):
000 писал(а):
Брррр. All quotations нельзя ни в коем случае....

И робота ты, похоже, как индикатор используешь? Не в АА ?


Ясно.

Просто кроме окна AA в Ami у меня открыт график со скользящими и т.п, если ставить в AA "n last quotations", то на этом графике перестает показывать стрелочки с сигналами Buy, Sell и т.п. Вот я и влепил ему "All quotations" в надежде что не чего существенного не произойдет (и заявки в quik будут передаваться и стрелочки с сигналами в Ami видеть).

Раз это принципиально, то придется поставить второй Ami чтобы смотреть на нем точки входов и выходов.

Т.е у тебя есть робот в АА и еще некий код индикатор который не робот но показывает стрелки сделок. И вот этому индикатору надо "All quotations". Так?

Если так, то в принципе, думаю, что можно в АА оставить "All quotations" только тогда надо в коде кое что сделать. Желательно бы мне увидеть весь код робота, но в общих чертах нужно в конце системы после Equity() написать Buy = LastValue(Buy); хотя я не уверен что это нормально сработает.

Лучше всего не использовать в роботе ApplyStop() и Equity().
И, кстати, в индикаторе, где смотришь стрелки поставь Equity(1, 0); Тогда настройки АА не должны влиять и можно будет в АА поставить последний бар.

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


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

СообщениеДобавлено: Сб Май 19, 2012 5:45 am Ответить с цитатой Вернуться к началу

Slava8519 писал(а):
Я проверил как вы сказали. Поставил Buy1=1; Не покупает. Вот смотрю на код и не могу понять почему.

А если не 50ти тиковый, а обычный фрейм выбрать, то отправляет?

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



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

СообщениеДобавлено: Сб Май 19, 2012 10:21 am Ответить с цитатой Вернуться к началу

Да на обычном таймфрейме робот у меня несколько дней уже работал. А вы пробовали запускать робота на тиковых графиках? Может какието особенности сам амиброкер имеет?
Посмотреть профиль Отправить личное сообщение
Sergg



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

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

000 писал(а):

Т.е у тебя есть робот в АА и еще некий код индикатор который не робот но показывает стрелки сделок. И вот этому индикатору надо "All quotations". Так?

Если так, то в принципе, думаю, что можно в АА оставить "All quotations" только тогда надо в коде кое что сделать. Желательно бы мне увидеть весь код робота, но в общих чертах нужно в конце системы после Equity() написать Buy = LastValue(Buy); хотя я не уверен что это нормально сработает.

Лучше всего не использовать в роботе ApplyStop() и Equity().
И, кстати, в индикаторе, где смотришь стрелки поставь Equity(1, 0); Тогда настройки АА не должны влиять и можно будет в АА поставить последний бар.


Спасибо, действительно если поставить Equity(1, 0) вместо Equity(1), то все стрелочки с сигналами рисуются нормально и при "n last quotations".

Что касается "некий код индикатор который не робот но показывает стрелки сделок" - нет, просто некий робот открыт и в "blank charts" и запущен в AA для передачи сигналов в Quik. Просто когда он открыт в blank charts он показывает на каких барах прошел buy, sell и т.п, по какой цене (открытие+проскальзывание), где стоят стопы для лонга, шорта, где экстренные стопы и т.п. Вообщем дает визуальное отображение происходящего. А то в Quik прошла допустим сделка, а завтра ее не видно.

Понятное дело я не буду использовать конкретно эту стратегию с 2-мя скользящими средними на реальной торговле, просто мои основные стратегии делают от силы пару сделок в неделю и мне пришлось бы долго ждать чтобы проверить вашего робота на реальных сигналах основной моей стретегии. А тут эти скользящие за день раз 5 туда сюда пересекаются и сигналов хоть отбавляй чтобы посмотреть как прошел buy, как sell, как выход по стопу.
Вчера на фортсе вечером еще погонял робота но уже с "n last quotations" и вроде все нормально было.

Что касается "Лучше всего не использовать в роботе ApplyStop() и Equity()" - а чем это грозит?
Я себе вижу только проблему с отпавшим инетом, электричеством когда стоп сработает только когда Quik заново подконектится к серверу брокера.
Просто когда Ami выходит по ApplyStop как по сигналу Sell я хотя бы знаю что он сразу же потом не откупит эти акции обратно если сигнал Buy все еще действует.
Конечно в идеале было бы лучше если бы он ставил реальные стоп-заявки в Quik, но это наверно больше проблема с моими познаниями в Ami
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Май 19, 2012 10:36 am Ответить с цитатой Вернуться к началу

Slava8519 писал(а):
Да на обычном таймфрейме робот у меня несколько дней уже работал. А вы пробовали запускать робота на тиковых графиках? Может какието особенности сам амиброкер имеет?

Не пробовал. Обязательно проверю. Кстати, у тебя базовый фрейм БД надеюсь тиковый?

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


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

СообщениеДобавлено: Сб Май 19, 2012 10:53 am Ответить с цитатой Вернуться к началу

Sergg писал(а):

Что касается "некий код индикатор который не робот но показывает стрелки сделок" - нет, просто некий робот открыт и в "blank charts" и запущен в AA для передачи сигналов в Quik.

Ааааа... Так нельзя. Получается, что у тебя 2 робота. Код на графике тоже работает и вероятно выполняет функции робота, или, по крайней мере пытается. Возможно, что 2 сделки именно поэтому проскочили. Робота из чартов убери, по крайней мере убери из него часть которая сделки отправляет.

Sergg писал(а):

Что касается "Лучше всего не использовать в роботе ApplyStop() и Equity()" - а чем это грозит?
Я себе вижу только проблему с отпавшим инетом, электричеством когда стоп сработает только когда Quik заново подконектится к серверу брокера.
Просто когда Ami выходит по ApplyStop как по сигналу Sell я хотя бы знаю что он сразу же потом не откупит эти акции обратно если сигнал Buy все еще действует.
Конечно в идеале было бы лучше если бы он ставил реальные стоп-заявки в Quik, но это наверно больше проблема с моими познаниями в Ami

Работа Equity зависит от настроек в АА. Есть риск, что однажды станешь что либо тестировать и изменишь настройки. В результате потом робот слажает.
По стопам. Если их ставить на сервер, то могут вылезти косяки с отслеживанием исполнения. В результате робот не правильно оценит свою текущую позицию.
Мне кажется, со стопами лучше всего так http://www.amisite.ru/afl/exp/0003.htm там не дописано и в описании есть неправильности, но сам код в конце (скачать код) вполне нормальный.

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



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

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

Да базовый фрейм тиковый. Проверьте, очень рекомендую. Тиковые графики ведут себя весьма отлично от временных. И многие стратегии основанные на тех анализе ведут себя там гораздо лучше(100,128,200,256 тиковые).Можно даже 20ти тиковые, но там есть уже риск при движениях с большими обьемами появления нескольких баров за секунду.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen