<code>// Если один из ордеров открыт, то перестаем рисовать по линиям
// СРАБОТАЛ ОРДЕР - ОТКРЫВАЕМ ПРОТИВОПОЛОЖНЫЙ С НОВЫМ ЛОТОМ
int openPos = lastOpenPosition();
if (lastOpenTicket!=-1) {
if(openPos!=-1){
double helpLot=beginLot;
// лот противоположной позиции умножаем сначала на 3, потом на два
if(openPos==0) { // OP_BUY - работаем с противоположной
if (lotBuy==beginLot) { lotSell = lotBuy*3-beginLot; helpLot=lotBuy*3; }
if (lotBuy>beginLot) { lotSell = lotBuy*2-lotSell; helpLot=lotBuy*2; }
putOrderSell(pricePos_Sell, pricePos_Buy);
changePendingOrders(pricePos_Buy, pricePos_Sell, true);
lotSell = helpLot;
}
if(openPos==1) { // OP_SELL - работаем с противоположной
if(lotSell==beginLot) { lotBuy = lotSell*3-beginLot; helpLot=lotSell*3; }
if(lotSell>beginLot) { lotBuy = lotSell*2-lotBuy; helpLot=lotSell*2; }
putOrderBuy(pricePos_Buy, pricePos_Sell);
changePendingOrders(pricePos_Buy, pricePos_Sell, true);
lotBuy = helpLot;
}
}
return;
}</code>в результате сов, при срабатывании первой отложки, выставляет две такого-же размера в противоположную сторону, а дальше открывает х3
я абсолютно не понимаю логику кода
можно, конечно методом тыка, но это неумный вариант

я так понимаю, множитель для первой отлоги можно заменить на 2 в метаэдиторе для прогрессии 0.1 — 0.2 — 0.4 и т.д.? все очень подробно расписано внутри, что даже для ламера типа меня доступно… Спасибо!


т.е. первый ордер (как пример) сработал бай 0.1, выставилась отлога селл 0.2, если сработала выставляется отлога бай 0.4, если сработала, выставляется отлога селл 0.8 и т.д. (остальное — СЛ и ТП в этом советнике менять не надо — все супер)
т.е: 0.1 — 0.2 — 0.4 — 0.8 — 1.6 — 3.2 и т.д.
Homya4ek