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


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

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

То, что одна бумага сильно облегчает задачу.
Функция equity для портфеля не применима.
Тебе надо построить equity по всему ценовому ряду
RangeType = 0
и потом этот массив анализировать.
Для этого надо определить начало месяца. Это проще всего сделать так
NewMonth = Day() < Ref(Day(), -1);
Собственно все. Дальше берешь значение эквити на начало месяца функцией ValueWhen() и берешь минимум эквити с начала месяца функцией LowestSince() в результате имеешь график просадки по месяцам.

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



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

СообщениеДобавлено: Вт Янв 28, 2014 11:03 am Ответить с цитатой Вернуться к началу

000 писал(а):
УУУ. Это довольно сложно.
Для начала надо спросить торгуется портфель ли одна бумага?

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



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

СообщениеДобавлено: Вт Янв 28, 2014 11:05 am Ответить с цитатой Вернуться к началу

ОК. Буду пробовать.
Посмотреть профиль Отправить личное сообщение
A181AA



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

СообщениеДобавлено: Вт Янв 28, 2014 1:06 pm Ответить с цитатой Вернуться к началу

На графике удалось показать просадку с начала месяца. Теперь нужно прописать условия входа. Как узнать есть ли активная (открытая) позиция?
Посмотреть профиль Отправить личное сообщение
A181AA



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

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

Profit/Loss за месяц в процентах:

Код:
PLMonth = (Equity()/ValueWhen(Month()!=Ref(Month(), -1), Equity(), 1)-1)*100;


Последний раз редактировалось: A181AA (Вт Янв 28, 2014 3:47 pm), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

A181AA писал(а):
На графике удалось показать просадку с начала месяца. Теперь нужно прописать условия входа. Как узнать есть ли активная (открытая) позиция?

Вопрос не понял.

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



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

СообщениеДобавлено: Вт Янв 28, 2014 3:49 pm Ответить с цитатой Вернуться к началу

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


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

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

Примерно так
У тебя есть правила системы
Buy = ...;
Sell = ...;
...
Дальше
Equity() и бла бла по правилам этой системы.
Дальше ты модифицируешь правила с учетом Equity()

Buy = Buy AND ...Equity()...;
Sell = Sell AN ...Equity()...;

И все на выходе имеешь сигналы первоначальной системы модифицированные с учетом Equity()

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


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

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

Коллеги, привет!

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

Код:
Filter = 1;

my_name = FullName();

AddColumn(my_name,"Название инструмента");
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Наверное потому, что функция FullName() возвращает строку, а функция AddColumn требует массив. Замени ее на AddTextColumn()

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



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

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

Подскажите пожалуйста.
Как узнать дату и время на баре

for(i = 1; i < BarCount; i++)
{
Close[i] - день, минуты?
}
Посмотреть профиль Отправить личное сообщение
spitfire



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

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

logMonth = Month(); //1-12 месяц
logYear = Year(); // год
logDay = Day(); //1-31 день
logTime = TimeNum(); //время

Потом обращаешься к этим массивам по индексу i в цикле.
Посмотреть профиль Отправить личное сообщение ICQ Number
AlexLan73



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

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

Спасибо за ответ)))
Я Вас правильно понял
LogTime = TimeNum();
for(i = 1; i < BarCount; i++)
{
a1=Close[i];
t1=LogTime[i]; <- так?

}
Посмотреть профиль Отправить личное сообщение
spitfire



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

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

Аха, точняг Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
ID
Советник


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

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

000 писал(а):
Наверное потому, что функция FullName() возвращает строку, а функция AddColumn требует массив. Замени ее на AddTextColumn()


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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen