Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 250
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Se é simples, para verificar rapidamente, é algo parecido com isto:
As ordens geralmente seguem umas às outras a tempo, mas isto não é garantido. Portanto, a cronologia deve ser verificada. Mas para experiências isso servirá.
Se é simples, para verificar rapidamente, é algo parecido com isto:
As ordens geralmente seguem umas às outras a tempo, mas isto não é garantido. Portanto, a cronologia deve ser verificada. Mas isto servirá para experiências.
Concordo, o momento não é garantido. É por isso que quero passar por todas as ordens fechadas pelo bilhete. Eu conheço o bilhete de pedido e estou tentando contar a partir dele, mas algo deu errado) Qual seria o caminho certo?
Se é simples, para verificar rapidamente, é algo parecido com isto:
As ordens normalmente seguem umas às outras a tempo, mas isto não é garantido. Portanto, a cronologia deve ser verificada. Mas isto servirá para experiências.
Se olharmos através da história, seria melhor olhar através das ordens de menor para maior que fechariam no momento do recálculo, pois as ordens de mercado são consideradas de maiores para menores para que pudéssemos considerar corretamente aquelas abertas e fechadas no mesmo carrapato. Eu acho que sim)
Se é simples verificar rapidamente, então é algo parecido com isto:
Como regra geral, as ordens seguem umas às outras a tempo, mas isto não é garantido. Portanto, de uma boa maneira, a cronologia deve ser verificada. Mas serve para experiências.
O código do Alexey também não está correto?
Na história, é melhor passar de menos para mais ordens para levar em conta aquelas que fecharão no momento do recálculo, são as ordens de mercado que contamos de mais para menos para contabilizar corretamente as ordens abertas e fechadas no mesmo tick. Eu acho que sim)
O código do Alexey também calcula incorretamente?
Eu não tentei. Vou tentar agora. Eu o informarei.
Se é simples, para verificar rapidamente, é algo parecido com isto:
As ordens geralmente seguem umas às outras a tempo, mas isto não é garantido. Portanto, a cronologia deve ser verificada. Mas serve para experiências.
Verifiquei e recebi muitos erros durante a compilação, corrigi todos eles, exceto :
if(profit>max)
Esta linha, eu não a entendo muito bem. Você pode explicar isso?
A idéia é mudar o bilhete depois de atingir um certo lucro
O máximo é o limite do lucro após o qual o bilhete muda. O valor é estabelecido por você.
O máximo é o limite do lucro após o qual o bilhete muda. Seu valor é estabelecido por você.
O problema é diferente, se eu o entendi corretamente. Há 1, 2 e 3 pedidos. Não sei como são formados os preços abertos. A ordem 3 está fechada, o lucro total é igual ao lucro da ordem 3. Isto é, precisamos calcular o bilhete para o pedido aberto antes do pedido 3 . Em seguida, o pedido 2 é fechado. Devemos encontrar o bilhete do pedido aberto antes do pedido 2. O lucro total é igual ao lucro dos pedidos 2 e 3.
Não entendo por que, mas parece ser a lógica).
Valery, eu não entendia totalmente a lógica dessas duas frases.
Fórum sobre Comércio, Sistemas Automatizados de Comércio e Testes de Estratégia
FAQ de Iniciantes MQL4 MT4 MetaTrader 4
makssub, 2021.09.01 16:38
Eu deveria usar a primeira função para encontrar o ticket de pedido requerido e a segunda função deveria calcular o lucro de todos os pedidos fechados após aquele ticket. Não estou interessado no lucro dos anteriores a isso. Mas o segundo não o calcula corretamente. Quando uma ordem é aberta, estas 2 funções são chamadas e, portanto, deve ser igual a 0, mas não é.
O PS seguiu seu conselho, desistiu de arrays)
12ª caixa acima)
Pensei em tudo e o fiz meu com base em suas dicas)
A tarefa era cobrir uma ordem perdida com outras ordens com lucro.
Nós o implementamos. Memorizamos o bilhete do pedido aberto após o perdido; este foi o nosso ponto de relatório. Após este ponto, começamos a calcular o lucro da ordem deficitária e o lucro das ordens fechadas após a mesma. Deixe-me lembrar que o primeiro pedido é aberto e nós o fechamos quando ele atinge um lucro.
se ( (CalculateProfitHistory() + FirstProfit() >= Lucro)
{
CloseFirst();
Imprimir ("Fechar o primeiro pedido perdido");
}