www.opentraders.ru/downloads/1122/

Попробуйте написать, я в MQL толком не разбираюсь , Код, который вы приктрепили, если вставить в советник, то он начнет открывать сделки по принципу, или же нужно коректировать исходный код советника?
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
// функция мартингейла
double newLotsMartingail(int magic=-1)
{
datetime tim=0;
double lastProfit=0.0;
double lastLots=0.0;
for(i=OrdersHistoryTotal()-1; i>=0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
continue;
if((OrderSymbol()==Symbol())
&& OrderCloseTime()>tim
&& ((OrderMagicNumber()==magic) || (magic==-1)))
{
tim=OrderCloseTime();
lastProfit=OrderProfit();
lastLots=OrderLots();
}
}
/* Если последняя сделка по текущему символу была убыточна, то возвращаем ёё объём, умноженный на два;
иначе возвращаем начальный объём (extern int Lots) */
double resultLots=0.0;
if(lastProfit<0)
resultLots=lastLots*2;
else
resultLots=Lots;
resultLots=MathRound(resultLots/MarketInfo(Symbol(),MODE_LOTSTEP))*MarketInfo(Symbol(),MODE_LOTSTEP); // приводим к нужному числу знаков
resultLots = MathMin(resultLots, MarketInfo(Symbol(), MODE_MAXLOT));
resultLots = MathMax(resultLots, MarketInfo(Symbol(), MODE_MINLOT));
resultLots=Lots;
// ---
return(resultLots);
}
//+------------------------------------------------------------------+
AM2