Скачать MetaTrader 5

Помогите написать функцию.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Александр
82
Александр  
Здравствуйте. Напишите, пожалуйста, кому не сложно, как выбрать последний ордер в истории? Нужно чтобы он выбрался не по тикету, а по времени закрытия ордера.
Как выбрать последний ордер по тикету, я знаю:
Цитировать
int FindLastOrderType()
{
  double order_type;
  int oldticket;
  
  ticket=0;
  for (int i=OrdersTotal()-1; i>=0; i--)  
  { 
    if(OrderSelect(i, SELECT_BY_POS,MODE_HISTORY))
    {
      if(OrderSymbol()==Symbol())
      {
        oldticket=OrderTicket();
        if(oldticket>ticket)
        {
          order_type = OrderType();
          ticket = oldticket;
        }
      }
    }  
  }
 return(order_type); 

Но меня это не устраивает, т.к. у моего ДЦ история счета ведется не так как у остальных, и я не могу выбрать последний ордер по тикету.
o_o
Модератор
23859
o_o  

для начала - на вкладке история отображена ли вся история?

у моего ДЦ история счета ведется не так как у остальных,

в смысле?

Александр
82
Александр  
sergeev:

для начала - на вкладке история отображена ли вся история?

в смысле?



Я торгую бинарные опционы через mt4.

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

Valeriy Korobeynik
24940
Valeriy Korobeynik  
Hurricanas:

Я торгую бинарные опционы через mt4.



Да, там свои танцы и бубны)

приблизительно такого вида :

double Last()
  {
   double res=0.0;
   int i=0,tot=OrdersHistoryTotal(),tim=0;
   for(i=tot-1;i>=0;i--)
     {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
      if(OrderSymbol()!=Symbol())continue;
      if(OrderMagicNumber()!=Magic)continue;
      int ti=OrderCloseTime();
      if(tim>0){if(tim>ti)continue;}
      
      res= чё там нужно...

      tim=ti;
     }
   return(res);
  }
o_o
Модератор
23859
o_o  
Hurricanas:


Я торгую бинарные опционы через mt4.

это имеет значения для ордера?

поясните вашу фразу


у моего ДЦ история счета ведется не так как у остальных

Александр
82
Александр  
sergeev:

это имеет значения для ордера?

поясните вашу фразу




Да, это имеет значение для ордера. Вы видите на скриншоте ордера, где показаны прибыль и убыток? Там еще коментарий типа "BO#334353 UP EURJPY.bo". Вот эти ордера мешаются, т.к. тоже имеют свой тикет.
o_o
Модератор
23859
o_o  
Hurricanas:

Да, это имеет значение для ордера. Вы видите на скриншоте ордера, где показаны прибыль и убыток?

при чем здесь прибыль.

ордер он и в африке ордер.



значит у вас другая задача, и она не сводится к поиску последнего ордера.

у вас кроме времени фигурируют и другие условия поиска.

Александр
82
Александр  
valeryk:



Да, там свои танцы и бубны)

приблизительно такого вида :


Спасибо, ты очень помог =)
Александр
82
Александр  
sergeev:

при чем здесь прибыль.

ордер он и в африке ордер.



значит у вас другая задача, и она не сводится к поиску последнего ордера.

у вас кроме времени фигурируют и другие условия поиска.




Мне нужно найти и выбрать ордер для дальнейшей работы с ним. Поиск по тикету не подходит, т.к. там много лишних ордеров. Лишние ордера имеют тип "balance" и также имеют свой тикет. Ордера данного типа появляются каждый раз после закрытия опциона. Я, наверное, неправильно выразился, и вы меня не поняли. Просто я начал изучать MQL только вчера.
Valeriy Korobeynik
24940
Valeriy Korobeynik  
Hurricanas:

Спасибо, ты очень помог =)


Да не за что) Сегодня только сов по опционам сдал, это не заказ был, а лабораторная работа по опционным костылям))
o_o
Модератор
23859
o_o  
Hurricanas:

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

вам и поиск по времени не подходит, так как у балансовых оредров - время закрытия тоже есть.


так а что вам надо найти?
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий