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

 
Olá, você poderia me dizer como fazer 2 pedidos pendentes de compra e venda quando uma nova vela M1 é formada?
 
Иван Титов:
Olá, como posso fazer 2 pedidos pendentes de compra e venda a serem colocados quando uma nova vela M1 é formada?

int timeM1=0;

int PlaceOrdersOnM1() {

  datetime candleOpenTime=iTime(Symbol(),_Period,0);

  if (timeM1==0) {

     timeM1=candleOpenTime;

     return 0;

  }

 if (timeM1!=candleOpenTime) {

   timeM1=candleOpenTime;

   int ticket1=OrderSend(...); // выставляет отложку 1

   int ticket2=OrderSend(...);// отложку 2

   return !(ticket1<0 || ticket2<0);

 }

 return 0;

}

// вызывать каждый тик или по таймеру (по вкусу)

escrito "à mão", nunca verificado de forma alguma

 
Иван Титов:
Olá, você poderia me dizer como fazer 2 pedidos pendentes de compra e venda quando um novo castiçal M1 é formado?

é a nova função de verificação de velas abertas para qualquer TF (muito útil)

bool NewBar(ENUM_TIMEFRAMES TF = PERIOD_CURRENT)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
     {
      NewTime=iTime(Symbol(),TF,0);
      return(true);
     }
   return(false);
  }
 

O que significa este aviso no testador?

2020.02.06 09:55:17.596 TestGenerator: erro de dados incomparável (limite de volume 95 em 2020.01.20 08:10 excedido)

A tradução direta é "limite de volume 95 excedido". Mas o que isso significa? Não há limite de volume... E outros castiçais (M5) têm volumes muito maiores, mas nenhum aviso...
 

É possível criar funções onde o parâmetro pode ser uma variável de qualquer tipo ao mesmo tempo?

void Function (any_type A);
 
Viatcheslav Pashkov:

O que significa este aviso no testador?

2020.02.06 09:55:17.596 TestGenerator: erro de dados incomparável (limite de volume 95 em 2020.01.20 08:10 excedido)

A tradução direta é "limite de volume 95 excedido". Mas o que isso significa? Não há limite de volume... E outros castiçais (M5) têm volumes muito maiores, mas nenhum aviso...
Baixe o histórico sobre o símbolo. F2
 
Viatcheslav Pashkov:

É possível criar funções onde o parâmetro pode ser uma variável de qualquer tipo ao mesmo tempo?

Sim, o padrão é chamado

template<typename T>
void Foo(T param){
...
}
 
Vladimir Simakov:

Sim, o padrão é chamado

Eu não entendo.

Leia o FAQ.

Ainda não entendi. Dê um exemplo simples entre int, double e string, por favor.

 
Viatcheslav Pashkov:

não o conseguiu.

Leia o FAQ.

ainda não entendem. Dê-me um exemplo simples entre int, double e string, por favor.

https://www.mql5.com/ru/docs/basis/oop/templates

Por que colocá-lo na seção OOP?

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Vladimir Simakov:

https://www.mql5.com/ru/docs/basis/oop/templates

Por que você o colocou na seção OOP?

foi exatamente isso que eu li.

Mas deve ter sido escrito para aqueles que sabiam mas tinham esquecido.

Essa informação não me ajudou nem um pouco.

Você pode me dar um exemplo simples?

Razão: