Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 405

 
Link_x:
Observe o valor da variável que define o número de lotes quando uma posição é aberta.
Este valor é zero.
É impossível abrir uma posição com volume zero para negociação.




Isto também é possível, o principal é escrever o código corretamente.



Você tem certeza de que sabe do que está falando?
 
Trader7777:

E talvez a terceira vez que alguém ainda atenda ao meu pedido?

Eu escrevi a função pelo SAM, mas o testador dá erro 4051, ou seja, número impossível de lotes. Alguém tem uma opinião sobre isso?


for (int i = OrdersTotal()-1; i>0; i--)  // надо i>=0
if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)    // не надо OrderType() == otype, далее проверяете на бай и сел, а про отложки варианта нет.
Lot = NormalizeDouble (((OrderOpenPrice()-Bid)*Point)*OrderLots()/TP,2); 

TP é um valor Take Profit para a ordem selecionada? Portanto, pegue o valor do pedido, há diferentes Take Profits.

Neste ponto, você procura a quantidade de pips que está no sorteio, divide-a pelo lucro do take e multiplica-a pelo valor do lote.

Se você tem um bilhete de compra, você está em lucro quando a Licitação está acima do preço de compra (pergunte). (Licitação - OrderOpenPrice ())

Você não contabiliza os tickets de lucro negativos e positivos em geral,

caso você não tenha fundos livres suficientes para abrir com tal lote, pois um bilhete negativo pode sobrepor-se a todos os positivos.

(TotalLot); a função pode retornar 0, sob certas circunstâncias, isto é verificado mais adiante?

 
Trader7777:

Você tem certeza de que sabe do que está falando?

A frase acima tem vários significados. Os significados desta frase são descritos abaixo.

1 - Uma repreensão por ter entendido mal o código e por ter dado instruções erradas.
2 - Uma indicação da dificuldade de compreensão de meus textos.
3 - Um questionamento de minha saúde psicológica.

Escolha uma das opções para continuar a comunicação comigo, pois não posso responder à sua pergunta escolhendo intuitivamente a opção de interpretar a frase.
 
Link_x:

A frase acima tem vários significados. Os significados desta frase são descritos abaixo.

1 - Uma repreensão por ter entendido mal o código e por ter dado instruções erradas.
2 - Uma indicação da dificuldade de compreensão de meus textos.
3 - Um questionamento de minha saúde psicológica.

Escolha uma das opções para continuar comunicando-se comigo, pois não posso responder sua pergunta escolhendo intuitivamente uma opção para interpretar a frase.

Tenho certeza de que 1. Você não pode julgar com segurança com que lote a posição é aberta, nem que seja porque o código de abertura da posição não foi dado pelo autor. E onde você viu zero, é o valor inicial da variável. É muito cedo para você ensinar qualquer um.
 
Olá camaradas. Sou novo em programação, estou apenas aprendendo MQL4. Favor explicar como abrir um pedido sem esperar por certas condições, e não em cada candelabro, como o meu. Talvez você tenha um exemplo de código padrão ou algo mais?
 
hmpr:
Olá camaradas. Sou novo em programação, estou apenas aprendendo MQL4. Favor explicar como abrir um pedido sem esperar por certas condições, e não em cada candelabro, como o meu. Talvez você tenha um exemplo de código padrão ou algo mais?
O algoritmo é o seguinte: se a EA verifica se há uma ordem aberta e se já há uma ordem aberta, então saia do início(). Os códigos estão aqui.
 
Trader7777:

E talvez alguém preste atenção ao meu pedido após a terceira vez?

Escreveu uma função CAM, mas o testador dá erro 4051, ou seja, número impossível de lotes. Alguém tem uma opinião sobre isso?

функция поиска лота, необходимого для выхода из просадки после  

//fechando uma grade de ordens

A fim de avaliar a exatidão do código, você precisa saber exatamente o que o autor queria obter. Suas informações não são suficientes. O que você queria obter não é muito claro. Se você quisesse compensar a perda após o fechamento da grade abrindo uma ordem oposta e esperando que o preço passe na direção da última ordem alguns pontos, o processo de compensação depende tanto do lote desta ordem quanto da distância que o preço passará na direção favorável. Isso significa que quando você calcula o lote, você também deve definir a distância que o preço terá que passar para compensar a perda. Mas talvez você queira dizer algo mais.
 

o código termina com uma visão de

Eu gostaria de inserir a função de sono com um período de 30 segundos.

o código inteiro deve ser executado 2 vezes por minuto em vez de cada carrapato, e

como inserir corretamente esta função ? onde ? e como ? de preferência no final do código com um exemplo, obrigado

 
bergkamp.:

o código termina com a visão

Eu gostaria de inserir uma função de sono com um período de 30 segundos

o código inteiro deve ser executado 2 vezes por minuto em vez de cada carrapato, e

como inserir corretamente esta função ? onde ? e como ? de preferência no final do código com um exemplo, obrigado

Armazenar o tempo no final do código de função. Em seguida, compará-lo com o tempo atual e se o tempo atual exceder o tempo memorizado em 30 segundos, iniciar a função novamente.
 
khorosh:
Lembre-se do tempo no final do código de função. Depois compare com o tempo atual e, se o tempo atual exceder o tempo memorizado em 30 segundos, execute a função novamente.
aqui está um exemplo ... se você apenas inserir o sono no final do código, como ele funcionará ?
Razão: