Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 979

 
Kolya32:
Olá. Sabe se existe um conjunto de funções prontas a usar para a MQL5? Por exemplo, a biblioteca MQL4 de Igor Kim aka KimIV https://www.mql5.com/ru/forum/131859

Todas estas funções podem ser multi-plataforma (funcionam da mesma forma em MT4 e MT5 sem alterar o código) se utilizar a biblioteca MT4Orders.

 
fxsaber:

Todas estas funções podem ser multi-plataforma (sem alterar o código para funcionar da mesma forma em MT4 e MT5) se utilizar a biblioteca MT4Orders.

Obrigado. Criei uma EA em mql5, copiei tudo de mql4 EA e acrescentei a biblioteca. No início, houve 104 erros sem a biblioteca e 74 com a biblioteca. Isso é bastante compreensível, porque a descrição da biblioteca diz que a biblioteca cobreapenas o sistema de encomendas!E tenho muitas e muitas mais coisas no meu EA...
 
Kolya32:
Criei uma EA em mql5 e copiei tudo a partir dela. Criei uma EA em mql5, copiei nela tudo desde mql4 e anexei a biblioteca. No início houve 104 erros sem a biblioteca e 74 com a biblioteca. Isso é bastante compreensível, porque a descrição da biblioteca diz que a biblioteca cobreapenas o sistema de encomendas!E tenho muitas e muitas mais coisas no meu EA...

Há muitos exemplos de conversões de EA usando este método. Inicialmente não estava a falar da vossa EA, mas sim das funções de Kim.

 
fxsaber:

Há muitos exemplos de conversões de EA usando este método. Originalmente, não se tratava da sua EA, mas das funções de Kim.

Compreendo, obrigado. Terei em mente que tal biblioteca existe, mas ainda preciso de aprender MQL5. Tenho visto muito poucos exemplos de funções de MQL5 prontas a serem refeitas em MQL5.
 
Kolya32:
Já está, obrigado. Terei em mente que tal biblioteca existe, mas ainda preciso de aprender MQL5. Existem poucos exemplos de funções MQL5 já prontas que poderiam ser refeitas em MQL5.
Precisa de escrever por si próprio. A abordagem: uma função para todas as ocasiões é errada.
Qual a função que pretende fazer na MQL5?
 
Vladimir Karputov:
Precisa de escrever por si próprio. A abordagem: uma função para todas as ocasiões é errada.
Qual a função que pretende fazer na MQL5?

Uma universal, que poderia cortar libras enquanto o computador está desligado. E de preferência em grandes denominações. Pode escrevê-lo em eurynotes. ))))

 
Vladimir Karputov:
Tem de o escrever por si próprio. A abordagem: uma função para todas as ocasiões é errada.
Que função gostaria de fazer na MQL5?

Preciso realmente de uma FUNÇÃO MQL5 PARA VERIFICAR SE A CONTA DE UM HOJE Se sim, então verdadeiro, se não, então falso (com Magia, claro). Eu utilizo esta função no MT4.

bool isTradeToDay(string sy="", int op=-1) {
  int i, k=OrdersHistoryTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  k=OrdersTotal();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (Magic<0 || OrderMagicNumber()==Magic) {
              if (TimeDay  (OrderOpenTime())==Day()
              &&  TimeMonth(OrderOpenTime())==Month()
              &&  TimeYear (OrderOpenTime())==Year()) return(True);
            }
          }
        }
      }
    }
  }
  return(False);
}
 
Kolya32:

Preciso realmente de uma FUNÇÃO na MQL5 que verifique se uma troca foi feita hoje. Se sim, então verdadeiro, se não, então falso (com Magic set, é claro). Eu utilizo esta função no MT4.

Por favor, tente inserir o código correctamente primeiro. Não quero olhar para a vossa folha de texto simples.
 
Vladimir Karputov:
Por favor, tente inserir o código correctamente primeiro. Não desejo de ver a sua folha de texto simples.
Corrigido)
 
Kolya32:

Preciso realmente de uma FUNÇÃO na MQL5 que verifique se uma troca foi feita hoje. Se sim, então verdadeiro, se não, então falso (com Magic set, é claro). Utilizo esta função no MT4.

Está em MQL5

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

Valor devolvido

Retorna verdadeiro se for bem sucedido, caso contrário falso.

Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...