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



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

СообщениеДобавлено: Вс Апр 04, 2010 10:23 am Ответить с цитатой Вернуться к началу

000 писал(а):
Там с циклом ты намутил что то непонятное мне.
Не следовало использовать функцию TimeFrameGetPrice(.. , in1Minute, ..)
Она предназначена для обращения к бОльшему, чем используемый фрейму.
Не понял зачем используется SelectedValue()

В общем если хочешь разобраться, то напиши как представлял работу этого кода и что от него хотел.


Олег спасибо большое за ответы, неудобно уже дальше мучать этим вопросом, со временем сам пойму, когда получше в AFL разберусь.
Сейчас для себя уяснил одно, лучше все делать через iif, а циклы только в самом последнем случае использовать.

Хотел еще кое что спросить.
Написал прогу, она мне делает иногда по 2 сделки в день, а я хочу не больше 1 сделки. Есть ли какое то решение.

Что то типа вот такого:
Buy = CondBuy and (первая сделка за сегодня)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Апр 04, 2010 10:43 am Ответить с цитатой Вернуться к началу

Alexander_tr писал(а):


Хотел еще кое что спросить.
Написал прогу, она мне делает иногда по 2 сделки в день, а я хочу не больше 1 сделки. Есть ли какое то решение.

Что то типа вот такого:
Buy = CondBuy and (первая сделка за сегодня)

Сделай типа так.
Код:

Buy = ...;
EndDay = Day() != Ref(Day(), 1);
Counter = Flip(Buy, EndDay);
Buy = Buy AND Ref(Counter == 0, -1);

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



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

СообщениеДобавлено: Вс Апр 04, 2010 1:48 pm Ответить с цитатой Вернуться к началу

огромное спасибо! все заработало Smile
Посмотреть профиль Отправить личное сообщение
Alexander_tr



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

СообщениеДобавлено: Вс Апр 04, 2010 7:43 pm Ответить с цитатой Вернуться к началу

Олег, еще один вопрос Smile (если не надоел еще)

Для своего управления капиталом хочу считать следующее:

Код:

Maxcapital = ValueWhen(  Day() != Ref(Day(),-1) AND Maxcapital < Equity(0), Equity(0)  );


Т.е. когда достигается новый пик по капиталу, запоминать его.

Но код выше работает не так как хотелось бы, значение maxcapital все время равно значению equity(0) вначале дня.

подскажите пож как быть
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

да просто возьми
Код:

Maxcapital = highest(Equity(0));

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



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

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

000 писал(а):
да просто возьми
Код:

Maxcapital = highest(Equity(0));


Мне это не совсем подойдет.

Ситуация какая: внутри дня совершаются сделки, и капитал в моменте может достигать нового максимума, но потом сделка оказывается убыточной и он уменьшается. Т.е. я хочу его измерять в моменты, когда я не в сделке. А это происходит вначале каждого дня, стратегия внутридневная.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Код:

E = IIf(Day() != Ref(Day(),-1), Equirty(0), 0);
Maxcapital = Highest(E);

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



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

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

Олег, спасибо огромное!!
Посмотреть профиль Отправить личное сообщение
Alexander_tr



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

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

000 писал(а):
Код:

E = IIf(Day() != Ref(Day(),-1), Equirty(0), 0);
Maxcapital = Highest(E);


Возникла такая проблема.

Когда я попытался посчитать num = MaxCapital / Openprice;

и нарисовал это, то получилось, что он все время брал maxcapital = начальный капитал

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


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

СообщениеДобавлено: Пн Апр 05, 2010 12:00 am Ответить с цитатой Вернуться к началу

Скорее всего ты E считаешь до того как написал правила сделок Buy/Sell/Short/Cover. Поэтому эквити считается без сделок вот и равно всегда начальному значению.

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



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

СообщениеДобавлено: Пн Апр 05, 2010 12:29 am Ответить с цитатой Вернуться к началу

000 писал(а):
Скорее всего ты E считаешь до того как написал правила сделок Buy/Sell/Short/Cover. Поэтому эквити считается без сделок вот и равно всегда начальному значению.


действительно, написал после правил помогло
Посмотреть профиль Отправить личное сообщение
Alexander_tr



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

СообщениеДобавлено: Пн Апр 05, 2010 9:12 am Ответить с цитатой Вернуться к началу

000 писал(а):
Скорее всего ты E считаешь до того как написал правила сделок Buy/Sell/Short/Cover. Поэтому эквити считается без сделок вот и равно всегда начальному значению.


Возникла еще одна проблема с maxcapital

когда я рисую ее на графике equity, она нормально отображается как и хотел, но при расчетах оказалось, что она почему то гораздо больше.

Когда в тестере смотришь сделки, то при капитале в 1000000 птв на фуче за день прибыль составила 56000 птв, а он мне пишет, что типа 46% к капиталу. Ну и соответственно на следующий день заходит мне в позицию, как будто у меня капитал 1,4 млн, хотя это не так.

В настройках фуча поставил
round lot size 1 margin deposit -15 Tick size 5 point value 1

Код:

buy/sel...

Eq= IIf( Day() != Ref(Day(),-1), Equity(0), 0  );
MaxCapital = Highest(Eq);

num = floor ( MaxCapital / Openprice );

SetPositionSize(num, 4);

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

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


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

СообщениеДобавлено: Пн Апр 05, 2010 9:22 am Ответить с цитатой Вернуться к началу

Ну естественно.
Вот смотри. Ты пишешь бай/сел (сайз пока не установлен) потом считаешь эквити. Она получается как если бы торговал на все деньги. А потом уже устанавливаешь сайз позиции. Не стыковочка....

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


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

СообщениеДобавлено: Пн Апр 05, 2010 9:23 am Ответить с цитатой Вернуться к началу

Кстати. Если используешь функцию Equity() и после неё не переопределяешь сигналы сделок, то ExRem не надо. Equity() сама лишние сигналы удалит.

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



Зарегистрирован: 01.04.2010
Сообщения: 60
Откуда: Москва

СообщениеДобавлено: Пн Апр 05, 2010 10:09 am Ответить с цитатой Вернуться к началу

Что то я в конец запутался.



num и possize перед buysell, Eq и maxcap после. Рузультат: num постоянно 0. maxcap еще не определен, понятно почему 0

после num не логично ставить, что то у меня варианты кончились.

Причем, в тестере он ведь первый день мне правильно все посчитал, сколько контрактов купить , а во второй +44% показал при правильном колве контрактов и все сломалось...

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen