Пишу простой советник - нужна помощь - страница 2

 
evbut:
по любому больше единицы


if(Volume[0]>1) return;

Только что я сказал Вам, что ретурн прерывает работу подпрограммы. Если первый тик принесёт объём полюбому больше единицы, то полюбому выполнится команда ретурн, которая в этой точке прервёт функцию start(). А поскольку код закрытия ордеров лежит после этого ретурна, то этот код полюбому выполнен не будет, так как работа функции уже прервана.

 
 
это я уже понял, уважаемый... ноубрав этот ретёрн - все равно не закрываются сделки... их кучами открывается на каждом тике (500 штук) и не закрываются
 
evbut:
это я уже понял, уважаемый... ноубрав этот ретёрн - все равно не закрываются сделки... их кучами открывается на каждом тике (500 штук) и не закрываются

Создайте отдельно счётчик бай и счётчик селл ордеров. Далее используйте конструкцию типа: Если пришёл сигнал открыть Бай-ордер и при этом число бай-ордеров равно нулю, то открыть бай ордер. Для селл ордеров то же самое.
 
попробую...
 

Посмотри этот вариант

Файлы:
evbut.mq4  16 kb
 
Vinin:

Посмотри этот вариант

Грубо прервал процесс обучения. Нафиг ему готовый код? Следующий все равно не будет работать.
 
string ПроцессОбучения(string Инфа_С_Форума){
  if(Инфа_С_Форума==""){
    return("Посмотри этот вариант evbut.mq4");
  }
  else{
    return(Инфа_С_Форума+" Думаем самостоятельно");
  }
}
Чисто в качестве шутки. Не обижайтесь :)
 
drknn:
Чисто в качестве шутки. Не обижайтесь :)

Да не будет он думать. Надо же с логики начинать.
 
Vinin:

Да не будет он думать. Надо же с логики начинать.
Как это ни прискорбно, но мало кто по своей воле будет изучать логику. А из тех, кто берётся, тех, как правило, на долго не хватает. На друзьях своих проверил. Вроде и люди не глупые...
Причина обращения: