rus008
Почетный гражданин
Доброго времени суток!
Суть заключается в следующем.
extern double LOTS = 0;
Когда LOTS стоит на 0 сделки открываются от процента депозита
double LOT()
{
if (LOTS!=0) return(LOTS);
double LOT = NormalizeDouble(AccountBalance()*RiskPercent/100/MarketInfo(Symbol(),MODE_MARGINREQUIRED),DigitsLot);
if (LOT>MAXLOT) LOT = MAXLOT;
if (LOT<MINLOT) LOT = MINLOT;
return(LOT);
}
Когда ставлю LOTS к примеру 0.01 То идет фиксированный лот
Хочу добавить в советник усреднение, но ни как не получается, при фиксированном лоте шаг усреднения идет, но не увеличивается лот при усреднении
if(Usred)
{
if(FindOrderType()==0 && (FindLastBuyPrice()-Ask)/_Point>=UStep)
{
PutOrder(0,Ask);
}
if(FindOrderType()==1 && (Bid-FindLastSellPrice())/_Point>=UStep)
{
PutOrder(1,Bid);
}
}
А при LOTS = 0 т.е Лот от процента баланса нет ни шага, ни усреднения.
Можно как то обьеденить LOT и Lot?
double Lot()
{
double lot=LOTS;
if(CountTrades()>0) lot=NormalizeDouble(LOTS*MathPow(KLot,CountTrades()),2);
if(lot>MaxLot)lot=LOTS;
return(lot);
}
Или быть может как то сделать это по другому?
Использую вот такой метод открытия ордеров
if (SendOrder(OP_SELLSTOP,LOT(),Price,0,0,TimeCurrent()+Period()*60*BarLife)) TimeOpen=iTime(NULL,TIMEFRAMES,0);
Суть заключается в следующем.
extern double LOTS = 0;
Когда LOTS стоит на 0 сделки открываются от процента депозита
double LOT()
{
if (LOTS!=0) return(LOTS);
double LOT = NormalizeDouble(AccountBalance()*RiskPercent/100/MarketInfo(Symbol(),MODE_MARGINREQUIRED),DigitsLot);
if (LOT>MAXLOT) LOT = MAXLOT;
if (LOT<MINLOT) LOT = MINLOT;
return(LOT);
}
Когда ставлю LOTS к примеру 0.01 То идет фиксированный лот
Хочу добавить в советник усреднение, но ни как не получается, при фиксированном лоте шаг усреднения идет, но не увеличивается лот при усреднении
if(Usred)
{
if(FindOrderType()==0 && (FindLastBuyPrice()-Ask)/_Point>=UStep)
{
PutOrder(0,Ask);
}
if(FindOrderType()==1 && (Bid-FindLastSellPrice())/_Point>=UStep)
{
PutOrder(1,Bid);
}
}
А при LOTS = 0 т.е Лот от процента баланса нет ни шага, ни усреднения.
Можно как то обьеденить LOT и Lot?
double Lot()
{
double lot=LOTS;
if(CountTrades()>0) lot=NormalizeDouble(LOTS*MathPow(KLot,CountTrades()),2);
if(lot>MaxLot)lot=LOTS;
return(lot);
}
Или быть может как то сделать это по другому?
Использую вот такой метод открытия ордеров
if (SendOrder(OP_SELLSTOP,LOT(),Price,0,0,TimeCurrent()+Period()*60*BarLife)) TimeOpen=iTime(NULL,TIMEFRAMES,0);