[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 267

 
а в реальном времени эксперт тоже виснет (т.е. не в тестере, а, скажем, на демке)?
 

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

По каким то критериям я нахожу цену X. Как можно организовать поиск индекса бара с такой же ценой Х. Меня интересует поиск индекса первого найденного бара.

Заранее большое спасибо.

 
FlyFX >>:

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

По каким то критериям я нахожу цену X. Как можно организовать поиск индекса бара с такой же ценой Х. Меня интересует поиск индекса первого найденного бара.

Заранее большое спасибо.


int nomer_bara=-1;
double price_to_find=X; //ваш Х
for(int i=0;;i++)
{
   if(i>=Bars) break;
   if(High[i]>= price_to_find&& price_to_find >=Low[i]) 
   {
      nomer_bara=i;
      break;
   }
}

при удачном завершении в соотв. переменную по окончании цикла попадает номер нужного бара, при неудачном (такая цена не найдена) -1

 
alsu >>:

при удачном завершении в соотв. переменную по окончании цикла попадает номер нужного бара, при неудачном (такая цена не найдена) -1

Спасибо большое! Как я сам не догадался, оказалось проще чем я думал.

 

Доброй ночи!

Вопрос назрел:)

Какую возможность мне даёт этот " i " ? Если стоит i<100, то поиск на сто баров заданного условия чтоли по этому индюку?

for(i=0; i<100; i++){
Moneyflow1=iCustom(Symbol(),0,"MoneyFlowOscillator",0,i);
}

Расскажите или покажите где можно посмотреть, пожалуйста:)

Не терпится узнать что да как

 
Ibiss >>:


Не терпится узнать что да как


сам по себе цикл, конечно, смысла не имеет:))) не терпится узнать, что в коде перед ним и что после:))))

 
alsu >>:
а в реальном времени эксперт тоже виснет (т.е. не в тестере, а, скажем, на демке)?

Я выяснила, что проблема совсем не в тестере, а в моем коде (как я и подозревала, собственно). :-)

При прогоне на тестере с конкретными параметрами в журнале пишет: "Alert: 4107" и "invalid price 1.42958000 for OrderClose function".

Понятно, что ошибка в блоке закрытия ордеров:

while(true)
 {                                     
 if(Type==0&&Cls_B==true)              //Если есть Buy и крит. закр.
  {                                    
  RefreshRates();                      
  Ans=OrderClose(Ticket,Lots,Bid,Slp); //Закрытие выбр. ордера
   if(Ans==true)                       //Если ордер закрыт
    {                                 
    Alert("Закрыт ордер Buy ",Ticket); //Сообщение на экран
    break;                             
    }else                              //Если не получилось..
     {                                 
     Alert (GetLastError());           //Cообщение об ошибке
     continue;                         
     }                                 
   return(0);                                                        
   }                                  

Вот только не могу понять, почему в журнале указана цена с 5-ю знаками, тогда как в терминале и в истории (с сервера MetaQuotes) - с 4-мя?

И чего я все-таки не того наколбасила?

 

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

Вообще ничего не знаю про mql4, поэтому прошу извинить за глупый вопрос. Можно ли в файл ex4 вписать вредоносный код типа "трояна", чтобы он передал злоумышленнику логины и пароли?

Спасибо.

 

выходит, чего-то наколбасили...

код бы целиком глянуть

 
проверяйте бид, он точно с четырьмя знаками?