Подскажите плиз как прописать средний уровень у всех маркет ордеров у меня прописано только отдельно для бай и для селл:
Чё? Сам то пнял что спросил? Средний уровень, прибыли, прибыльности, залога, объёма? Судя по этой строчке
Print("Модифицируем покупку.
Безубыток = "+DoubleToStr(AveragePrice,4)+", ТР = "+DoubleToStr(TP,4)+" Новый уровень = "+DoubleToStr(TP_all,4));
тебя, наверное интересует уровень безубытка, а не какой то средний уровень. Так?
Если так, то это вычисляется в этой строчке:
AveragePrice = AveragePrice(OrdType);
Хорошо видно что используется функция AveragePrice которой у тебя нет в тексте.
Хочешь посчитать уровень безубытка для Buy и Sell ордеров открытых одновременно? Попробуй для начала, вооружившись калькулятором посчитать пример. Открыты Buy по цене 1.4000 и лотом 0.1, так же Sell по цене 1.3500 и лотом 0.1, найди уровень безубытка. Напиши здесь формулу.
По секрету, на ушко, скажу что долго придётся топтать кнопки калькулятора, потому как уровня безубытка для этих ордеров нет. Где бы не была цена всегда будет убыток.
И ещё хотелось бы прописать параметр например какая-то сделка ушла в лосс на определённое кол-во пунктов, нужно чтобы вновь открываемые ордера при определённом профите (пунктов) частично её закрывали таким образом выводя в ноль. Спасибо!
Куда прописать? какой параметр? Советник с локированием что ли нужен? Так их готовых в инете навалом.
Яснее нужно выражать свои мысли.
ps Зачем в твоём коде 2 раза написано одно и то же?
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber) continue;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)