У меня увеличение ордера лагает, если первоначально был лот 0.01
//+------------------------------------------------------------------+
//| Смотрим последний ордер |
//+------------------------------------------------------------------+
double GetLastLot()
{
int i;
for(i=OrdersHistoryTotal()-1; i>=0; i-=1)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()!=Symbol())
{
continue;
}
}
if(OrderMagicNumber()!=Magic)
{
continue;
}
if(OrderType()>1)
{
continue;
}
return(OrderLots());
}
return(0);
}
void OnTick()
{
//------------------------------------------------------
//- проверяем последний ордер
double lot = GetLastLot();
if(lot==0)
{
lot=Lot;
}
else
{
lot=NormalizeDouble(lot*Klot,Digits);
}
}
Спасибо
Небольшой отчёт (свечи убрал для лучшего отображения сделок):
По сути нужно увеличение лота, если есть убыток в течении дня суммарно с предыдущим.
Помочь сможете?
axe44