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

 
Igor Makanu:

Obrigado!

Sim, era isso que eu procurava, se não conseguisse escrever em "cinco linhas" com SB.

Mas o quanto eu compreendi, que um SB CTrade não será capaz de resolver o meu problema? E tive de usar também o CPositionInfo? - Se eu quiser acompanhar 9 posições por várias TFs ao mesmo tempo?

ZS: Estou sentado na ajuda MQL5 com a TV inteligente - funções comerciais bastante bem descritas, o uso do SatB está sob uma questão .... penso que faz sentido utilizar o SB para estratégias primitivas, um pouco mais complicado - a funcionalidade é insuficiente ou não é óbvia, talvez precise de mais prática - vou tentar "torcer" o SB


Mais uma vez obrigado!

Não há problema para "abrir uma posição" no testador, ou para códigos de formação como substituto. Caso contrário, deverá fazer o seu próprio código ou herdá-lo do CTrade para criar a sua própria classe completa para operações comerciais, tendo em conta várias nuances.
Há coisas muito mais simpáticas no SB - sabe sobre elas e utiliza-as.

 
fxsaber:

Não há aí qualquer erro, uma vez que a lista é gerada através de HistorySelectByPosition.

Sim, ignorei que não se trata de uma lista completa.

 
Artyom Trishkin:

SB tem coisas muito mais simpáticas - conhece-as e utiliza-as.

por isso estas são as coisas boas que são enganosas! - Esperava que durante tantos anos os programadores de SB tivessem polido e feito a funcionalidade esperada, e eu sou apenas um utilizador que não foi capaz de usar SB em 2 cliques, mas afinal não sou o utilizador - tristeza em geral!!!

SZY: MQL5 Ajuda é muito habilmente escrita, cheia de encomendas ... Mas eles dizem - até esquecer a palavra ordem, não há esperança!

 
Igor Makanu:

por isso estas são as coisas boas que são enganosas! - Esperava que durante tantos anos os programadores de SB tivessem polido e feito a funcionalidade esperada, e eu sou apenas um utilizador que não foi capaz de usar SB em 2 cliques, mas afinal não sou o utilizador - tristeza em geral!!!

SZY: MQL5 Ajuda é muito habilmente escrita, cheia de encomendas ... Mas eles dizem - até esquecer a palavra ordem, não há esperança!

Aqui é bastante simples. Ordem -> comércio -> posição. Na MQL5 também não podemos evitar ordens - elas estão lá, e são o princípio de tudo. Enviamos um pedido comercial ao servidor (é uma ordem), o servidor aceita/recebe-o e devolve o código. Por vezes, se o pedido estiver incorrecto, a encomenda não é enviada para o servidor - o seu envio é bloqueado ao nível do terminal. Uma vez a ordem enviada com sucesso para o servidor e enfileirada para execução, aguardamos que esta ordem seja accionada (a sua execução, por outras palavras - um negócio) e como resultado desta transacção (quer seja um mercado ou uma ordem pendente), forma-se uma posição (nem sempre - na netting, e se houver uma posição na mesma direcção, simplesmente adiciona volume à posição existente, se a direcção oposta, então, dependendo do volume do negócio comprometido, a posição actual ou é parcialmente fechada ou invertida).

As encomendas também têm o seu próprio bilhete. O mesmo acontece com os ofícios e posições. Mas uma posição também tem um identificador. O identificador de uma posição será sempre igual ao bilhete da sua primeira encomenda - a ordem de abertura desta posição.

Uma ordem de mercado tem apenas um bilhete. E a sua propriedade identificadora de posição não é preenchida até que a ordem seja accionada. Ou seja, apenas uma ordem histórica tem um identificador de posição - é preenchida no momento da troca - no momento do accionamento dessa ordem. Se for umaordem pendente eliminada, o seu identificador de posição também não é preenchido - não houve comércio ou posição, respectivamente.

O comércio tem um bilhete (o seu bilhete), há um identificador da ordem - em resultado do qual este comércio foi executado, e há um identificador de posição - a posição que apareceu como resultado da execução deste comércio ou a posição que foi alterada como resultado da execução deste comércio

O cargo tem um bilhete, que lhe é atribuído quando é aberto ou alterado. Se a posição só for aberta então o seu bilhete será igual ao seu identificador - um número de posição único, que não muda durante toda a vida da posição. Enquanto o bilhete de uma posição pode mudar repetidamente e corresponder ao bilhete de uma ordem - como resultado do accionamento dessa ordem, aparece uma nova troca que muda essa posição - o bilhete dessa ordem é atribuído ao bilhete da posição.

