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

 
Aleksey Vyazmikin:

Proponho não me desviar do conceito, que, tal como o entendi, era copiar uma certa quantidade de dados de barras no início do código, e depois trabalhar com esses dados - ou está a sugerir uma excepção?

E, o que o faz pensar que sou um programador?

Não creio que seja necessário adivinhar - o que será mais rápido, por vezes a resposta pode não ser óbvia - só a experiência pode dar uma resposta a tais perguntas.

Então, é bem-vindo aqui.

 
Vitaly Muzichenko:

É necessário eliminar objectos com um Bilhete que já estão na história, mas não os que ainda se encontram no mercado.

Precisa de um bilhete para uma posição fechada, mas não o pode obter com PositionSelect().

 
Vitaly Muzichenko:

é necessário eliminar objectos com um bilhete que já estão na história, mas não os que ainda se encontram no mercado

Duplicado:

E se a tarefa for "invertida"?

Remover objectos de bilhetes cujas posições já se encontram fora do mercado. ou NÃO remover objectos de bilhetes, que ainda não estão na história, e remover o resto... O que é basicamente a mesma coisa.

 
Ivan Ivanov:

Em suma, precisa de um bilhete de posiçãofechada, mas não o pode obter com PositionSelect().

Aqui está um guião, que devolve todos os bilhetes de posições fechadas para um determinado período histórico.

void OnStart()
{ ulong DealTicket; // for Function : replace void with ulong
  ulong PositionTicket;
  if ( HistorySelect(TimeCurrent()-30*24*60*60,TimeCurrent()) ) // Select History = 30 days
  { if ( HistoryDealsTotal()>0 )
    { int DealIndex=HistoryDealsTotal()-1;
      while ( DealIndex>=0 )
      { DealTicket=HistoryDealGetTicket(DealIndex); // select Deal 
        if ( HistoryDealGetInteger(DealTicket,DEAL_ENTRY)==DEAL_ENTRY_OUT ) // Deal close Position
        { PositionTicket=HistoryDealGetInteger(DealTicket,DEAL_POSITION_ID);
          Print("\n DealTicket = "+IntegerToString(DealTicket));
          Print("PositionClosedByDeal = "+IntegerToString(PositionTicket));
          // if ( some condition ) // for Function : Your selection
          // return (PositionTicket); // for Function : Enable return
        }
        DealIndex--;
      }
      // Print("Warning = Nothing selected from History"); // for Function : remove //
    }
    else Print("Warning = Empty History (select longer History)");
  }
  else Print("Error = "+IntegerToString(GetLastError())+" = Not loaded History");
  // return (-1); // for Function : Enable return
}

O código diz como convertê-lo para uma função (em inglês)

 
Ivan Ivanov:

Aqui está o guião que devolve o Bilhete de todas as Posições fechadas para um determinado período da História.

O código mostra como convertê-lo para uma função (em inglês)

O mais interessante é que já foi mencionado logo de seguida:

Fórum sobre negociação, sistemas automatizados de negociação e testes estratégicos

Perguntas de Iniciantes MQL5 MT5 MetaTrader 5

Artyom Trishkin, 2017.07.24 23:33

Já tentou procurar um comércio fechado (OUT)? A encomenda estava lá - pode vê-la.

Mas Vitaly não compreendeu o significado do que foi escrito. E nem sequer me pediu que o repetisse.
 
Artyom Trishkin:

O interessante é que isto já foi mencionado imediatamente:

Mas Vitaly aparentemente não compreendeu o significado da escrita. E nem sequer me pediu que o repetisse.

Obrigado Artyom, decidi deixar isso para mais tarde, perguntei enquanto dormia)


Ivan Ivanov:

Aqui está o guião que devolve o Bilhete de todas as Posições fechadas para um determinado período da História.

O código diz como convertê-lo numa função (em inglês)

Obrigado pelo código, ajudou.


Problema resolvido!

 
Artyom Trishkin:

O interessante é que isto já foi mencionado logo de início:

Mas Vitaly não parecia compreender o significado do que estava escrito. E ele nem sequer voltou a perguntar.

Ao moderador:

O homem queria o código (ideia de implementação). E NÃO houve, mas ele foi enviado para Freelance.

 
Ivan Ivanov:

Ao moderador :

A pessoa quer o código (ideia de implementação). E aí NÃO foi espancado, mas enviado para freelance.

O moderador tem um nome?
Eu conheço Vitaly. Basta que ele mostre a direcção certa. O código é para preguiçosos e burros. E não foi a Vitaly que foi enviada para freelancing. Mas alguém que não seja um programador.
Uma ideia de implementação é uma ideia, um algoritmo.
E a implementação é código, e nem sempre a correcta.

 
Artyom Trishkin:
O moderador tem um nome?
Eu conheço Vitaly. É suficiente para ele mostrar a direcção certa. O código é para preguiçosos e burros. E não foi Vitaly que foi enviado para freelancer. Mas para alguém que não é programador.
A ideia de implementação é uma ideia, um algoritmo.
E a implementação é código, e nem sempre a correcta.

Alguém que não seja um programador tem um nome?

Sim, não sou um programador por educação, mas todos os dias trabalho para dominar esta habilidade não fácil.

 
Aleksey Vyazmikin:

Alguém que não seja um programador tem um nome?

Sim, não sou um programador por formação, mas trabalho todos os dias para dominar esta habilidade não fácil.

Ah, aí está. Ainda tem o desejo de aprender programação? Depois tente compreender o que é oferecido e não se faça passar por examinador. Sem ofensa, mas foi assim que entendi todas as objecções e perguntas sobre CopyRates().

Também não sou um programador por educação. Quando estudei não havia tal especialidade e contava com um aritmoómetro "Felix".