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


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Вс Ноя 16, 2008 8:05 pm Ответить с цитатой Вернуться к началу

Посмотрел робота на главной странице сайта. Можно спросить какие внесены изменения по сравнению с версией представленной на сайте рус. трейдер. В часности, отправка 2 сигналов на 1 баре и т.д, а я к примеру в циклах 0, а как пользоваться не зная что по чем? Для чего добавлен dir = 0;

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


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

СообщениеДобавлено: Вс Ноя 16, 2008 8:35 pm Ответить с цитатой Вернуться к началу

Принципиальных отличий естественно нет. Самое главное робот заточен для работы из АА (автоматического анализатора).
Переменная dir введена для того, чтобы дать возможность совершать переворот позиции (на одном баре одновременно закрытие длинной и открытие короткой позиции). Это две продажи, но одна из них sell, а вторая short. В процессе тестирования выяснена неприятная подробность. В некоторых случаях совершенно необходимо чтобы базовый фрейм графика совпадал с рабочим фреймом на котором "трудится" робот. Smile

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





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

Использую робот с сайта. Сегодня получил сигнал sell, причем робот в long не вставал. Сигналы на открытие и закрытие позиции разные. Вопрос: как такое может быть? Мне казалось, что сначала необходимо открыть позицию, а уж потом ее закрывать Smile
000
Site Admin


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

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

Сьранно это...
Пара вопросов.
1. Робот не встал в лонг или по системе лонга быть не должно? (в смысле может просто сигнал на лонг не прошол по какой либо причине)
2. Строка
Equity(1, 0);
в роботе сохранена?

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





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

000 писал(а):
Сьранно это...
Пара вопросов.
1. Робот не встал в лонг или по системе лонга быть не должно? (в смысле может просто сигнал на лонг не прошол по какой либо причине)
2. Строка
Equity(1, 0);
в роботе сохранена?



1. По системе лонга быть не должно.
2. Строка есть, после правил системы:

buy=Cond1;
sell=Cond2;
short=Cond3;
cover=Cond4;

Equity(1, 0);

Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));

В режиме сканера появился сигнал sell (действительно по правилам Cond2), и заявка ушла. Пришлось руками закрывать, отключив робота.
Cond2 условие составное (par1 or par2 or par3), par2=true, соответственно Cond2 true, появился sell.


Последний раз редактировалось: anor330 (Ср Дек 17, 2008 7:10 pm), всего редактировалось 1 раз
000
Site Admin


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

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

Цитата:

1. По системе лонга быть не должно.

Всетаки проверь тестером. Прогони свою систему на истории и глянь был-ли лонг в этом месте.
Никак функция Equity(1, 0); не могла пропустить sell если не считала, что система в лонге. Поэтому думаю, что скорее робот пропустил сигнал Buy

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





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

000 писал(а):
Цитата:

1. По системе лонга быть не должно.

Всетаки проверь тестером. Прогони свою систему на истории и глянь был-ли лонг в этом месте.
Никак функция Equity(1, 0); не могла пропустить sell если не считала, что система в лонге. Поэтому думаю, что скорее робот пропустил сигнал Buy



Прогнал тестером. Лонг по системе 12.12.08, выход 17.12.08 15:00 (как раз когда появился sell). Робот включен сегодня в 10:15, соответственно знать о long'e он не мог Smile
000
Site Admin


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

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

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

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





СообщениеДобавлено: Чт Дек 18, 2008 12:53 am Ответить с цитатой Вернуться к началу

000 писал(а):

В идеале конечно надо делать робота с обратной сязью, чтобы он смотрел какая реально позиция открыта в квике и сравнивал её с тем, что болжно быть по системе, но такого робота настраивать довольно тяжело...


А если упростить и ввести флаг, например, OutOfMarket. Перед выполнением записи в .tri файл проверять флаг. Это даст возможность убрать "лишние" сигналы sell или cover.
Кстати, аналогично можно сделать и анализ для реверсивной системы (cover=buy, sell=short). В текущем варианте робота при открытии позиции (только в первый раз) формируются 2 заявки по сигналам buy и cover, short и sell. Флаг позволит убрать лишний сигнал.
000
Site Admin


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

СообщениеДобавлено: Чт Дек 18, 2008 1:20 am Ответить с цитатой Вернуться к началу

anor330 писал(а):
000 писал(а):

В идеале конечно надо делать робота с обратной сязью, чтобы он смотрел какая реально позиция открыта в квике и сравнивал её с тем, что болжно быть по системе, но такого робота настраивать довольно тяжело...


А если упростить и ввести флаг, например, OutOfMarket. Перед выполнением записи в .tri файл проверять флаг. Это даст возможность убрать "лишние" сигналы sell или cover.
Кстати, аналогично можно сделать и анализ для реверсивной системы (cover=buy, sell=short). В текущем варианте робота при открытии позиции (только в первый раз) формируются 2 заявки по сигналам buy и cover, short и sell. Флаг позволит убрать лишний сигнал.

Можно. Только флаг придется писать в отдельно созданный фаил (или проще в записную книжку Ами)

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


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

СообщениеДобавлено: Чт Дек 18, 2008 1:26 am Ответить с цитатой Вернуться к началу

Самый простой способ изменить строку где Equity(1, 0) и вставить туда дату начала торгов.
Типа
Equity(1, 3, 1081212, Now(format = 3));

Хотя возможно это не так надежно.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.

Последний раз редактировалось: 000 (Чт Дек 18, 2008 1:26 am), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
anor330
Гость





СообщениеДобавлено: Чт Дек 18, 2008 1:26 am Ответить с цитатой Вернуться к началу

А такой вариант:

Код:
// начальные установки
OutOfMarket=1;  // флаг для проверки вне рынка или в рынке находится quik. Если =1, то мы вне рынка, если =0
                // то мы уже в рынке и надо исполнять сигналы SELL или COVER

далее для пары buy/sell:

if(Buy)
   {
      price = Close[BarCount-1] + Otstup;
      dir = "1";
      makeandsave("B", price);
                Position = 1;
                OutOfMarket=0;

   }
   if(Sell)
   {
      

         if(OutOfMarket == 1)
          {
              PopupWindow( "Сигнал SELL проигнорирован, мы не в рынке", "ошибка", timeout = 5, left = -1, top = -1 );
               
          }
          else
          {
              price = Close[BarCount-1] - Otstup;
             dir = "2";
             makeandsave("S", price);
                       Position = 2;
                       OutOfMarket=1;
          }
   
   }

Аналогично для пары short/cover
000
Site Admin


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

СообщениеДобавлено: Чт Дек 18, 2008 1:38 am Ответить с цитатой Вернуться к началу

Можно и так, но есть пара нюансов.
1. Важный. Где будем хранить OutOfMarket?
Если просто как переменноую в Ами, то при перезапуске Ами он обнулится. Надо либо в фаил, либо (что проще) в блокнот Ами
Кроме того, приведенный способ годится только при торговле одной бумаги.
2. имхо логичнее
OutOfMarket = 1 если лонг
OutOfMarket = -1 если шорт
OutOfMarket = 0 если внерынка

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



Зарегистрирован: 07.09.2008
Сообщения: 58
Откуда: Омск

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

Тупой вопрос, но лучше его раз задать, чем терпеть: а обязательно АА при пользовании роботом держать включенным? У меня он и так пишет triшку!

_________________
Мой блог: http://analyseman.blogspot.com/
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


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

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

Tsch писал(а):
Тупой вопрос, но лучше его раз задать, чем терпеть: а обязательно АА при пользовании роботом держать включенным? У меня он и так пишет triшку!

Не обязательно.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen