Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1821

 
Tretyakov Rostyslav #:
Postar a função de fechamento e o que é "-x

Não há mais nada. E x é um valor de lucro negativo em uma ordem em aberto.

 
Tretyakov Rostyslav #:
Postar a função de fechamento e o que é "-x

A função de fechamento é em que condição uma ordem deve ser fechada?

É x uma condição?

Então o que eu mostrei?

Ou se você não se importa, escreva com mais detalhes o que é necessário.

Em todo caso, obrigado!

 
законопослушный гражданин preços atuais.

Mas no exemplo de uso, ele afirma:

Ou seja, a função que se refere à estrutura MqlTick está dentro da própria estrutura.

Como pode ser?

A função SymbolInfoTick escreve os dados de tick em uma estrutura especialMqlTick, a partir dos campos dos quais eles podem ser obtidos.

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;
  }
}

É obrigatório selecionar uma ordem (OrderSelect) antes de ligar.

 
Alexander Avksentyev #:

A função de fechamento está sob que condição uma ordem deve ser fechada?

Eu não notei o elefante)))) A que você acha que é igual o preço de fechamento da ordem aberta?

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

Tente fazer desta maneira

   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 #:

É obrigatório selecionar uma ordem (OrderSelect) antes de ligar.

Se a ordem não for do caráter atual?

 
Tretyakov Rostyslav #:

E eu não notei o elefante)))) O que você acha que o preço de fechamento de um pedido aberto é igual a quê?

Tente desta forma

Símbolo de licitação

 
Tretyakov Rostyslav #:

E eu não notei o elefante)))) O que você acha que o preço de fechamento de um pedido aberto é igual a quê?

Tente desta forma.

Eu entendi dessa maneira.

OrderClosePrice()

Eu li no fórum que você pode especificá-lo em vez de fazer um lance e perguntar e ele funcionará. Confiei nisso. Sou um tolo ingênuo. Tentou outra licitação || Pergunte, também não funcionou.
Obrigado pela ajuda!

 
Artyom Trishkin #:

Se a ordem não for do símbolo atual?

Então SymbolInfoDouble

 
Tretyakov Rostyslav #:

E eu não notei o elefante)))) O que você acha que o preço de fechamento de um pedido aberto é igual a quê?

Tente fazer isso dessa maneira.

Outra pergunta

Como você calcula o lucro em pontos - este OrderProfit * Point?

Razão: