Aprender e escrever juntos em MQL5 - página 19

 
Interesting:

(Sim e o pedido, lamentavelmente pouco justificado e apoiado por argumentos convincentes).

PS

Embora me possa ter escapado algo e os criadores decidam que é bastante razoável.

Repito: não houve pedido aos criadores :) Não houve requisitos ou mesmo pedidos - de acordo com o tema do ramo. Como diz o ditado: "navegamos, nós sabemos" :) A razão pela qual expliquei aqui:"Se alguém levantasse tal questão há meio ano atrás, ainda poderíamos esperar por uma aparência relativamente rápida da característica, mas esperar pelo próximo ano é mais fácil de introduzir uma variável para a data. Embora não seja totalmente exacta, mas ainda assim.

Como sempre, obrigado a todos pelos vossos pensamentos! Desta vez convenceu-me que tenho razão :)

 

stringo:

Yedelkin:

Pergunta. A descrição do interruptor (expressão){...} diz que "a expressão do operador do interruptor deve ser do tipo inteiro". Já vi a descrição deste operador com expressões de outros tipos na Internet. Vamos alargar o uso do operador de comutação adicionando expressões do tipo string?

Não, infelizmente, não o fará. Para tipos de cordas apenas se ... senão, se ... senão .

A utilização de tipos inteiros no interruptor irá acelerar o operador do interruptor várias vezes mais do que se

Pergunta. Existe (por analogia com o interruptor) alguma velocidade em comparação com a do"operador condicional ?:"?

 
Yedelkin:

Pergunta. Existe (por analogia com o interruptor) algum aumento de velocidade em comparação com se para"operador condicional"?

Não. O operador condicional não tem velocidade em comparação com o "se". É apenas mais fácil de escrever.
 
stringo:
Não. O operador condicional não tem aceleração em comparação com se. É apenas mais fácil de escrever.
Oops, já percebi.
 

ORDER_TYPE_BUY_STOP_LIMIT

Quando o preço da encomenda é atingido , uma encomenda pendente de Limite de Compra é colocada ao preço StopLimit

Parece que o processamento desta encomenda, incluindo a definição de uma ordem de limite de compra pendente, é feita do lado do servidor. Tenho algumas perguntas para as quais não consegui encontrar respostas na referência:

1) O próprioORDER_TYPE_BUY_STOP_LIMIT entra na históriaquando o preço da encomenda é atingido e a encomenda pendente de Buy Limit é colocada?

2) O ticket de uma ordem deencomenda é herdado por umanova ordem pendente colocada no lado do servidor?

3) É gerado algum evento comercial quando é feita uma encomenda com limite de compra pendente do lado do servidor?

4) Como (por que regra) é o tempo de expiração, a duração da encomenda e os comentários atribuídos a uma nova encomenda pendente Buy Limit no lado do servidor?

E, em geral, existe uma forma inteligente de apanhar rapidamente a colocação de encomendas no lado do servidor? Isto já foi mencionado em algum lugar?

 
Talvez o Old_Time[0] não tenha sido inicializado correctamente em primeiro lugar. Não está claro no código o que está lá. Dê uma vista de olhos aqui, talvez possa usar esta solução.
 
AUser:
...
CopyTime(_Symbol,_Period,0,1,Old_Time);
Tente inserir esta linha antes do fecho do suporte OnTick().
 
O fio não está de todo ligado ao grão.

Yedelkin:

...A função Sleep() não abranda o fio em si

Abranda mas liberta recursos da CPU para outros fios.

É por isso que não se deve usar Dormir em índices - um fio pode calcular muitos índices e Dormir em um fará com que todos os outros também fiquem ociosos.

________

Raios, estou demasiado atrasado :) da próxima vez vou olhar mais atentamente para as datas.

 
TheXpert:
O fio não está de todo ligado ao grão.

Abranda mas liberta recursos da CPU para outros fios.

É por isso que Dormir não deve ser usado em induladores - um fio pode calcular um grande número de induladores e Dormir num fio fará com que todos os outros também fiquem ociosos.

________

Raios, estou demasiado atrasado:) da próxima vez vou olhar mais atentamente para as datas.

Acerca do 'atrasado'. - É isso mesmo! A frase chave aqui é "libertar recursos de CPU para outros fios". Era exactamente isso que eu estava a tentar formular na pergunta.

 
Yedelkin:

ORDER_TYPE_BUY_STOP_LIMIT

Quando o preço da encomenda é atingido , uma encomenda pendente de Limite de Compra é colocada ao preço StopLimit

Parece que o processamento desta encomenda, incluindo a definição de uma ordem de limite de compra pendente, é feita do lado do servidor. Tenho várias perguntas para as quais não encontrei respostas nos materiais de referência: ...

A julgar pela falta de respostas à pergunta, as pessoas aqui são pós-MT4 e ainda não se moveram para parar as ordens de limite :)

E, falando sem letra, encontrei materiais na Internet a afirmar que uma ordem STOP LIMIT não cria uma nova ordem pendente mas simplesmente transforma-se numa ordem limite quando alguma condição é cumprida:

- uma ordem condicional, que se transforma numa ordem limite quando o preço do contrato atinge um determinado nível;

- uma ordem para executar uma negociação a um preço pior do que o preço actual de mercado, mas não pior do que o preço especificado na parte limite da ordem. Ao contrário de uma ordem de paragem, quando o preço de mercado atinge o preço especificado na ordem, esta ordem é activada como uma ordem de limite. Neste caso, o preço de execução de uma ordem stop-limit pode ser ou igual ao preço da ordem ou melhor do que este;

- uma ordem de cliente que se torna uma ordem limitada quando o preço de mercado atinge o nível estabelecido (preço de paragem);

etc.

Esta abordagem responde à maioria das minhas perguntas. Mas se este for de facto o caso, então a frase no Manual sobre "colocar uma ordem limite" parece incorrecta e especificamente confusa.