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


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

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

Привет всем !

У меня трабла капут.
По системе открываю лонг нужным лотом, ставлю профит, стопак. Все ок.
Когда по системе надо доливаться, мне нужно вычислить каким лотом я буду это делать. Для вычисления лота доливки мне нужно знать каким лотом я сейчас в сделке. Как узнать каким лотом я в сделке?

Пробовал всякие подходы - ничего не получилось. Sad

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


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

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

я знаю 2 варианта. Либо в коде считать каким лотом в сделке (ну там типа в цикле), либо использовать в функции SetPositionSize() параметр spsPercentOfPosition (=3) - объем выражается как процент от объема уже открытой позиции (для SCALING IN и SCALING OUT)

Вроде можно определять сайз позиции в адвансед портфолио, но я не знаю. Sad

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


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

СообщениеДобавлено: Пн Ноя 23, 2009 1:55 pm Ответить с цитатой Вернуться к началу

Я пробовал сделать примерно так:

// Расчет первоначального лота
s1 = setpositionsize( 2 / 100 / величина стопа , spsPersentOfEquity );

// Запоминаю объем
my_lot_start = s1;

s1 = setpositionsize ( my_lot_start * па-па-па / тра-та-та , spsShares );

Прикол в том, что это работает на первой сделке. Но не работает на последующих. Почему я ХЗ.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Насколько помню функция setpositionsize() ничего не возвращает. Поэтому запись
Код:
s1 = setpositionsize ( my_lot_start * па-па-па / тра-та-та , spsShares );
неправильная.
Думаю, что нармальный контроль сайза можно только в цикле сделать...

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


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

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

000 писал(а):
Насколько помню функция setpositionsize() ничего не возвращает. Поэтому запись
Код:
s1 = setpositionsize ( my_lot_start * па-па-па / тра-та-та , spsShares );
неправильная.
.


SYNTAX SetPositionSize( size, method )
RETURNS ARRAY
FUNCTION This function allows to control trade (position) size in four different ways, depending on 'method' parameter.

Возвращает массив

000 писал(а):

Думаю, что нармальный контроль сайза можно только в цикле сделать...


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


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

СообщениеДобавлено: Вт Ноя 24, 2009 9:38 am Ответить с цитатой Вернуться к началу

ID писал(а):
000 писал(а):
Насколько помню функция setpositionsize() ничего не возвращает. Поэтому запись
Код:
s1 = setpositionsize ( my_lot_start * па-па-па / тра-та-та , spsShares );
неправильная.
.


SYNTAX SetPositionSize( size, method )
RETURNS ARRAY
FUNCTION This function allows to control trade (position) size in four different ways, depending on 'method' parameter.

Возвращает массив

Вопрос что она возвращает и куда.
Боюсь что
Цитата:

Новая функция SetPositionSize автоматически конвертирует новый метод в старый "positionsize" следующим образом:

величины ниже -2000 обозначают в бумагах/контрактах,
величины между -2000 и -1000 обозначают % открытых позиций
величины между -1000 и 0 обозначают % эквити портфеля
величины выше 0 обозначают объем в деньгах



Прежде чем примеры городить хочется спросить. А почему не устраивает метод spsPercentOfPosition (=3)

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


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

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

вот код

Первая сделка - все красава.
Вторая - херня.

настройка инфо тикера
Image

настройка АА
Image

код:
Код:
SetBarsRequired   (100000,0);

SetOption         ("AllowPositionShrinking",0);         // Вкл (1) выкл (0)возможность открытия позиции, если денег не хватает
SetOption         ("InitialEquity",10000);             // Начальный капитал
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
SetOption         ("MaxOpenPositions",1);               // Максимальное количество открытых позиций
SetOption         ("AccountMargin",100);

SetTradeDelays   (0,0,0,0);                           // Задержка торгов

my_date_buy =         DateNum() == 1090904 OR DateNum() == 1091002;

my_date_scale_in=      DateNum() == 1090908 OR DateNum() == 1091006;

my_date_sell =      DateNum() == 1090914 OR DateNum() == 1091014;

Buy=               IIf(my_date_buy,1,
                  IIf(my_date_scale_in,sigScaleIn,0));

Sell=               my_date_sell;

Short =            0;
Cover =            0;

BuyPrice =         
ShortPrice =
CoverPrice =      
SellPrice =          Close;

s1 =               SetPositionSize( 2 / 100 / 0.0500, spsPercentOfEquity );

my_lot_start =      ValueWhen( Buy, s1 * ( - 10000 ), 1 );

s2 =               SetPositionSize(
                  IIf( my_date_scale_in, my_lot_start * 0.0500 / 0.0200, 0),
                  IIf ( my_date_scale_in, spsShares, spsNoChange ) );

Plot( my_lot_start, "lot_start", 2 + 4 );


Вот скажи, почему этот АА мне во второй сделке доливает лотом доливки первой сделки.
Посмотреть профиль Отправить личное сообщение
ID
Советник


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

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

Цитата:
Прежде чем примеры городить хочется спросить. А почему не устраивает метод spsPercentOfPosition (=3)


вот суть долива

Image

как это засунуть в spsPersentOfPosition? Very Happy


Последний раз редактировалось: ID (Вт Ноя 24, 2009 10:53 am), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

А напиши плиз что именно надо. Потому, что мне вот эта конструкция
Код:

s1 =               SetPositionSize( 2 / 100 / 0.0500, spsPercentOfEquity );

my_lot_start =      ValueWhen( Buy, s1 * ( - 10000 ), 1 );

s2 =               SetPositionSize(
                  IIf( my_date_scale_in, my_lot_start * 0.0500 / 0.0200, 0),
                  IIf ( my_date_scale_in, spsShares, spsNoChange ) );

Plot( my_lot_start, "lot_start", 2 + 4 );

ужастно не нравится. Долго расписывать чем.

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


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

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

Цитата:

вот суть долива

Ну. А зачем знать сколько лотов? Просто говоришь ами долить 30% (или 50 или сколько надо) от существующей позы...

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


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

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

Так ведь я не знаю сколько это процентов Very Happy
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Ноя 24, 2009 11:00 am Ответить с цитатой Вернуться к началу

Ну так напиши алгоритм долития. Сколько надо доливать?

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


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

СообщениеДобавлено: Вт Ноя 24, 2009 11:02 am Ответить с цитатой Вернуться к началу

Еще раз посмотри месагу про суть долива:

Код:
лот доливки = лот первоначальный * первональный стоп / ( разница между ценой доливки и ценой открытия позы )
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Сорьки. Был не внимателен. Чуток попозже сделаю.

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


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

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

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen