Лоты по условиям. Как сделать, люди добрые))))

 

Скажи как сделать лоты по условиям?

Допустим есть условие от цены открытия бара, если цена ниже то открывается по лоту 0.01.., если цена выше то открывается по лоту 0.02

extern double Buy_LotSize = 0.01; // размер лота если цена ниже открытия цены бара дневного

extern double Buy_LotSize2 = 0.02; // размер лота если цена выше открытия цены бара дневного


extern double Sell_LotSize = 0.01; // размер лота если цена выше открытия цены бара дневного
extern double Sell_LotSize2 = 0.02; // размер лота если цена ниже открытия цены бара дневного
//Вычисляем размер первого лота
double NewLot(string OrdType)
{
   double tLots;
   double minlot = MarketInfo(Symbol(), MODE_MINLOT);
   
   if ((OrdType=="buy")&&(Buy_LotSize==ind_iOP3 < 0 && Buy_LotSize2==ind_iOP3 > 0))// вот это правильно по моему нет я чето намудрил
   {
      if (FixLot) tLots = Buy_LotSize; else tLots = NormalizeDouble(Buy_LotSize * NormalizeDouble(AccountBalance()/LotStep,0), LotDecimal); 
      if (FixLot) tLots = Buy_LotSize2; else tLots = NormalizeDouble(Buy_LotSize2 * NormalizeDouble(AccountBalance()/LotStep,0), LotDecimal); 
    }
    
   if ((OrdType=="sell") && (Sell_LotSize==ind_iOP3 > 0 && Sell_LotSize2==ind_iOP3 < 0))
   {
      if (FixLot) tLots = Sell_LotSize; else tLots = NormalizeDouble(Sell_LotSize * NormalizeDouble(AccountBalance()/LotStep,0), LotDecimal);  
      if (FixLot) tLots = Sell_LotSize2; else tLots = NormalizeDouble(Sell_LotSize2 * NormalizeDouble(AccountBalance()/LotStep,0), LotDecimal); 
   } 
   if(tLots < minlot) tLots = minlot; 
            
   return(tLots);
}  

ЗЫ: ind_iOP3 < 0 // - это условие по бару дневному от уровня открытия бара выше ниже.
 
2 раза блок открытия ордеров вставить. и там только входы ( на 0,01 так. на 0,02 сяк) изменить.
 
BARS >>:
2 раза блок открытия ордеров вставить. и там только входы ( на 0,01 так. на 0,02 сяк) изменить.

BARS Спасибо! Блин вот я ступил все так просто, спасибо дружище!!!!!!!!!!!!!!!!!!!!!!!