Нужна помощь в расчете лота.

 

В общем ситуация такая. 

Допустим есть одна, или несколько открытых позиций

Как можно рассчитать лот для следующей позиции, что бы при заданном значении тейк профита перекрыть минуса предыдущих сделок.

 

а когда следующая позиция будет открываться ?

 
skdon >>:

В общем ситуация такая.

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

Как можно рассчитать лот для следующей позиции, что бы при заданном значении тейк профита перекрыть минуса предыдущих сделок.

в какую сторону открывается след позиция

 
MarketInfo() и MODE_TICKVALUE, Вам помогут. Все остальное описано в хелпе и обсуждалось ни раз на сайте.
 
keekkenen >>:

а когда следующая позиция будет открываться ?

Допустим открыли позицию лотом 0,1. Цена пошла не в "нашем" направлении. И прошла заданное количество пунктов допустим 5. При выполнении этого условия нужно открыть противоположный лот такой величины, чтобы по прохождении заданного количества пунктов, допустим 10 и закрытии всех открытых лотов, мы были бы в небольшом плюсе или вышли в ноль.

 
Опишу систему подробнее. 

Заданным лотом открывается ордер на покупку, по нему выставляется тэйк профит, далее, если цена проходит вниз заданное количество пунктов (не в сторону тэйк профита), открывается ордер на продажу большим лотом, и так же выставляется тэйк профит. Если сработал профит по второму ордеру (на продажу) то цикл заканчивается и начинается новый цикл с выставления ордера на покупку начальным лотом. А если тэйк профит по второму ордеру (на продажу) не срабатывает, и соответственно цена идет вверх, то после прохождения определенного количества пунктов советник открывает новый ордер на покупку еще большим лотом, чтобы в общей сумме две покупки и одна продажа давали минимальную прибыль.

Пробую рассчитать лот с помощью функции :
MathAbs(AllLotsProfit)/Take_Profit_Buy/MarketInfo(Symbol(),MODE_TICKVALUE)

Где AllLotsProfit - профит по всем ордерам на момент открытия лота.

Take_Profit_Buy - количество пунктов после прохождения которых закроются лоты (т.е. количество пунктов, за которые нам необходимо перекрыть все убытки).

Но считает не правильно.  

Подскажите, пожалуйста, где собака зарыта???

 

MathAbs(AllLotsProfit)/Take_Profit_Buy/MarketInfo(Symbol(),MODE_TICKVALUE)

Из любопытства...а зачем такой сложный расчёт следующего лота?

 
Кстати, вроде не должно даже компилировать из-за скобки после AllLotsProfit)...
 
hope >>:

MathAbs(AllLotsProfit)/Take_Profit_Buy/MarketInfo(Symbol(),MODE_TICKVALUE)

Из любопытства...а зачем такой сложный расчёт следующего лота?


Чтобы профит по выставляемому лоту при срабатывании тейк профита перекрыл убыток по предыдущим.
 
hope >>:
Кстати, вроде не должно даже компилировать из-за скобки после AllLotsProfit)...


Компилируется, мало того, еще и работает :). Только немного не так, как хотелось бы.
 
skdon писал(а) >>

Чтобы профит по выставляемому лоту при срабатывании тейк профита перекрыл убыток по предыдущим.

Не силён в советах...заинтересовался только по причине, что сам дроблю лоты и изменяю их. В своё время дали хороший совет отделить мух от котлет...Попробуй сначала создавать условия для открытия противоположных ордеров (не пошло в твоём направлении) и лишь затем расчитывай их проф/лосс и последующее перекрытие в положительную сторону.

По поводу скобок не посчитал всё..., НО по моему, действия функции MathAbs должны быть заключены в скобки...т.е. должно быть MathAbs ((AllLotsProfit)/Take_Profit_Buy/MarketInfo(Symbol(),MODE_TICKVALUE))

Причина обращения: