Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1364

 
MakarFX:

mas eu tentei desta maneira.

Qual função devo usar a seguir para passar pelas posições fechadas?

 
Amon1953:

Que função devo usar a seguir para passar pelas posições fechadas?

E o que deve ser feito com as ordens encontradas em geral?
 
MakarFX:
O que deve ser feito com os pedidos encontrados, afinal?

Preciso encontrar a última posição SL fechada para tomar uma decisão

if(HistorySelectByPosition(ORDER_MAGIC===1))

{

int PosTotal= ??? qual função usar?

Alerta("PosTotal ",PosTotal);

for(int i=PosTotal-1; i>=0; i--)

{

Alerta("PosiçõesTotal ",PosTotal);

}}


 
Amon1953:

Preciso encontrar a última posição SL fechada para tomar uma decisão

Há uma enorme diferença entre

a) Descobrir se a última posição foi fechada na parada, e

b) Encontrar a última posição fechada por uma parada.

--------

O que você precisa?

 
Amon1953:

Preciso encontrar a última posição SL fechada para tomar uma decisão

Eu não sou bom na MQL5, mas acho que a busca deve começar assim

      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,DEAL_TIME)>=CurrentTime)
           {
            if(HistoryOrderGetInteger(ticket,DEAL_MAGIC)==Magic)
              {
               if(HistoryOrderGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
 
MakarFX:

Eu não sou bom na MQL5, mas acho que a busca deve começar assim

Preciso de uma posição fechada, não de um comércio ou ordem

 
Amon1953:

Preciso de uma posição fechada, não de um comércio ou ordem

Confuso

HistóriaOrderSelect


 
MakarFX:

Confuso

HistóriaOrderSelect


Como um mandado pode ajudar?

 
Artyom Trishkin:

Como um mandado pode ajudar?

A questão original era

Amon1953:
Esta é provavelmente uma pergunta simples e ingênua, mas já me arrebentei com aHistóriaSelectByPosition(ORDER_MAGIC==1) Preciso deuma história de posições com magia = 1. Algo que eu não entendo. Não importa o que eu faça, eu não entendo a história. Onde devo inserir o número de um mágico?
      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,ORDER_MAGIC)==Magic)


 
MakarFX:

A pergunta original era.


Em cinco, ordem !=posição. E uma transação. Uma ordem (ordem) gera uma negociação. E um acordo dá origem a uma posição, seja mudando-a ou fechando-a.

Assim, para descobrir como a posição foi fechada, precisamos selecionar os negócios desta posição, encontrar o negócio de fechamento e olhar para suas propriedades - o motivo do fechamento pode ser especificado lá.