Características da linguagem mql5, subtilezas e técnicas - página 44

 
Após um OrderSend(Async) bem sucedido, o campo Result.request_id contém o número de pedidos enviados para o servidor de negociação desde queo terminal foi iniciado(não o login).
 

Não entendo, por alguma razão a classe CCanvas só desenha as linhas na tela normalmente quando o gráfico é aumentado, e quando você diminui o zoom, só a tela em si é desenhada e as linhas não são desenhadas:

 
Konstantin:

Eu não entendo nada, por alguma razão a classe CCanvas normalmente desenha linhas na tela apenas quando se faz zoom in e quando se faz zoom out apenas na tela, mas as linhas não são desenhadas:


Mas não publique o seu código aqui - no caso de descobrirmos um erro )). Uma geração de palhaços...

 

Encontrei o problema, ao converter as coordenadas de tempo/preço para o gráfico de pixels, não levei em conta as coordenadas do gráfico, mas precisava convertê-lo para as coordenadas da tela na qual eu estava desenhando ))


 

POSITION_TICKET pode não ser igual aPOSITION_IDENTIFIER apenas se houvesse um DEAL_ENTRY_INOUT(DEAL_ENTRY_OUT_BY)-trade.

Se não houve tal transação, estes parâmetros de posição serão sempre os mesmos.

 
fxsaber:

POSITION_TICKET pode não ser igual aPOSITION_IDENTIFIER apenas se houvesse um DEAL_ENTRY_INOUT(DEAL_ENTRY_OUT_BY)-trade.

Se não houve tal transação, estes parâmetros de posição sempre coincidirão.

Não é verdade. Já vi que ao activar uma ordem pendente, o bilhete e a identificação não coincidem, mesmo no testador de contas.

Assim, para obter uma lista de ordens e negócios pertencentes a uma posição, devemos sempre usar o ID e não o ticket da posição.

 
Alexey Viktorov:

Errado. Descobri que ao activar uma ordem pendente, o bilhete e a identificação não coincidem, mesmo no testador de contas hadge.

Código para o testador, por favor.

Portanto, devemos sempre usar o identificador, não o ticket da posição, para obter a lista de ordens e negócios pertencentes à posição.

Essa nunca foi a questão. O objectivo é outra coisa:

  • Se TICKET != IDENTIFICADOR, então 100% houve um INOUT-trade (POR caso não é interessante, então eu não escrevo).
  • Caso contrário, não houve transação INOUT.
SZY Como consequência, em contas Hedge POSITION_TICKET == POSITION_IDENTIFIER é sempre usado, a menos que CloseBy seja usado.
 

No mercado de futuros, como determinar a hora de fecho do mercado do dia anterior em diferentes variantes de encontrar o intervalo de tempo actual:

1. estamos no intervalo de sábado a domingo; precisamos da hora de encerramento da sessão comercial de sexta-feira à noite
2. Estamos no mercado fechado de segunda a sexta-feira; precisamos do horário de fechamento para a sessão de negociação da noite de segunda a quinta-feira.
3. No intervalo de negociação de segunda a sexta-feira; precisamos de tempo de fecho para a sessão de negociação de sexta-feira à noite
4. No período de terça a sexta-feira, precisamos do horário de encerramento para as sessões de segunda a quinta-feira à noite

Talvez alguém tenha escrito uma funcionalidade semelhante, não quero reinventar a roda ))

 
fxsaber:

Código do testador, por favor.


Pegue qualquer código com ordens pendentes de abertura e corra até o punho, você terá sorte um dia.

Palavra-chave no meu posto

não há dependência e não pode haver. Consequentemente, também não pode haver um código especial.
fxsaber:

  • Se TICKET != IDENTIFIER, então 100% houve uma transação INOUT (POR CASO não é interessante, então eu não escrevo).

Mais precisamente, é o contrário:

Se houvesse um INOUT-deal, então 100% TICKET != IDENTIFICADOR.

Isto é indiscutível. Embora nas contas de hadge nasça um comércio INOUT através do contra-fechamento.

fxsaber:


  • Caso contrário, não houve nenhum acordo INOUT.

Isto é questionável. É até muito questionável.

Nesta altura, despeço-me de ti. Não tenho o direito de te impedir de te perderes...

 
Konstantin:

No mercado de futuros, como determinar a hora de fecho do mercado do dia anterior em diferentes variantes de encontrar o intervalo de tempo actual:

1. estamos no intervalo de sábado a domingo; precisamos da hora de encerramento da sessão comercial de sexta-feira à noite
2. Estamos no mercado fechado de segunda a sexta-feira; precisamos do horário de fechamento para a sessão de negociação da noite de segunda a quinta-feira.
3. No intervalo de negociação de segunda a sexta-feira; precisamos de tempo de fecho para a sessão de negociação de sexta-feira à noite
4. No horário de terça a sexta-feira, precisamos do horário de encerramento das sessões de segunda a quinta-feira à noite.

Talvez alguém escreveu uma funcionalidade semelhante, eu não quero reinventar a roda ))

Talvez isto funcione? No entanto, nem sempre é correto em forex.

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionTrade
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionTrade
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionTrade - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5