Как открывать разное количество позиций в Wealth-Lab и при этом их закрывать. В приложенном скрине показал что они открываются, но не закрываются. Покупаю так "BuyAtClose(bar, "Group1|");"

★1
ВНИМАНИЕ! КОММЕНТАРИИ ПЕРВОГО УРОВНЯ В ВОПРОСАХ УПОРЯДОЧИВАЮТСЯ ПО ЧИСЛУ ПЛЮСИКОВ, А НЕ ПО ВРЕМЕНИ ПУБЛИКАЦИИ.
Закрываю так 

if (IsLastPositionActive)
{

Position p = LastPosition;
if (p.EntrySignal.Contains(«Group1|»))
{

{
SellAtClose(bar, p, «Group1»);
}
}


закрывается только одна позиция.
Стоит торговля на один контракт.
При выборе режима велс скрипт оверрайд вообще не покупает. Видимо нужно указывать объем покупок в «BuyAtClose(bar, „Group1|“);», но не знаю как

kvazar, 
если вы хотите закрыть все открытые позиции, если опять же я правильно понимаю чего вы хотите, то возможно вам необходимо это:

for(int _pos = ActivePositions.Count — 1; _pos >= 0; _pos--)
{
  Position p = ActivePositions[_pos];
  SellAtClose(bar, p, «Group1»);
}

avatar
Дмитрий, спасибо

Насколько помню, каждую позицию надо закрывать отдельно, тут не так, что вошел на 1 контракт, добрал ещё 1, добрал ещё 1, потом в противоположную одной сделкой на 3 и всё закрыл. Когда добираешься — формируется новая отдельная позиция, и её каждую надо и закрывать. Как на форексе в метратрейдере)). Должен быть объект для списка позиций по идее.
avatar
Replikant_mih, а как это все прописать? И ведь все открытия называются «гроуп 1», и «ласт позитион актив» указывает количество позиций. 
kvazar, ActivePositions — объект списка открытых позиций, бегать по нему и закрывать каждую), вроде так)
avatar
Replikant_mih, так как по нему бегать, если все покупки называются одинаково. А число p каждый раз должно обновляться.
kvazar, Не помню, попробуй через foreach()

avatar

kvazar, А ты в самом велсе кодишь, или студию подключил?

Не знаешь случайно — я создаю дополнительный класс в коде стратегии, но он не видит, велсовские объекты, типа High и все прочие, хотя основной класс стратегии видит их без проблем, не в курсе?)

avatar
Replikant_mih,  я пишу в самом велсе, поэтому не в курсе. а что такое  foreach() и как им пользоваться?
kvazar, Ну это уж ты давай сам)), погугли), это оператор цикла, чтобы бегать по элементам списков, массивов и прочим подобным, честно не помню как оно применительно к ActivePositions, но по сути оператора — он должен здесь подойти.
avatar
kvazar, это оператор самого C# так что описаний по нему ты найдёшь миллион.
avatar
Replikant_mih, прочитал про него, не пойдет. тут вопрос в другом. а этот оператор мне удобней заменять привычным if-else. Вопрос, как в велсе реализовать несколько покупок и потом все продать. думаю дело в режиме торговли программы, но пока не понятно как торговать в другом
avatar
Replikant_mih, спасибо
Не знаю их устройства синтаксиса, но из общих соображений называл бы каждую открываемую позицию по-разному: p1, p2 и т. д. А затем закрывал бы по имени. Если такое тут допускается.
avatar
MS

Только зарегистрированные и авторизованные пользователи могут оставлять ответы.

Залогиниться

Зарегистрироваться

теги блога Трейдер Вася

....все тэги



UPDONW
Новый дизайн