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



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

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

000 писал(а):
Вроде заработало после вот таких дополнений

Действительно заработало, огромное спасибо Smile

Еще вопрос на засыпку, с функцией Nz вроде разобрался, но несовсем понятно для чего нужно в начале кода: Sell = 0;?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

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

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


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

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

Привет!

У меня проблема с реализацией профита.
Помогите плз.

Ситуация.

На свече 1 см.рисунок был бай.

Код:
buy=   cond1;


я прописываю уровень профита:

Код:
sp_l=   iif(buy,buyprice+0.0100,null);


затем прописываю селл:

Код:
sell=   H>=valuewhen(buy,sp_l,1);


На большинстве сделок нормально пашет, но есть геморрой.
Например, см рисунок.

Image

На первой бай, нарисовал уровень.
На второй бай, профит не исполнен, из-за того что был на
2 свече бай, неисполненний профит становится выше. А мне
надо, чтоб этой бай до селла игнорировался.
Как быть.


Exrem брал - не то получалось.

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


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

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

Цитата:

На первой бай, нарисовал уровень.
На второй бай, профит не исполнен, из-за того что был на
2 свече бай, неисполненний профит становится выше. А мне
надо, чтоб этой бай до селла игнорировался.
Как быть.


А Equiti(1) не пробовал?

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



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

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

Griff писал(а):
Все никак не могу разобраться с этим BarsSince, начинаю уже чувствовать себя валенком Sad. Допустим имеется код:
Код:

Buy = Ref (O, -1) > Ref (O, -2);
BuyPrice = O;

X = BarsSince (Buy);

Sell = O > Ref (BuyPrice, -X);
SellPrice = O;

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


Смысл такой: покупаем по сигналу "Buy", но продаем только тогда, когда цена открытия больше цены покупки.

С помощью "Exrem" визуально убираем лишние сигналы.

А теперь фокус, "BarSince" считает точки "Buy" до следующего сигнала "Buy", т.е. если между сигналами на "Buy" и "Sell" имеется еще один сигнал на покупку, то реальный сигнал "Buy" (по которому действительно покупали) становится не актуальным и отсчет "X" уже идет от второго сигнала "Buy"...

К примеру:
Image



Где такую табличку взять плз...
Посмотреть профиль Отправить личное сообщение
commenced
Советник


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

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

polekoff писал(а):
Griff писал(а):
Все никак не могу разобраться с этим BarsSince, начинаю уже чувствовать себя валенком Sad. Допустим имеется код:
Код:

Buy = Ref (O, -1) > Ref (O, -2);
BuyPrice = O;

X = BarsSince (Buy);

Sell = O > Ref (BuyPrice, -X);
SellPrice = O;

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


Смысл такой: покупаем по сигналу "Buy", но продаем только тогда, когда цена открытия больше цены покупки.

С помощью "Exrem" визуально убираем лишние сигналы.

А теперь фокус, "BarSince" считает точки "Buy" до следующего сигнала "Buy", т.е. если между сигналами на "Buy" и "Sell" имеется еще один сигнал на покупку, то реальный сигнал "Buy" (по которому действительно покупали) становится не актуальным и отсчет "X" уже идет от второго сигнала "Buy"...

К примеру:
Image



Где такую табличку взять плз...

Порылся где именно такую, незнаю, но она и ненужна, га графика ты все визуально увидиш.

Код:
Buy = Ref (O, -1) > Ref (O, -2);
BuyPrice = O;

X = BarsSince(Buy);

Sell = O > Ref (O, -X);
SellPrice = O;

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

Short = 0;
Cover = 0;
Plot(O,"O", 4,1);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);

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


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

СообщениеДобавлено: Вс Июн 01, 2008 10:41 am Ответить с цитатой Вернуться к началу

polekoff писал(а):

Где такую табличку взять плз...

Тут http://www.amisite.ru/begin/bk_test1sumb.htm написано

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



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

СообщениеДобавлено: Вс Июн 01, 2008 1:11 pm Ответить с цитатой Вернуться к началу

Спасибо.
Посмотреть профиль Отправить личное сообщение
ID
Советник


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

СообщениеДобавлено: Пн Июн 02, 2008 5:38 am Ответить с цитатой Вернуться к началу

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

На первой бай, нарисовал уровень.
На второй бай, профит не исполнен, из-за того что был на
2 свече бай, неисполненний профит становится выше. А мне
надо, чтоб этой бай до селла игнорировался.
Как быть.


А Equiti(1) не пробовал?


не помогло (((
Олег, есть еще варианты?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Июн 02, 2008 6:56 am Ответить с цитатой Вернуться к началу

Цитата:
не помогло (((
Олег, есть еще варианты?

Еще вариант установить уровень профита с помощью ApplyStop(). Это 100% должно сработать.

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


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

СообщениеДобавлено: Пн Июн 02, 2008 7:35 am Ответить с цитатой Вернуться к началу

Applystop работает.

Но!

1) при работе с валютой на один пункт иногда неправильно считает. Я тебе уже говорил.


2) В ФК нет проскальзывания - а ами думает что есть. Это можно отключить?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Июн 02, 2008 7:41 am Ответить с цитатой Вернуться к началу

Цитата:
2) В ФК нет проскальзывания - а ами думает что есть. Это можно отключить?

В смысле? Я не сталкивался с тем, что ами учитывает просткальзывание. Иногда цена сделки отличается на пунктик, но я думаю, что это связано с округлениями при расчетах.

Кроме того мне кажется, что у нормальной стратегии средняя сделка должна превышать спред хотябы раза в 4, а в таком случае на некоторую неточность тестирования можно не обращать внимания.

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


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

СообщениеДобавлено: Пн Июн 02, 2008 7:41 am Ответить с цитатой Вернуться к началу

Или придется сделать через цикл.

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


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

СообщениеДобавлено: Пн Июн 02, 2008 8:04 am Ответить с цитатой Вернуться к началу

000 писал(а):
Цитата:
2) В ФК нет проскальзывания - а ами думает что есть. Это можно отключить?

В смысле? Я не сталкивался с тем, что ами учитывает просткальзывание.


1) если гэп против меня - ами закроет по открытию. На профит ему будет все равно. Профит проигнорирует.

2) Как сделать через циклы, подскажи плз. У меня с циклами - пипец. Не въезжаю (((
Посмотреть профиль Отправить личное сообщение
Griff



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

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

000 писал(а):
Вроде заработало после вот таких дополнений

Олег, может у тебя какая-нибудь мысль появится. Прикол в том, что код работает, но иногда происходит передержка закрытия позиции, если взять тот же LKOH и фильтр с 01.01.2003, никакие настройки не изменялись. Самая первая сделака получается 04.01.2003 по цене 492.50:

Image

Уже на следующий же день цена была 496.50, и так же 06.03.2003 была 503. Только вот закрытие произошло именно 29.05.2003 Shocked При чем такое нашел только на этой сделке, остальные, по крайней мере долгие сделки, закрывались нормально. Попробовал на другой акции, тоже есть такой косяк, только не на первой сделке, а почти посередине.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen