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


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

СообщениеДобавлено: Вт Янв 22, 2008 7:07 am Ответить с цитатой Вернуться к началу

На каких работает, а на каких не работает?

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


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

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

На CHF u EUR - не работает!
На AUD, CAD, EURJPY, GBPJPY, GBP - работает...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Там в начале данных косяки. Исправь последнюю строку
Код:

Plot(Equity(1, 3, 960101, EndValue(DateNum())),"eqiuty",colorRed,1);

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


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

СообщениеДобавлено: Вт Янв 22, 2008 12:23 pm Ответить с цитатой Вернуться к началу

Ага, спасибо!

только твой код на евро не работает,
а вот этот за милую душу:
Код:
Plot(Equity(1, 3, 1010101, EndValue(DateNum())),"eqiuty",colorRed,1);

Главное, я смысл понял - спасибки еще раз!
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Янв 22, 2008 12:36 pm Ответить с цитатой Вернуться к началу

Цитата:
только твой код на евро не работает

У меня сработал.
А дело там вот в чем. У тебя выход по цене Lmin и при этом выключен PriceBoundChecking, в данных в начале лои и хаи отсутствуют. Он покупает, потом выходит по отсутствующей цене т.е. 0 и бабло сразу кончается. Прогняешт этот код в тетстере и смотришь список сделок. Там сразу видно.

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


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

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

000 писал(а):
Прогняешт этот код в тетстере и смотришь список сделок. Там сразу видно.


Ага я тож пытался прогонять - смотри что вылазило:
Image
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Надо было олд бактестер гонять. Он не падает.

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


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

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

Привет!

Ребята, возник маленький геморрой...
Написал я вот такой код (ниже) под евро день.
Просто пересечение двух МА.
Так вот хотел реализовать трэйлинг стоп по цене закрытия.
Написал.... Считает нормально... Ручками проверял. Только один маленький косячок.... Если в область под евро бросить Equity какая-то страшная. В чем дело... А?

Код:
SetOption("AllowPositionShrinking",0);   // Вкл (1) выкл (0)возможность открытия позиции, если денег не хватает
SetOption("InitialEquity",10);          // Начальный капитал
SetOption("AllowSameBarExit",1);          // Вкл (1) выкл (0) возможность выхода на баре входа
SetOption("ActivateStopsImmediately",1); // Вкл (1) выкл (0) активацию стопа на баре входа
SetOption("FuturesMode",1);               // Вкл (1) выкл (0) режим "Тестирование фьючерсов"
SetOption("ReverseSignalForcesExit",1);   // Вкл (1) выкл (0) вход в противоположную позицию при противп. сигнале
SetOption("PriceBoundChecking",0);       // Вкл (1) выкл (0) проверку соответствия bp/sp/shp/cp диапазону h-l
SetTradeDelays(1,0,1,0);                // Задержка торгов

RoundLotSize = 1;
MarginDeposit = 1;
PositionSize = 1;

n1=         Param("parametr",0,0,0.0500,0.0050);

Buy=      Cross(MA(C,28),MA(C,35)) AND BarIndex()<2665;
BuyPrice=   O+0.0005;

C1=         Flip(Ref(MA(C,28)>MA(C,35),-1),Ref(MA(C,35)>MA(C,28),-1));
plong=      BarsSince(Buy);
H1=         IIf(C1,HHV(C,plong),Null);
sl_l=      IIf(plong==1,ValueWhen(Ref(Buy,-1),BuyPrice,1)-n1,
         IIf(plong!=1 AND H1>0 AND H1<ValueWhen(Ref(Buy,-1),BuyPrice,1),ValueWhen(Ref(Buy,-1),BuyPrice,1)-n1,
         IIf(plong!=1 AND H1>0 AND H1>ValueWhen(Ref(Buy,-1),BuyPrice,1),H1-n1,Null)));

Sell=      Cross(MA(C,35),MA(C,28))
         OR (plong==1 AND L<=sl_l)
         OR (plong==2    AND Ref(C,-1)>ValueWhen(Ref(Buy,-1),BuyPrice,1)
                     AND L<Ref(C,-1)-n1)
         OR (plong!=1 AND L<=Ref(sl_l,-1));
         
