[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 222

 
ramirez17:

Укажите ошибку.


деление на 0 - в журнале должно быть zero divide

первым же проходом

i+Sell_bars-1
вы выходите из допустимого размера Bars
 
ramirez17, проще в стохастике найти поиск максимуов/минимумов и заменить формулу стохастика на их отношение
 
maxstah:

Здравствуйте, подскажите пожалуйста где найти индикатор, который перерисовывает дневные бары так, чтобы они начинались в другое время.

Например: Терминальное время 00:00. Во входных параметрах индикатора ставим: +4. Теперь дневные бары начинаются в 4:00.

Заранее благодарен.

В МТ4 есть встроенный конвертер. Сервис -> Архив котировок.
 

Здравствуйте.

У меня вопрос, как у новичка:

как получить данные о текущей Прибыль по открытым позициям; как получить данный о текущем балансе.

 
Roger:
Типо, новый Буратино ищет надежное Поле чудес. Не смеши.:)

Типо, умный петросян хочет пршутить..))
 

Парни где ошибка....уже обращался...вот код...

при тогровле на терменалах с плавающим спредом(добавлена еще одна цифра) советник пишет ошибку, неправильный лот...а с фиксированным спредом,все нормально и торгует...

 GBPUSD,H1: OrderSend error 131

а вот сам код....где ошибка???

 if(ExistPositions() > 0)   {
   for(cnt=0;cnt<OrdersTotal();cnt++)  { 
   OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && OrderType()==OP_BUY)  {
         if(Ask-OrderOpenPrice() > (TrailingStop * Point))  { 
            if(OrderStopLoss() < (Ask - TrailingStop * Point)) { 
               OrderModify(OrderTicket(),
                           OrderOpenPrice(),
                           Ask - TrailingStop * Point,
                           Ask + sTakeProfit * Point,0,Aqua);
            return(0);  } // close for if(OrderStopLoss() < (Ask - TrailingStop * Point))
                        } // close for if(Ask-OrderOpenPrice() > (TrailingStop * Point))
                } // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && OrderType()==OP_SELL) {
                        if(OrderOpenPrice() - Bid > (TrailingStop * Point))   { 
                                if(OrderStopLoss() > (Bid + TrailingStop * Point))   { 
                           OrderModify(OrderTicket(),
                                       OrderOpenPrice(),
                                       Bid + TrailingStop * Point,
                                       Bid - sTakeProfit * Point,0,Magenta);
            return(0);  } 
                        } // close for if(OrderOpenPrice() - Bid > (TrailingStop * Point))
                 } // close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
          } // close for for(cnt=0;cnt<total;cnt++)
   } // close for if(TradesThisSymbol > 0)
}

bool ExistPositions() {
        for (int i=0; i<OrdersTotal(); i++) {
                if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
                        if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
                                return(True);
                        }
                } 
        } 
        return(false);
}



void OpenBuy() { 
   double ldLot, ldStop, ldTake; 
   string lsComm; 
   ldLot = GetSizeLot(); 
   ldStop = GetStopLossBuy(); 
   ldTake = GetTakeProfitBuy(); 
   lsComm = GetCommentForOrder(); 
   OrderSend(Symbol(),OP_BUY,ldLot,Ask,Slippage,ldStop,ldTake,lsComm,MAGIC,0,clOpenBuy); 
   if (UseSound) PlaySound(NameFileSound); 
} 
void OpenSell() { 
   double ldLot, ldStop, ldTake; 
   string lsComm; 

   ldLot = GetSizeLot(); 
   ldStop = GetStopLossSell(); 
   ldTake = GetTakeProfitSell(); 
   lsComm = GetCommentForOrder(); 
   OrderSend(Symbol(),OP_SELL,ldLot,Bid,Slippage,ldStop,ldTake,lsComm,MAGIC,0,clOpenSell); 
   if (UseSound) PlaySound(NameFileSound); 
} 
string GetCommentForOrder() {   return(Name_Expert); } 
double GetSizeLot() {   return(Lots); } 
double GetStopLossBuy() {       return (Bid-sStopLoss*Point);} 
double GetStopLossSell() {      return(Ask+sStopLoss*Point); } 
double GetTakeProfitSell() {    return(Bid-sTakeProfit*Point); } 
double GetTakeProfitBuy() {     return(Bid+sTakeProfit*Point); } 

return(0);

//+------------------------------------------------------------------+
 
Vovo4ka:

Типо, умный петросян хочет пршутить..))

www.dukascopy.com mt4 и ява технологии, минимальное депо 1000 зеленых, вот сам недавно узнавал.
 
todem:

www.dukascopy.com mt4 и ява технологии, минимальное депо 1000 зеленых, вот сам недавно узнавал.

Большое спс.
 
если индикатор в бесконечном цикле со sleep'ами, то вроде нужно вставить какуюто функцию типа if(!deinit)?
 
Vovo4ka:

Парни где ошибка....уже обращался...вот код...

при тогровле на терменалах с плавающим спредом(добавлена еще одна цифра) советник пишет ошибку, неправильный лот...

а вот сам код....где ошибка???


сделай нормализацию лота

double GetSizeLot() {   return(NormalizeDouble(Lots,2)); }