Esta função retorna o número de fechamento da barra da última posição ou -1. A seleção das posições a serem levadas em conta é definida por parâmetros externos:
sy - Nome do instrumento de mercado. Se este parâmetro for definido, a função considerará apenas as posições deste instrumento. O valor padrão - NULL significa o instrumento de mercado atual.
tf - Cronograma. O valor padrão 0 significa o período de tempo atual.
op - Operação comercial, tipo de posição. Valores válidos: OP_BUY, OP_SELL ou -1. O valor padrão -1 significa qualquer posição.
mn - Identificador de posição, MagicNumber. O valor padrão -1 significa qualquer identificador.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает номер бара закрытия последней позиции или -1. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+intNumberOfBarCloseLastPos(stringsy="0", inttf=0, intop=-1, intmn=-1){datetimet;
inti, k=OrdersHistoryTotal();
if(sy=="" || sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){if(OrderSymbol()==sy){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(op<0 || OrderType()==op){if(mn<0 || OrderMagicNumber()==mn){if(t<OrderCloseTime())t=OrderCloseTime();
}}}}}}return(iBarShift(sy, tf, t, True));
}
HH. Anexado um roteiro para testar a função NumberOfBarCloseLastPos().
Função DeleteOrders() é projetada para excluir pedidos pendentes BuyLimit, BuyStop, SellLimit e SellStop. op - Tipo de operação comercial, tipo de ordem pendente. Um dos cinco valores é possível: -1, OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT ou OP_SELLSTOP. O valor padrão de -1 significa qualquer ordem. mn - MagicNumber, número de identificação da ordem pendente. O valor padrão -1 significa qualquer magik.
Olá. Na página 10 esta função foi definida para ser aplicada.
Eu apliquei em meu Consultor Especialista para apagar as ordens pendentes. Ou melhor, eu queria usá-la. Coloquei a função fora da seção int start
Rita писал (а): Mas quando você o compila, você recebe um erro clDelete' - variável não definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (1155, 40) Como posso eliminar este erro? O que é este 'clDelete'?
Ali, na página 10 no anexo está o arquivo test_DeleteOrders.mq4
Faça o download e procure por qualquer referência clDelete nela contida.
ClosePosBySelect' - função não está definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (905, 47) E não há nenhum script por perto (p. 14) para verificar
Desculpe incomodá-lo novamente! Eu coloquei a função ClosePositions() que você especificou ao lado de ClosePosBySelect(), e seis erros apareceram após a compilação! Eu me sinto zangado!
Eu mesmo já lidei com quatro deles. Escorregamento, cor, número de tentativas de aproximação....Dois erros permanecem, -
Estes erros parecem continuar aparecendo sem parar. Para usar uma função ClosePositions(), eu tive que primeiro criar outra - ClosePosBySelect(). E o outro, por sua vez, requer alguns sons - sinos e apitos. E quando estou lutando para encontrar esses sinos e sinos totalmente desnecessários, recebo todo tipo de erros estranhos - "outros" - inesperados e outros erros. Eu ainda nem comecei a usar esta função. Eu só o defini entre outros!
Você pode me dizer como posso corrigir esses erros? Eu comentei todos estes GetNameOP. Os erros parecem ter desaparecido. Mas será que a função funcionará bem sem eles?
Esta função retorna o número de barra da última posição aberta ou -1. A seleção das posições a serem levadas em conta é especificada por parâmetros externos:
sy - Nome do instrumento de mercado. Se este parâmetro for definido, a função considerará apenas as posições do instrumento especificado. O valor padrão - NULL significa o instrumento de mercado atual.
tf - Cronograma. O valor padrão 0 significa o período de tempo atual.
op - Operação comercial, tipo de posição. Valores válidos: OP_BUY, OP_SELL ou -1. O valor padrão -1 significa qualquer posição.
mn - Identificador de posição, MagicNumber. O valor padrão -1 significa qualquer identificador.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает номер бара открытия последней позиции или -1. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+intNumberOfBarOpenLastPos(stringsy="0", inttf=0, intop=-1, intmn=-1){datetimet;
inti, k=OrdersTotal();
if(sy=="" || sy=="0")sy=Symbol();
for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if(OrderSymbol()==sy){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(op<0 || OrderType()==op){if(mn<0 || OrderMagicNumber()==mn){if(t<OrderOpenTime())t=OrderOpenTime();
}}}}}}return(iBarShift(sy, tf, t, True));
}
HH. Anexado um roteiro para testar a função NumberOfBarOpenLastPos().
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
A função NumberOfBarCloseLastPos().
Esta função retorna o número de fechamento da barra da última posição ou -1. A seleção das posições a serem levadas em conta é definida por parâmetros externos:
- sy - Nome do instrumento de mercado. Se este parâmetro for definido, a função considerará apenas as posições deste instrumento. O valor padrão - NULL significa o instrumento de mercado atual.
- tf - Cronograma. O valor padrão 0 significa o período de tempo atual.
- op - Operação comercial, tipo de posição. Valores válidos: OP_BUY, OP_SELL ou -1. O valor padrão -1 significa qualquer posição.
- mn - Identificador de posição, MagicNumber. O valor padrão -1 significa qualquer identificador.
HH. Anexado um roteiro para testar a função NumberOfBarCloseLastPos().Função DeleteOrders(). Versão do testador.
Função DeleteOrders() é projetada para excluir pedidos pendentes BuyLimit, BuyStop, SellLimit e SellStop. op - Tipo de operação comercial, tipo de ordem pendente. Um dos cinco valores é possível: -1, OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT ou OP_SELLSTOP. O valor padrão de -1 significa qualquer ordem.
mn - MagicNumber, número de identificação da ordem pendente. O valor padrão -1 significa qualquer magik.
Olá. Na página 10 esta função foi definida para ser aplicada.
Eu apliquei em meu Consultor Especialista para apagar as ordens pendentes. Ou melhor, eu queria usá-la. Coloquei a função fora da seção int start
Coloquei-o.
Mas ao compilar, eu recebo um erro
clDelete' - variável não definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (1155, 40)
Como posso eliminar este erro?
E quando eu uso a função ClosePositions() - Fecharposições a preço de mercado, tudo está bem - sem erros!
/ mesmo que eu apenas insira a função DeleteOrders e não a aplique ainda - este erro ainda se compila!
Mas quando você o compila, você recebe um erro
clDelete' - variável não definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (1155, 40)
Como posso eliminar este erro? O que é este 'clDelete'?
Ali, na página 10 no anexo está o arquivo test_DeleteOrders.mq4
Faça o download e procure por qualquer referência clDelete nela contida.
Descarregue-o, assista-o! Então? Acontece que tudo o que eu tinha que fazer era definir a cor do ícone de fechamento!
Mas agora não está tudo bem novamente. Agora esse erro desapareceu. Mas outro erro apareceu - na função ClosePositions() - que não existia antes.
ClosePosBySelect' - função não está definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (905, 47)
E não há nenhum script por perto (p. 14) para verificar
Você pode me dizer como corrigir este erro?
ClosePosBySelect' - função não está definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (905, 47)
Este erro significa que ClosePosBySelect() não está definido.
Você pode me dizer como corrigir este erro?
Desculpe incomodá-lo novamente! Eu coloquei a função ClosePositions() que você especificou ao lado de ClosePosBySelect(), e seis erros apareceram após a compilação! Eu me sinto zangado!
Eu mesmo já lidei com quatro deles. Escorregamento, cor, número de tentativas de aproximação....Dois erros permanecem, -
arquivos de som -
UseSound' - variável não definida C:\Program Files\MetaTrader - Alpari`experts\0005.mq4 (1002, 13)
NameFileSound' - variável não definida C:³ Files\MetaTrader - Alpari`experts\0005.mq4 (1002, 33)
De onde eu o retiro? Onde os coloco?
Bem externo Bool UseSound = falso;//Switch off
Vou colocá-lo em "PROPRIEDADES DO EXPERTO", mas o que é "NameFileSound" e para onde devo levá-lo?
**************************************************************************
Fundou-o e colocou-o no mundo inteiro.
E em vez de um erro, o compilador jogou mais 4:
GetNameOP' - a função não está definida
Descrição do erro - a função não está definida
"outra coisa" - ficha inesperada
GetNameOP' - a função não está definida
Estes erros parecem continuar aparecendo sem parar. Para usar uma função ClosePositions(), eu tive que primeiro criar outra - ClosePosBySelect(). E o outro, por sua vez, requer alguns sons - sinos e apitos. E quando estou lutando para encontrar esses sinos e sinos totalmente desnecessários, recebo todo tipo de erros estranhos - "outros" - inesperados e outros erros. Eu ainda nem comecei a usar esta função. Eu só o defini entre outros!
Você pode me dizer como posso corrigir esses erros? Eu comentei todos estes GetNameOP. Os erros parecem ter desaparecido. Mas será que a função funcionará bem sem eles?
E aqui, em vez de um erro, o compilador jogou mais 4:
GetNameOP' - a função não está definida
Na primeira página do anexo testrSetOrder.mq4
ErrorDescription' - a função não está definida
No código de sua EA insira a seguinte linha
#incluir <stdlib.mqh>.
'else' - inesperado
A função NumberOfBarOpenLastPos().
Esta função retorna o número de barra da última posição aberta ou -1. A seleção das posições a serem levadas em conta é especificada por parâmetros externos:
- sy - Nome do instrumento de mercado. Se este parâmetro for definido, a função considerará apenas as posições do instrumento especificado. O valor padrão - NULL significa o instrumento de mercado atual.
- tf - Cronograma. O valor padrão 0 significa o período de tempo atual.
- op - Operação comercial, tipo de posição. Valores válidos: OP_BUY, OP_SELL ou -1. O valor padrão -1 significa qualquer posição.
- mn - Identificador de posição, MagicNumber. O valor padrão -1 significa qualquer identificador.
HH. Anexado um roteiro para testar a função NumberOfBarOpenLastPos().