Предельное количество сделок в день

8/31/2010 11:53:50 PM
Gravatar
Total Posts 1

Предельное количество сделок в день

Добрый день.

Я хочу ограничить количество сделок, совершаемых за день, скажем, максимум 10 сделок в день. В WealthLab это можно сделать?

9/1/2010 4:31:39 PM
Gravatar
Total Posts 14

RE:Предельное количество сделок в день

Да, легко можно вставить в куске кода, определяющего условие входа в позицию следующую строку:

if (ActivePositions.Count <= 10)

{

//some code of entry rules

}

Как вы поняли, свойство ActivePositions принадлежит классу WealthScript. Подробнее об этом можно прочесть в QuickRef;

9/2/2010 5:03:05 PM
Gravatar
Total Posts 142

RE:Предельное количество сделок в день

Не совсем так, ActivePositions - число открытых позиций. Чтобы ограничить количество сделок, надо считать все сделки из списка Positions и учитывать свойство EntryDate.

9/2/2010 6:58:48 PM
Gravatar
Total Posts 14

RE:Предельное количество сделок в день

[QUOTE]Гость пишет:

Не совсем так, ActivePositions - число открытых позиций. Чтобы ограничить количество сделок, надо считать все сделки из списка Positions и учитывать свойство EntryDate.[/QUOTE]

Виноват, подумалось почему-то, что нужно максимум 10 сделок открывать, а не 10 сделок в день всего. Замечание правильное!

Тогда код будет выглядеть так [один из вариантов]:

//Убедитесь, что системное время работает верно

bool tradingEntryModeOn = true;

for (int bar = 0; bar <= Bars.Count-1; bar++)

{

for (int counter = 0; counter <= Positions.Count-1; counter++)

{

if((Positions[counter].EntryDate.Day == DateTime.Now.Day) & (Positions[counter].EntryDate.Month == DateTime.Now.Month) & (Positions[counter].EntryDate.Year == DateTime.Now.Year))

{

if(Positions.counter > 9)

{

tradingEntryModeOn = false;

}

}

}

if (IsLastPositionActive)

{

//type your exit rules code here...

}

if (tradingEntryModeOn)

{

//type your entry rules code here...

}

}

9/2/2010 10:22:04 PM
Gravatar
Total Posts 151

RE:Предельное количество сделок в день

В условиях реальной торговли, условие типа:

[CODE]

if (IsLastPositionActive)

{

//type your exit rules code here...

}

[/CODE]

не вполне корректно, особенно, когда сама стратегия подразумевает открытие нескольких позиций.

[QUOTE]Клиент пишет:

Цитата

... что нужно максимум 10 сделок открывать, ...

[/QUOTE]

Для закрытия позиций больше подходит цикл по активным позициям, и уже в цикле условия на выход....

[CODE]

for(int i=0; i<ActivePositions.Count;i++)

{

//type your exit rules code here...

}

[/CODE]

Или вариант

[CODE]

if(ExitCondition)

{

for(int i=ActivePositions.Count-1; i>=0;i--)

{

//type your exit rules code here...

}

}

[/CODE]

Только с целью улучшения качаства стратегий ;) , спасибо за Ваши комментарии.

9/3/2010 6:51:43 PM
Gravatar
Total Posts 14

RE:Предельное количество сделок в день

[QUOTE]WLRTAlgoTrading пишет:

спасибо за Ваши комментарии.[/QUOTE]

Вам спасибо! Я пока что не включал LiveTrading и особенностей не знаю, посему писал как для бэктестинга :).

9/3/2010 6:53:57 PM
Gravatar
Total Posts 14

RE:Предельное количество сделок в день

С кодом так написал, потому что сами работает только с последним контрактом, а так, все замечание верны. Просто писал на скорую руку в браузере и не очень внимательно, старался ответить на основной вопрос :).