Boa noite Prezados, elaborei um código que opera múltiplas ações através de um vetor de struct, cada posição do vetor de Struct representa uma ação e cada ação contém seus respecticos atributos para trade conforme abaixo:
Dentro da função Ontick() tem um "for" que percorre esse vetor de struct. Caso cumpra as condições ele realiza a ordem conforme figura abaixo.
No backtest roda perfeitamente, o problema se resume na conta real. As vezes a ordem não executa ou demora muito pra ocorrer pegando preços que não foram configurados. Tenho algumas suposições para o que está ocorrendo mas nada concreto:
1- Preço da função m_trade.Buy() não corresponde ao momento que entra na condição não gerando a ordem e ativando a array_ativos[i].flag_ativo que impede de entrar no ativo novamente já que essa flag determina uma operação por dia.
2- Trabalhar com vetor de struct dentro da função Ontick() acaba afetando muito o poder de processamento.
3- Estou rodando uma VPN core 2 duo, talvez múltiplas ações junto com a função Ontick() seja muito pesado para esse processador.
1 - Mude para OnTimer(), utilizar isso dentro do OnTick() é completamente desnecessário. Além disso, o OnTimer() não vai atrasar a cotação e roda paralelo.
2 - Se possivel, ative na m_trade, mais informações de depuração para ver se ti ajuda. Mas é uma coisa muito normal, voce pedir no Buy() algo e receber outra coisa na execução. Voce pode para tentar melhorar isso especificar o preço e se ele mover voce tem um erro.
3 - Quando for comentar algo do codigo citando estruturas seria recomendavel postar o código também.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Boa noite Prezados, elaborei um código que opera múltiplas ações através de um vetor de struct, cada posição do vetor de Struct representa uma ação e cada ação contém seus respecticos atributos para trade conforme abaixo:
Dentro da função Ontick() tem um "for" que percorre esse vetor de struct. Caso cumpra as condições ele realiza a ordem conforme figura abaixo.
No backtest roda perfeitamente, o problema se resume na conta real. As vezes a ordem não executa ou demora muito pra ocorrer pegando preços que não foram configurados. Tenho algumas suposições para o que está ocorrendo mas nada concreto:
1- Preço da função m_trade.Buy() não corresponde ao momento que entra na condição não gerando a ordem e ativando a array_ativos[i].flag_ativo que impede de entrar no ativo novamente já que essa flag determina uma operação por dia.
2- Trabalhar com vetor de struct dentro da função Ontick() acaba afetando muito o poder de processamento.
3- Estou rodando uma VPN core 2 duo, talvez múltiplas ações junto com a função Ontick() seja muito pesado para esse processador.