Se acompanharmos de perto todas estas metamorfoses numa posição, podemos facilmente ver o comportamento da posição em mql4 durante o seu fecho parcial - o seu bilhete também muda aí.

 
Artyom Trishkin:

Se observar atentamente todas estas metamorfoses em posição

Obrigado! Estou a observá-lo para o segundo dia, mas tudo o que é preciso é treinar, hoje tenho o SB resolvido...bem, resolvido;)

PS: explica bem, talento com certeza!

 
Igor Makanu:

Obrigado! Estou a observá-lo para o segundo dia, mas tudo o que é preciso é praticar, por isso hoje tenho o SB resolvido...bem, resolvido ;)

PS: bem explicado, definitivamente um talento!

Feliz por ajudar ;)

 
Artyom Trishkin:

..................

Uma encomenda também tem o seu próprio bilhete. O mesmo acontece com os ofícios e posições. Mas uma posição também tem um identificador. O identificador da posição será sempre igual ao bilhete da sua primeira encomenda - a ordem de abertura desta posição.

Uma ordem de mercado tem apenas um bilhete. E a sua propriedade identificadora de posição não é preenchida até que a ordem seja accionada. Ou seja, apenas uma ordem histórica tem um identificador de posição - é preenchida no momento da execução da transacção - no momento do accionamento dessa ordem. Se for uma ordem pendente eliminada, o seu identificador de posição também não é preenchido - não houve comércio ou posição, respectivamente.

O comércio tem um bilhete (o seu bilhete), há um identificador da ordem - em resultado do qual este comércio foi executado, e há um identificador de posição - a posição que apareceu como resultado da execução deste comércio ou a posição que foi alterada como resultado da execução deste comércio

O cargo tem um bilhete, que lhe é atribuído quando é aberto ou alterado. Se a posição só for aberta então o seu bilhete será igual ao seu identificador - um número de posição único, que não muda durante toda a vida da posição. Enquanto o bilhete de uma posição pode ser alterado repetidamente e corresponde ao bilhete de ordem - como resultado do accionamento dessa ordem aparece uma nova troca que altera essa posição - o bilhete dessa ordem é atribuído ao bilhete de posição.

Se acompanharmos de perto todas estas metamorfoses numa posição, podemos facilmente ver o comportamento da posição em mql4 durante o seu fecho parcial - o seu bilhete também muda aí.

Então acontece que o descasamento foi obtido devido ao atraso em transformar a ordem numa posição - comercial? Mesmo no testador...? Isso é espantoso.

Assim, após a encomenda, ainda temos de nos certificar de que a posição é aberta. Quanto tempo se tem de esperar? É para pendurar a coruja até que todas as conversões sejam confirmadas? Ou como é que é em geral?

 
Сергей Таболин:

Acontece que o desfasamento se deveu ao atraso em transformar a ordem numa posição - comercial? Mesmo no testador...? Que monte de porcaria.

Assim, após a encomenda, ainda temos de nos certificar de que a posição é aberta. Quanto tempo se tem de esperar? É para pendurar a coruja até que todas as conversões sejam confirmadas? Ou como é que é em geral?

Fizemos uma ordem de troca (lembrámo-nos do bilhete de troca) e hasteámos a bandeira de espera - assim que obtivemos um gatilho garantido na OnTradeTransaction - tipo de transacção TRADE_TRANSACTION_DEAL_ADD - verificamos o bilhete de troca. Se tudo funcionasse em conjunto - tudo bem.

Isto é a vida real - os eventos podem vir com diferentes intervalos, quebras de ligação ... Muita coisa pode acontecer. Esta é a realidade - não há uma cadeia rígida.

 
Vladimir Karputov:

Colocámos uma ordem de transacção (lembrámo-nos do bilhete de transacção) e colocámos a bandeira pendente - assim que a OnTradeTransaction recebeu um gatilho garantido - tipo de transacção TRADE_TRANSACTION_DEAL_ADD - verificamos o bilhete de transacção. Se tudo funcionasse em conjunto - tudo bem.

Isto é a vida real - os eventos podem vir com diferentes intervalos, quebras de ligação ... Muita coisa pode acontecer. Esta é a realidade - não há uma cadeia rígida.

Bem, isso é essencialmente enforcar o conselheiro. À espera de confirmação para vir ou não vir... Estou perdido aqui... Como é que faço esta espera? Usando while() ?

 
Сергей Таболин:

É essencialmente enforcar o conselheiro... À espera de confirmação para vir ou não vir... Estou aqui sem saber o que fazer. Como é que faço esta espera? Usando while() ?

Não. Dormir e Enquanto são categoricamente proibidos.