Автор |
Сообщение |
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
Возможно ли задать размер позиции для short отличным от позиций long, например для лонгов, 50% от эквити, а для шортов 25% |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Да, с помощью переменной PositionSize - глянь в хелпере.
Что-то типа
if(Buy)
PositionSize = -50;
if(Short)
PositionSize = -25; |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Только
Код: |
q = IIf(Buy, ..., ...);
SetPositionSize(q, ...); |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
А, точно. PositionSize используется в цикле |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
не работает, ни так , ни так |
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Напиши что ты там накодил |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
Код: |
PosVal = IIf(Buy,2*PosVal ,0 );
PosVal = IIf(Sell ,2*PosVal ,0 );
PosVal = IIf(Short ,PosVal ,0 );
PosVal = IIf(Cover ,PosVal ,0 );
SetPositionSize(PosVal,spsPercentOfEquity); |
так пробовал
Код: |
PosVal = IIf(Buy,2*PosVal ,PosVal );
PosVal = IIf(Sell ,2*PosVal ,PosVal );
PosVal = IIf(Short ,PosVal ,2*PosVal );
PosVal = IIf(Cover ,PosVal ,2*PosVal );
SetPositionSize(PosVal,spsPercentOfEquity); |
и так пробовал
и еще много других вариантов...
тут проблема , мне кажется в том, что сигналы buy-cover и short-sell
возникают на одном баре, система переворотная
Решение, в принципе, есть, две одинаковых системы в разными SetPositionSize торгуют одна в лонг только, другая в шорт только |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А почему ты решил, что для Sell и Cover тоже надо задавать сайз?
НЕ НАДО. Sell и Cover автоматом полностью закрывают позицию не смотря на её размер.
В общем не надо столько много строк. Достаточно только
Код: |
PosVal = IIf(Buy, 2*PosVal, PosVal );
SetPositionSize(PosVal, spsPercentOfEquity);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну фиг его знает. Вот по приколу проверил.
код
Код: |
Buy = Cover = Cross(MA(C, 10), MA(C, 20));
Sell = Short = Cross(MA(C, 20), MA(C, 10));
PS = IIf(Buy, 2, 1);
SetPositionSize(PS, spsShares);
|
Результат тестирования |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
dic2005 писал(а): |
парадокс... |
Все у Олега верно. В твоем коде ты в IIF обнуляешь PosVal, и все следующие IIF летят ко всем чертям так как что бы ты не умножал на ноль, в результате будет ноль. Правильная конструкция:
PosVal = IIf(Buy, 2*PosVal, PosVal ); |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
Да пробовал такую конструкцию, все равно не выходит каменная чаша...
от пля, прогнал код из 4 строчек, что выше, не идет
7ка 64 bit у меня, Ами 32 |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ок. А как не идет? Не думаю, что ось виновата. Дай конкретный свой результат по моему коду. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
dic2005
Зарегистрирован: 23.07.2011
Сообщения: 29
|
чистая установка, дефолтовая база
на 32 битной 7ке и 2008 сервере таже картина..., где же собака зарылась? Ща еще до 2003 сервера дотянуться смогу... |
Последний раз редактировалось: dic2005 (Вт Сен 13, 2011 4:49 pm), всего редактировалось 2 раз(а) |
|
Посмотреть профиль Отправить личное сообщение |
|
|