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


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

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

Привет!

Написал вот такой код:

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,1,1,1); // Задержка торгов

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

TimeFrameSet(inWeekly);
m1=Ref(MA(C,3),-3);
Vv=IIf(C>m1,1,0);
Nn=IIf(C>m1,-1,0);
TimeFrameRestore();

m2=Ref(MA(C,3),-3);

Buy=Ref(Vv,-1)==1 AND Cross(C,m2);
BuyPrice=O;

Sell=Cross(m2,C);
SellPrice=O;

Short=0;
ShortPrice=O;

Cover=0;
CoverPrice=O;

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

Тестировал на дневных графиках. Подскажите плз: Почему тестить только с 2006 года, а остальные бары игнорирует, хотя в тестере стоит птичка " all quotations "
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

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


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

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

Сначала посмотрим код
Код:
SetOption("AllowPositionShrinking",0); // Вкл (1) выкл (0)возможность открытия позиции, если денег не хватает

Тут правилнее написать "если денег не хватает на объявленый сайз". Т.е. откроется позиция меньшего размера (на сколько хватит денег)

Код:
PositionSize = 1;

Лучше использовать функцию SetPositionSize()

Код:
TimeFrameSet(inWeekly);
m1=Ref(MA(C,3),-3);
Vv=IIf(C>m1,1,0);
Nn=IIf(C>m1,-1,0);
TimeFrameRestore();

Переключаемся на недельки и сравниваем закрытие со смещенным мувингом, после чего переключаемся на дневки. Все правильно.

Код:
Buy=Ref(Vv,-1)==1 AND Cross(C,m2);

А вот тут косяков полно

1. прежде чем исользовать массив полученый на недельках на дневном фрейме его необходимо расжать используя функцию TimeFrameExpand()
2. Ref(Vv,-1) смещение видимо использовалось для избежания заглядывания в будущее. Этого делать не надо.

Попробуй в виде индикатора вот этот (твой код)
Код:
TimeFrameSet(inWeekly);
m1=Ref(MA(C,3),-3);
Vv=IIf(C>m1,1,0);
Nn=IIf(C>m1,-1,0);
TimeFrameRestore();

Plot(Vv, "", colorRed, styleHistogram);

И попереключайся с ним дневки/неделки
и потом вот этот
Код:

TimeFrameSet(inWeekly);
m1 = Ref(MA(C, 3), -3);

Vv = IIf(C > m1, 1, 0);
Nn = IIf(C > m1,-1, 0);


TimeFrameRestore();

Vv = TimeFrameExpand(Vv, inWeekly);
Nn = TimeFrameExpand(Nn, inWeekly);

Plot(Vv, "", colorRed, styleHistogram);

Надеюсь разница понятна.
В итоге "правильный" код (хотя я точно не уверен т.к. не знаю задумку) должен выглядеть так
Код:
SetOption("AllowPositionShrinking",0); // Вкл (1) выкл (0)возможность открытия позиции, если денег не хватает
SetOption("InitialEquity",3); // Начальный капитал
SetOption("AllowSameBarExit",0); // Вкл (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,1,1,1); // Задержка торгов

RoundLotSize = 1;
MarginDeposit = 1;
SetPositionSize(1, 4);

TimeFrameSet(inWeekly);
 
m1 = Ref(MA(C, 3), -3);

Vv = IIf(C > m1, 1, 0);
Nn = IIf(C > m1,-1, 0);


TimeFrameRestore();

Vv = TimeFrameExpand(Vv, inWeekly);
Nn = TimeFrameExpand(Nn, inWeekly);

// Plot(Vv, "", colorRed, styleHistogram);



m2 = Ref(MA(C, 3), -3);

Buy = Vv AND Cross(C,m2);
BuyPrice = O;

Sell=Cross(m2, C);
SellPrice=O;

Short=0;
ShortPrice=O;

Cover=0;
CoverPrice=O;

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


Последний раз редактировалось: 000 (Чт Янв 10, 2008 3:55 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ID
Советник


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

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

000 писал(а):

Код:
m1 = Ref(MA(C, 3), -3);

Vv = IIf(C > m1, 1, 0);
Nn = IIf(C > m1,-1, 0);


TimeFrameRestore();

Vv = TimeFrameExpand(Vv, inWeekly);
Nn = TimeFrameExpand(Nn, inWeekly);

Plot(Vv, "", colorRed, styleHistogram);


Олег, в начале забыл написать Timeframeset( inWeekly);
Спасибо!
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

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


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

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

Вопрос по стоп-лоссу:

Если мы прописываем стоп-лосс:
<<Applystop(stoptypeloss,stopmodepoint,0.0100,1);>>
он конечно работает, но иногда появляются стопы в 101 пункт. Почему?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Трудно сказать, может в результате округлений? Мало информации.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ID
Советник


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

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

Олег, смотри вот, например, код не очень удачной системы

http://www.rapidshare.ru/534593

а вот отчет бэктестера
Image

В этом отчете выделена строчка с трейдом в котором выхвачен стоп в размере 101 п. Хотя в системе забито стоп 100 пипсов.

Что скажешь? Косяк?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

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


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

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

Да, действительно есть такое дело. Вероятно результат каких либо округлений.

Не знаю как и можно-ли вообще исправить.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ID
Советник


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

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

Привет!

Поскажите кто-нить:

Вот код пробойной системы (полусистемы Very Happy )

http://www.rapidshare.ru/538471

При тесте на дневках эквити рисуется нормально при любом масштабировании.
А вот если перейти на недельный график, то эквити уже какая-то ненормальная (при нажатии "-" до упора). То есть становится зависимой от масштаба. Подскажите плз в чем закавыка?

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


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

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

Странно. У меня вроде ничего не меняется... Попробуй в начало кода добавить
Код:
 SetBarsRequired(100000,0);
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ID
Советник


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

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

Олег, привет!

Посдкажи плз почему этот код не на всех валютах работает?
http://www.rapidshare.ru/548056

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


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

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

Скорее всего денег не хватает. Косяки с настройками. Попробуй дать не 10 а 1000.

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


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

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

Олег, здорова!

Добавил начальный капитал - такая же картина Crying or Very sad
Косяки с настроиками... Не знаю... Вот скрины моих настроек. Глянь плз, если что не так скажи. А? Здесь настройки symbol info и тестер.

http://www.rapidshare.ru/549502
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen