Вопрос OrderModify() - страница 6

 

Вуду,

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

Я исправил ваш код, чтобы показать вам несколько моментов:

  • Ваш код небрежен и запутан только для того, чтобы достичь простой цели алгоритма. Беспорядочное и избыточное использование фигурных скобок было отмечено, и это показывает беспорядочное состояние вашей головы.
  • Вместо того, чтобы внимательно прочитать руководство по MQL4, пройти первый учебник по советнику, а затем провести модульное тестирование функций Order*(), вы предпочитаете тратить время впустую и заставлять других людей кормить вас с ложечки тем, что вы игнорируете.
  • Если вы придерживаетесь такого подхода, то вам лучше знать, что вам предстоит пройти очень долгий путь, чтобы действительно уметь использовать MQL4. Как ни странно, это не из-за сложности MQL4 (он относительно прост), а из-за того отношения, которое вы странным образом поддерживаете.
Удачи вам и пусть Бог смилостивится над вашей душой.
 

Ричард, ваше замечание принято к сведению. Спасибо за ваш пересмотр первого тома и за ваш пост. Я ценю и то, и другое.

Спасибо.

 

Саймон,

Код проверяет функцию OrderSelect() И если функция OrderSymbol() является USDJPY. Если оба значения истинны, то выполняется функция OrderPrint(). OrderSelect() будет в порядке, но ;) если OrderSymbol() не USDJPY, то тикет-переменная i увеличивается на 1. Переменная i увеличивается до тех пор, пока OrderSymbol() не станет USDJPY.

Вопрос: Почему "i++;" увеличивает значение i только один раз? (Мое намерение состоит в том, чтобы эта переменная продолжала увеличиваться до тех пор, пока OrderSymbol() не станет USDJPY).

int start()
  {
   
   int i;

   if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY"))
   
     OrderPrint();      
     
     else i++;
   
 // Print(GetLastError());
 
Comment("i = " ,i);

   return(0);
  }

Приложенный файл - это советник. Мне проще проводить тесты с таким типом файла.

Спасибо.

Файлы: