for(int i=0; i< OrdersTotal(); i++) // For market and pending orders
{
if((OrderSelect(i,SELECT_BY_POS)==true) //If there is the next one
&& (OrderSymbol()==Symbol()) && OrderMagicNumber() == Magic_A )
{
Это цикл, приведенный в книге mql4 для создания массива для ордеров.
Будет ли OrdersTotal() уменьшаться сам по себе каждый раз, когда ордер закрывается?
Я только что заглянул в книгу, ниже приведен цикл для закрытия ордера, так что ответ - да : ( https://book.mql4.com/trading/orderclose )
for(int i=1; i<=OrdersTotal(); i++) // Order searching cycle
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // If the next is available
{ // Order analysis://----------------------------------------------------------------------- 3 --if (OrderSymbol()!= Symb) continue;
int TotalNumberOfOrders; // <-- this variable will hold the number of orders currently in the Trade pool
TotalNumberOfOrders = OrdersTotal(); // <-- we store the number of Orders in the variablefor(PositionIndex = TotalNumberOfOrders - 1; PositionIndex >= 0 ; PositionIndex --) // <-- for loop to loop through all Orders . . COUNT DOWN TO ZERO !
Можно ли не объявлять TotalNumberOfOrders = OrdersTotal() ;
В настоящее время я использую это, но я не уверен в выводе, хотя это то же самое. Поскольку OrdersTotal() находится в цикле for, повлияет ли закрытие 1 ордера на OrdersTotal снова и снова?
juniorlcq: В настоящее время я использую это, но я не уверен в выводе, хотя это то же самое. Поскольку OrdersTotal() находится в цикле for, будет ли закрытие 1 ордера влиять на OrdersTotal снова и снова?
Нет, потому что вы не проверяете OrdersTotal, вы проверяете PositionIndex как условие для продолжения цикла.
Jimdandy: Единственный раз, когда я был вынужден использовать метод обратного отсчета вместо метода обратного отсчета, был связан с брокером, который был очень дотошен к FIFO и не позволял мне закрывать самую новую сделку первым.... как глупо.
В этом случае, захватите все соответствующие номера билетов (в массив), а затем закройте. Не считайте и не закрывайте.
Что если мы сделаем цикл, подобный этому,
Это цикл, приведенный в книге mql4 для создания массива для ордеров.
Будет ли OrdersTotal() уменьшаться сам по себе каждый раз, когда ордер закрывается?
//***************************************************************************
Я только что заглянул в книгу, ниже приведен цикл для закрытия ордера, так что ответ - да : ( https://book.mql4.com/trading/orderclose )
Что если мы сделаем цикл, подобный этому,
Это цикл, приведенный в книге mql4 для создания массива для ордеров.
Будет ли OrdersTotal() уменьшаться сам по себе каждый раз, когда ордер закрывается?
Можно ли не объявлять TotalNumberOfOrders = OrdersTotal() ;
Я имел в виду, что нужно сразу использовать OrdersTotal()
for ( x = OrdersTotal() - 1 ...... )
В настоящее время я использую это, но я не уверен в выводе, хотя это то же самое. Поскольку OrdersTotal() находится в цикле for, будет ли закрытие 1 ордера влиять на OrdersTotal снова и снова?
Нет, потому что вы не проверяете OrdersTotal, вы проверяете PositionIndex как условие для продолжения цикла.
Отличная работа по объяснению этой темы! Без графики это просто невозможно объяснить... Отличная работа.
Единственный раз, когда я был вынужден использовать метод подсчета вместо метода обратного отсчета, был у брокера.
который был действительно xxx о FIFO и не позволял мне закрыть самую новую сделку первым.... как глупо.
И снова я говорю... молодец...
Здравствуйте, эксперты, каково ваше мнение об этом решении?