Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1821

 
Tretyakov Rostyslav #:

Это структура

а это обращение к ней по определенному символу

... и не хватает далее примера чтения структуры. Судя по первому вопросу, человеку сиё будет так же не понятно.

 
Tretyakov Rostyslav #:
Выложи функцию закрытия и что такое "-х"

Больше нет не чего. А x это отрицательное значение прибыли по открытому ордеру.

 
Tretyakov Rostyslav #:
Выложи функцию закрытия и что такое "-х"

Функция закрытия - это при каком условии должен закрываться ордер?

x - это условие?

Тогда , что я показал?

или если не трудно, напиши подробней, что нужно.

В любом случае, спасибо!

 
законопослушный гражданин #:

здравствуйте

нашел функцию которая отслеживает текущее значение цены

вопрос:

как указать текущий символ ?

не понятно что такое  MqlTick&?

в справочнике указано, что это  Структура для хранения последних цен по символу. Предназначена для быстрого получения наиболее востребованной информации о текущих ценах.

но в примере использования указано:

то есть функция которая ссылается на структуру  MqlTick, сама находится внутри структуры.

Как такое может быть?

Функция SymbolInfoTick записывает данные тика в специальную структуру MqlTick, из полей которой их можно получить.

struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   long         time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags;         // Флаги тиков
   double       volume_real;   // Объем для текущей цены Last c повышенной точностью
  };
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура для получения текущих цен
  • www.mql5.com
Структура для получения текущих цен - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexander Avksentyev #:
// профит в пунктах
int getOrderProfit() {
  switch (OrderType()) {
  case OP_BUY:
    return (int)((Bid - OrderOpenPrice()) / Point);
  case OP_SELL:
    return (int)((OrderOpenPrice() - Ask) / Point);
  default: 
    return 0;
  }
}

Перед вызовом обязательно нужно выбрать ордер (OrderSelect).

 
Alexander Avksentyev #:

Функция закрытия - это при каком условии должен закрываться ордер?

А слона я не заметил))) Как думаешь чему равна цена закрытия у открытого ордера?

OrderClose(min_ticket,OrderLots(),OrderClosePrice(),iSlippage,clrPink);

Пробуй так сделать

   int min_ticket=FindTicketOrder();

   if(OrderSelect(min_ticket, SELECT_BY_TICKET,MODE_TRADES)) 
    { 
      if(OrderProfit()<=-x)
        {
         if(OrderType()==OP_BUY)
           {
            if(OrderClose(min_ticket,OrderLots(),Bid,iSlippage,clrPink))
               Print("Buy Order Close");
            else
               Print("Order вернул ошибку - ",GetLastError());
           }
         if(OrderType()==OP_SELL)
           {
            if(OrderClose(min_ticket,OrderLots(),Ask,iSlippage,clrPink))
               Print("Sell Order Close");
            else
               Print("Order вернул ошибку - ",GetLastError());
           }
        }
    } 
 
Mihail Matkovskij #:

Перед вызовом обязательно нужно выбрать ордер (OrderSelect).

Если ордер не с текущего символа?

 
Tretyakov Rostyslav #:

А слона я не заметил))) Как думаешь чему равна цена закрытия у открытого ордера?

Пробуй так сделать

Bid символа

 
Tretyakov Rostyslav #:

А слона я не заметил))) Как думаешь чему равна цена закрытия у открытого ордера?

Пробуй так сделать

Да, так получилось.

OrderClosePrice()

читал на форуме, что за место бида и аск можно и так указатьи будет работать. Я и доверился.Наивный глупец. Пробовал еще Bid || Ask, так же на получалось.
Спасибо   за помощь!

 
Artyom Trishkin #:

Если ордер не с текущего символа?

Тогда SymbolInfoDouble

Причина обращения: