Olá, boa tarde
Preciso de ajuda com a criação de algumas classes em JAVA
6- Crie uma classe em JAVA para representar a Corretora. A classe Corretora deve ser uma Thread. A Corretora tem 4 ativos para venda, respectivamente A, B, C e D. A Corretora poderá no máximo fazer 1000 operações de compra e venda para o conjunto total de ativos. Para isso, a Corretora tem dois caixas apenas, Caixa 1 e Caixa 2. Os Caixas 1 e 2 só podem ser acessados por um Cliente a cada vez, isto é, enquanto um Cliente acessa um caixa, outro Cliente pode acessar o outro disponível. Os demais Clientes devem aguardar. Utilize o conceito de semáforo para controlar os acessos.
As operações de compra e venda devem ser registradas no Caixa Geral da Corretora. Para isso, deve-se registrar o momento que ocorreu a operação. Atenção: os arquivos de dados obtidos no MetaTrader5 dispõem de um timestamp (data/hora/minuto/milissegundo) e o seu respectivo valor/preço do ativo. Ao realizar a operação de compra ou venda de um ativo para um Cliente, utilize o timestamp do próprio ativo obtido no Metatrader5 para registrar a operação no Caixa Geral da Corretora. Isso poderá ser útil no batimento/conferência (reconciliação) das operações corretora X clientes.
Para compor os ativos da Corretora, ecolha livremente pelo menos 4 ativos diferentes no MetaTrader5 (nos passos anteriormente desenvolvidos 1 a 5). Lembre-se: no momento da seleção de dados pode-se escolher um intervalo de início e fim dos dados. Escolha o mesmo intervalo para todos os ativos. Não é obrigatório, mas facilita...
7- Crie uma classe em JAVA para representar os Clientes. A classe Cliente deve ser uma Thread. Cada Cliente tem um saldo limite para ser utilizado para aquisição e venda de ativos na Corretora. Para cada um dos Clientes, implemente os passos de análise de cenários apresentados anteriormente, bem como os indicadores de risco e volatilidade. Implemente critérios de compra (comprado) e venda (vendido) e utilize mecanismos de drawdown para controlar o risco.
8- No momento de execução de uma operação de drawdown, a Thread Cliente em questão poderá ter maior prioridade (10), voltando em seguida para a prioridade normal (5).
9- Os Clientes não podem realizar duas operações seguidas de compra/venda (comprado ou vendido) de um mesmo ativo. Por exemplo, ao fazer a compra do Ativo A, as únicas operações possíveis são: venda do Ativo A ou compra/venda (comprado ou vendido) de qualquer um dos Ativos B, C e D.
10- Cada Cliente deve no mínimo realizar 30 operações.
11- Ao realizar uma compra ou venda (comprado ou vendido), um Cliente deve aguardar (sleep) pelo menos 500ms (milissegundos) para realizar nova operação.
12- Créditos e débitos referentes às operações de compra ou venda (comprado ou vendido), ganhos ou perdas, de um Cliente devem ser registradas na sua própria conta-corrente, impactando no saldo.
trabalho.pdf