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


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

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

Nero Wolfe писал(а):
В какой то из программ анализа (в Multicharts кажется), на скринах видел интересую визуализацию сделок: входы и выходы соединены пунктирной линией и сразу видно где зашел, где вышел из сделки.
Вот скрин Image
Можно ли в АМИ так сделать?

Скрин не вижу.

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


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

СообщениеДобавлено: Сб Ноя 08, 2014 12:01 am Ответить с цитатой Вернуться к началу

2 варианта.
Если надо чтобы чтобы котировки за пределами дневной сессии вообще не учитывались системой, то можно включить фильтрацию в БД
http://www.amisite.ru/begin/creat_bd.shtml
см настройки «Intraday settings»
А если надо чтобы система обсчитывала котировки за пределами дневной сессии, но сделок там не совершала, то просто добавь в правила сделок фильтр
Код:
TimeFilter = TimeNum() > 100000 AND TimeNum() < 180000;
Buy = ... AND TimeFilter;

Только в таком случае стопы все равно будут срабатывать и за пределами...

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



Зарегистрирован: 03.01.2008
Сообщения: 49
Откуда: Балаково

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

Итак есть примерно такой код.
Цитата:
AM=Param("Periods",20,10,200,1);
bm=Ref((H+L+C)/3,-1);
dir=abs(bm-Ref(bm,-1*am));
vol=Sum(abs(bm-Ref(bm,-1)),am);
ER=dir/vol;
UPS = int((1-er)*100);
//-----------------------------

n = UPS;
A = Param("A",100,0,200,10);
X = (((A*0.015-1) - Ref(Sum(H,n),-1) - A*0.015*n))/(A*0.015 - (n+1)-Lo);


Нижняя часть кода от балды, суть не в этом

В таком виде он не работает конечно, ибо бракует значение n.
Ставим
Цитата:
n = LastValue(UPS);
работает.

Теперь вопросы.
При построении графика для X, ами построит нам его для последнего значения UPS. Но, согласно коду, значение UPS вообще каждый бар разное.
Вопрос 1: как построить график для Х, чтобы ами на каждом баре ставил правильное значение UPS, а не последнее вычисленное в чарте?
Вопрос 2: При прогоне кода через бектест, какие значения UPS ами берёт для расчёта? Последнее в чарте или истинное для каждого бара?

Вопрос 3 Как изменить код, чтобы и рисовалось и тестировалось правильно?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Ноя 11, 2014 6:15 pm Ответить с цитатой Вернуться к началу

У меня на n не ругается (версия 5.8.3). Зато ругается на Lo, что не удивительно.

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



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

СообщениеДобавлено: Ср Ноя 12, 2014 4:31 pm Ответить с цитатой Вернуться к началу

Цитата:
Скрин не вижу.

Загружу сюда.

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

В общем можно типа так сделать. Buy, Sell, Short, Cover, ApplyStop(). Потом Equity() для удаления лишних сигналов и активации стопов. И потом соединить соответствующие сигналы. Только это будет отдельный индикатор. И не факт, что он на 100% совпадет с результатами портфельного тестера.

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


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

СообщениеДобавлено: Пт Ноя 14, 2014 1:01 am Ответить с цитатой Вернуться к началу

Код:
qqq = Null;
procedure Line(x1, x2, y1, y2) // процедура которая расчитывает линию
{
   step = (y2 - y1)/(x2 - x1);
   for(j = x1; j < x2; j++)
   {
      if(j == x1)
         qqq[j] = y1;
      else   
         qqq[j] = y1 + (j-x1)*step;
   }
}

Buy = Cross(C, MA(C, 10));
Sell = Cross(MA(C, 20), C);

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

pos = 0;
for(i = 1; i < BarCount; I++)
{
   pos[i] = Pos[i - 1];
   if(pos[i] == 0)
   {
      if(Buy[i])
      {
         pos[i] = 1;
         BeginXP = i;
         BeginYP = C[i];
      }
   }
   if(pos[i] == 1)
   {
      Line(BeginXP, i, BeginYP, C[i]);
      if(Sell[i] == 1)
      {
         pos[i] = 0;
      }   
   }
}


Plot(C, "", colorBlack, styleCandle);
PlotShapes(Buy * shapeUpArrow, colorGreen, 0);
PlotShapes(Sell * shapeDownArrow, colorRed, 0);
Plot(qqq, "", colorGreen, styleDots);

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



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

СообщениеДобавлено: Пт Ноя 14, 2014 9:49 am Ответить с цитатой Вернуться к началу

Спасибо, буду пробовать Smile
Такой бы функционал в АМИ по дефолту, мне кажется, очень удобно...

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Подумалось.
А вот если ничего не соединять линией, а просто закрасить фон между покупкой и продажей, то все ГОРАЗДО проще.

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



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

СообщениеДобавлено: Чт Дек 04, 2014 4:10 pm Ответить с цитатой Вернуться к началу

Помогите пожалуйста, не могу разобраться в чем проблема:
Пытаюсь создавать несколько условий покупки
Buy1 =
Bay2 =
Bay = Bay1 or Bay2

При прохождении сканирования выдает ошибки с указанием на 1 и 2
при этом нет никаких проблем, когда те же условия прописываю путем Buy = _____________ or _____________ закладывая условия Buy1 и Buy2
может что нибудь в настройках Ами не так
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Дек 04, 2014 9:42 pm Ответить с цитатой Вернуться к началу

Может дело в этом

Buy1 =
Bay2 =
Bay = Bay1 or Bay2

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



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

СообщениеДобавлено: Чт Дек 04, 2014 10:45 pm Ответить с цитатой Вернуться к началу

Да нет, это я на форуме опечатку сделал, это не только с buy
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Дек 04, 2014 11:57 pm Ответить с цитатой Вернуться к началу

Тогда не достаточно информации для ответа.

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



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

СообщениеДобавлено: Сб Фев 28, 2015 2:25 pm Ответить с цитатой Вернуться к началу

Подскажите как сказать амиброкеру не переводить большие числа в экспотенциальную нотацию , как пример 2.01502e+007?
Надо оставлять число как есть.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Фев 28, 2015 5:02 pm Ответить с цитатой Вернуться к началу

В каком месте?

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen