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


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

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

Всем привет!

Как известно, получить 500 пунктов за два месяца - это непонятный резалт, поскольку мы покупаем товары в магазине на рубли. При чистом выходе 500 пунктов можно и хорошо поднять, а можно и слиться. Вообщем, тема ИМХО избитая.
Поэтому я, получив резалты сделок в АМИ, загонял их в Эксель и смотрел на то, что я получу в реальных денежках, а также на денежное соотношение риск-доходность. Вопрос такой: можно ли в ами написать такой код, который будет сам давать долларовый репорт в бактесте для форекса или фьючерса?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Цитата:

Всем привет!

Как известно, получить 500 пунктов за два месяца - это непонятный резалт, поскольку мы покупаем товары в магазине на рубли. При чистом выходе 500 пунктов можно и хорошо поднять, а можно и слиться. Вообщем, тема ИМХО избитая.
Поэтому я, получив резалты сделок в АМИ, загонял их в Эксель и смотрел на то, что я получу в реальных денежках, а также на денежное соотношение риск-доходность. Вопрос такой: можно ли в ами написать такой код, который будет сам давать долларовый репорт в бактесте для форекса или фьючерса?

Привет. Вообще обычно труднее получить профит в пунктах т.к. это более общий вариант. Ами позволяет получать профит в чем угодно. Это зависит от настроек. По умолчанию Ами дает результаты в процентах от использованных денег. Если включен Futures mode, то один тик торгуемого актива приносит денег столько, сколько задано в поле Point value в окне information.
Более того. Можно даже переводить результат в национальную валюту используя настройки currencies (только я ни разу этого не делал и не в курсе... ) Smile

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


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

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

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

написал такой код:
Код:
InitialEquity =       1000;   //Начальный депозит

SetOption("InitialEquity", InitialEquity);
SetOption("AllowSameBarExit", True);                   
SetOption("ActivateStopsImmediately", False);     
SetOption("AllowPositionShrinking", False);         
SetOption("FuturesMode", True);                                             

PositionSize =       -3;    // Использую х процентов от капитала в каждой сделке
MarginDeposit =       10;
RoundLotSize =       1;
PointValue =          0.1*10000;


работает нормально на обратных котировках.
Но есть одно но.
в хелпере сказано, что PointValue - это величина прибыли, которую дает один контракт при измении цены на один пункт.
Я код сделал, через маржу 10 долларов (минималка на ФК). То есть если купил 2 контракта евро, то купил реально 2000 евро.
Так вот, если взять 1 контракт, то один пункт дает прибыль 0,1 доллара. Если указать:
Код:
PointValue =          0.1;

то резалт будет неправильный. Почему?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Вечером поковыряюсь - напишу.

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


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

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

Привет. Чета башка плохо соображает, но она надумала вот что.

PositionSize = -3; // Использую х процентов от капитала в каждой сделке
тут все прально
MarginDeposit = 10; для покупки одного контракта (например одного евро) при плече 1/100 надо одну сотую базовой валюты т.е. пишем
MarginDeposit = 0.01;

RoundLotSize = 1;
Минимальный лот в булке равен одну тысячную стандартного, милионного лота. Т.е. 1000 единиц базовой валюты. Пишем
RoundLotSize = 1000;

PointValue = 0.1*10000;
Тут все просто. Изменение одного евро на один тик приносит прибыль в размере этого тика т.е. пишем
PointValue = 0.001;

Итого треба писать
Код:

InitialEquity =       1000;   //Начальный депозит

SetOption("InitialEquity", InitialEquity);
SetOption("AllowSameBarExit", True);                   
SetOption("ActivateStopsImmediately", False);     
SetOption("AllowPositionShrinking", False);         
SetOption("FuturesMode", True);                                             

PositionSize =       -3;    // Использую х процентов от капитала в каждой сделке
MarginDeposit =       0.01;
RoundLotSize =       1000;
PointValue =      0.001;


Проверил. Вроде все прально...
А может и нет, голова плохо соображает. Smile

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


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

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

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

Пара евродоллар,день, период теста 01/01/2000-01/01/2008

Твой код:
Код:
InitialEquity =       1000;   //Начальный депозит

SetOption("InitialEquity", InitialEquity);
SetOption("AllowSameBarExit", True);                   
SetOption("ActivateStopsImmediately", False);     
SetOption("AllowPositionShrinking", False);         
SetOption("FuturesMode", True);                                             

PositionSize =          -3;    // Использую х процентов от капитала в каждой сделке
MarginDeposit =         0.01;
RoundLotSize =          1000;
PointValue =            0.001;

Buy=         Ref(Cross(MA(C,28),MA(C,35)),-1);
BuyPrice=      O;

Sell=         Ref(Cross(MA(C,35),MA(C,28)),-1);
SellPrice=      O;

Short=         0;
Cover=         0;


Первая сделка: убыток -84 пункта, долларовый резалт -0,03 (а должно быть -25,2: 3000*0,0084).

Image

Мой код прально считает, но я не понимаю почему ((

Код:
InitialEquity =       1000;                        //Начальный депозит

SetOption("InitialEquity", InitialEquity);
SetOption("AllowSameBarExit", True);                   
SetOption("ActivateStopsImmediately", False);     
SetOption("AllowPositionShrinking", False);         
SetOption("FuturesMode", True);                                             

PositionSize =       -Param("Percent",3,0,100,1);    // Использую х процентов от капитала в каждой сделке
MarginDeposit =       10;
RoundLotSize =       1;
PointValue =          0.1*10000;

Buy=         Ref(Cross(MA(C,28),MA(C,35)),-1);
BuyPrice=      O;

Sell=         Ref(Cross(MA(C,35),MA(C,28)),-1);
SellPrice=      O;

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


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

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

Хм. Действительно... Может косяк... надо подумать как следует. Похоже придется писать в тех. поддержку.
Посмотрел детальный отчет. Про кеш пишет полную фигню. Если хочешь посмотреть включи в настройках тестера на закладке Report опцию Detailed log
(((
Пока делай как считаешь правильным. Обращай внимание на Position Value (сколько денег стоит позиция)

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


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

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

Аааа. Во вроде понял. Все у меня прально кроме одного

Цитата:

PointValue = 0.1*10000;
Тут все просто. Изменение одного евро на один тик приносит прибыль в размере этого тика т.е. пишем
PointValue = 0.001;

В PointValue надо писать не прибыль на один тик, а прибыль на 1. Т.е. в данном случае 1. Тогда все прально. Но в Detailed log похоже всеравно косяки.
Код:

PositionSize    =      -3;
MarginDeposit =      0.01;
RoundLotSize  =     1000;
PointValue      =     1;



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


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

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

000 писал(а):
Похоже придется писать в тех. поддержку.)


Накатал я им письмо... поглядим чего скажут
Посмотреть профиль Отправить личное сообщение
ID
Советник


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

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

Получил ответ: все стало понятно.

Написал письмо:
hello, dear creator Amibroker
>
> I am from Russia. I not good know English grammar, but i need your help.
> 1. I have symbol EUR. You can see symbol settings in file 2.GIF in
> attachment
> 2. I create easy AFL code. You can see this code in file others.afl in
> attachment
> 3. When i test my code in AA, i have INCORRECT results. Incorrect info you
> can see in file 1.gif in attachment. Account "CASH" is not correct.
>
> Tell me please why Account "CASH" is not correct. Is it my error or this
> is error of Amibroker?
> Thank you....

Ответ такой:
Hello,

Note that in your settings you're using maring account (go to AA ->
Settings -> General and enter 100 if you don't want to use marigin). Please
also send your settings from AA window (Automatic Analysis -> Settings ->
SAVE).

Best regards

Marcin Gorzynski
Amibroker.com Technical Support

Мораль такая:
1. Настраиваем тикеры как сказано здесь http://www.amibroker.com/kb/2006/08/09/amibroker-for-forex/#more-31
2. В настройках AA ->
Settings -> General ставим 100 для поля Account margin
3. Получаем красивый резалт
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen