Вообще конечно нет большого интереса быть «скорой помощью» и отвечать как то в «темную», не зная изначальный алгоритм и конечные цели. Поэтому и код будет может быть не самый оптимальный.
Вариантов ХеджМартинов здесь много. Посмотрите. Рассматривать повторно желания нет. Интересно обсудить новые варианты.Или в публичной плоскости или приватно.
Конечно так же можете писать и здесь. Наверно тоже сможете получить некоторые ответы.






2.Зачем у Вас в советнике функции Лот1 и Лот2 если они не используются.
3.Советник торгует всегда одним лотом указанным в настройках.Так задумано?
Проверьте функции:
<code> //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double LastOrderLot(int type=-1) { datetime time =0; double lot=0; for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { double lt = OrderLots(); datetime cl = OrderOpenTime(); if(type==OP_BUY) if(cl>time && (OrderType()==OP_BUY))// || OrderType()==OP_BUYSTOP)) { time = cl; lot = lt; } if(type==OP_SELL) if(cl>time && (OrderType()==OP_SELL))// || OrderType()==OP_SELLSTOP)) { time = cl; lot = lt; } } return(NormalizeDouble(lot, 2)); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Lot(int type) { double lot=Lots; if(CountOrders(OP_SELL)>0 && type==OP_BUY) lot=LastOrderLot(OP_SELL)*KLot; // lot=Lots*MathPow(KLot,CountTrades())*3/4; if(CountOrders(OP_BUY)>0 && type==OP_SELL) lot=LastOrderLot(OP_BUY)*KLot; // lot=Lots*MathPow(KLot,CountTrades())*3/4; lot=NormalizeDouble(lot, 2); if(lot>MaxLot) lot=Lots; return(lot); } //+------------------------------------------------------------------+ </code>Что вы хотели получить таким кодом? Скорее всего Вы его откуда то часть скопировали а вторую часть сами дописали.Там и логические и синтаксические ошибки.
4.Судя по данной переписке советник интересует только нас. Предлагаю перенести переписку в приватную плоскость. Используйте в верхнем левом углу функции «создать запись»или функцию «Приват» под этим сообщением.
ssg