SellPrice=   IIf((plong==1 AND L<=sl_l),sl_l,
         IIf((plong==2 AND Ref(C,-1)>ValueWhen(Ref(Buy,-1),BuyPrice,1) AND L<Ref(C,-1)-n1),Ref(C,-1)-n1,
         IIf((plong!=1 AND L<=Ref(sl_l,-1)),Ref(sl_l,-1),
         IIf(Cross(MA(C,35),MA(C,28)),Ref(O,1),0))));


Short=      Cross(MA(C,35),MA(C,28)) AND BarIndex()<2665;
ShortPrice=O;

C2=         Flip(Ref(MA(C,35)>MA(C,28),-1),Ref(MA(C,28)>MA(C,35),-1));
pshort=   BarsSince(Short);
L1=         IIf(C2,LLV(C,pshort),Null);
sl_sh=      IIf(pshort==1,ValueWhen(Ref(Short,-1),ShortPrice,1)+n1,
         IIf(pshort!=1 AND L1>0 AND L1>ValueWhen(Ref(Short,-1),ShortPrice,1),ValueWhen(Ref(Short,-1),ShortPrice,1)+n1,
         IIf(pshort!=1 AND L1>0 AND L1<=ValueWhen(Ref(Short,-1),ShortPrice,1),L1+n1,Null)));

Cover=      Cross(MA(C,28),MA(C,35))
         OR (pshort==1 AND H>=(sl_sh-0.0005))
         OR (pshort!=1 AND H>=(Ref(sl_sh,-1)-0.0005))
         OR (pshort==2    AND Ref(C,-1)<ValueWhen(Ref(Short,-1),ShortPrice,1)
                        AND H>=Ref(C,-1)+   n1-0.0005);

CoverPrice=    IIf((pshort==1 AND H>=(sl_sh-0.0005)),sl_sh,
            IIf(pshort==2    AND Ref(C,-1)<ValueWhen(Ref(Short,-1),ShortPrice,1)
                           AND H>=Ref(C,-1)+n1-0.0005,Ref(C,-1)+n1,
            IIf((pshort!=1 AND H>=(Ref(sl_sh,-1)-0.0005)),Ref(sl_sh,-1),
            IIf(Cross(MA(C,28),MA(C,35)),Ref(O,1),0))));

Plot(Equity(),"equity",colorRed,1);


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


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

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

Пока не разбирался. Попробуй написать Equity(1)

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


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

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

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


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

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

Чуть всю голову не сломал.
Почему-то когда выключен PriceBoundChecking Equity() показывает доступные средства (свободные деньги не связанные в сделке). Вот поэтому такая странная линия.

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


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

СообщениеДобавлено: Пт Апр 25, 2008 7:07 am Ответить с цитатой Вернуться к началу

Олег,

Так эту ситуацию относим на глюк или на непонятку?
Можем отключить PriceBoundChecking - но тогда считать будет неправильно... Получается только один выход - прописывать Эквити самостоятельно? Так?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Апр 25, 2008 8:15 am Ответить с цитатой Вернуться к началу

Цитата:
Так эту ситуацию относим на глюк или на непонятку?
Можем отключить PriceBoundChecking - но тогда считать будет неправильно... Получается только один выход - прописывать Эквити самостоятельно? Так?

Вариантов полно.
Можно оставить с проверкой диапазона и закрыть глаза на небольшую неточность
Можно Смрится с таким отображением эквити (когда открытых позиций нет он показывает правильно)
Можно оставить с проверкой диапазона, но подготовить специальный тикер у которого хай поднять на 5 пунктов
Можно пользоваться только Individual тестером. Он рисует правильно, но не может использоваться как индикатор
Еще можно Томашу написать...

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


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

СообщениеДобавлено: Пт Апр 25, 2008 8:26 am Ответить с цитатой Вернуться к началу

Еще можно попробовать в то время когда открыта позиция к эквити прибавить сумму которая связана (выровнять эквити искуственно)

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


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

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

000 писал(а):
Можно оставить с проверкой диапазона, но подготовить специальный тикер у которого хай поднять на 5 пунктов
...


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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen