Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 762
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
E não são posições ou acordos que precisam de ser verificados, mas sim ordens, porque uma ordem vem primeiro, depois um acordo, depois uma posição.
Porquê apenas encomendas? Um negócio não tem um ID de posição (bilhete)?
DEAL_POSITION_ID
Porquê apenas encomendas? Um negócio não tem um ID de posição (bilhete)?
DEAL_POSITION_ID
Sim, tem razão. Tanto as encomendas como os negócios têm um identificador de posição. No entanto, no caso geral, devemos saber que à posição é atribuído um identificador da primeira ordem que iniciou o negócio. Consequentemente, a "entidade" que inicia a posição é a ordem, e não o negócio. E são as ordens, e não os negócios, que devem ser procuradas.
A partir da documentação:
O identificador de posição é um número único que é atribuído a cada posição recentemente aberta e não muda ao longo da sua vida útil. Corresponde ao bilhete da ordem com que a posição foi aberta.
O identificador da posição é especificado em cada ordem (ORDER_POSITION_ID) e cada comércio (DEAL_POSITION_ID) que o abriu, alterou ou fechou. Utilize esta propriedade para procurar ordens e negócios relacionados com a posição.
Sim, tem razão. Tanto as ordens como os negócios têm um identificador de posição. No entanto, em geral, deve saber que à posição é atribuído o identificador da primeira ordem que iniciou o comércio. Consequentemente, a "entidade" que inicia a posição é a ordem, e não o negócio. E são as ordens, e não os negócios, que devem ser procuradas.
A partir da documentação:
Não vou discutir, é exactamente isso que diz a documentação. Mas noutra parte da mesma documentação diz"Como regra...", o que significa que pode haver inconsistências. E este é o "como regra" que uma vez encontrei...
posição
O bilhete de posição. Deve ser preenchido quando uma posição é alterada e fechada, para a sua identificação única. Em regra, corresponde ao bilhete da ordem, em resultado do qual a posição foi aberta.
Aconselhar como recuperar o bilhete que foi utilizado para o comércio. Na imagem do ecrã, está "63214735".
Aquiestá à procura do número da posição na lista de acordos, ou então está errado.
Aqui está um guião que demonstra o que a HistorySelectByPosition dá
E é assim que se parece o resultado :
0 = Posição Aberta
1 = Posição próxima
Se não o obtiver = não entrou numa posição de bilhete
O mesmo resultado pode ser obtido se se começar com o Bilhete de Acordo:
Para a função HistoryDealGetInteger()
ENUM_DEAL_PROPERTY_INTEGER
Identificador
Descrição
Tipo
DEAL_TICKET
Bilhete de acordo. Número único a ser atribuído a cada comércio
longo
DEAL_ORDER
Ordem, com base na qual o comércio foi executado
longo
DEAL_TIME
Tempo de execução do negócio
data/hora
DEAL_TIME_MSC
Tempo de execução em milissegundos a partir de 01.01.1970
longo
DEAL_TYPE
Tipo de negócio
ENUM_DEAL_TYPE
DEAL_ENTRY
Direcção do negócio - entrada, saída ou inversão do mercado
ENUM_DEAL_ENTRY
DEAL_MAGIC
Número mágico para o negócio (ver ORDER_MAGIC)
longo
TEMPORADA
Motivo ou fonte do acordo
ENUM_DEAL_DEAL_REASON
DEAL_POSITION_ID
O identificador da posição na abertura, modificação ou encerramento da qual este comércio esteve envolvido. Cada posição tem um identificador único, que é atribuído a todos os negócios feitos no instrumento durante o tempo de vida da posição.
longo
Obrigado!
Eu precisava disto:HistoryOrderGetTicket
Obrigado!
Eu precisava disto:HistoryOrderGetTicket
A encomenda pode ser de 1.0 lote. Mas pode ser parcialmente executado, por exemplo, lote 0,9 - o restante será rejeitado (depende do modo de execução). Depois a troca será de lote 0,9. E quando se começa a procurar lotes na encomenda, haverá inconsistências.
Por favor, ajude - preciso de algum código são para obter o valor do ambiente OHLC - os existentes são muito lentos
Opção 1
Opção 2
Por favor, ajude - preciso de algum código são para obter o valor do ambiente OHLC - os existentes são muito lentos
Opção 1
Opção 2
Afixar um pedaço de código como os aplica
Não sei que peça está a abrandar - aplico-as de diferentes maneiras, incluindo em loops...
aqui está um exemplo
Não sei que peça está a abrandar - aplico-a de diferentes maneiras, incluindo em loops...
Parece que sim em loops, e pode passar sem a função