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 430

 

Trader7777:

evillive:

Se você mudar o pedido, ele será do velho para o novo. Mas enquanto isso, do novo para o velho, e até mesmo através de um às vezes isso pode acontecer.


se você fizer para (int i = OrderTotal()-1; i>0; i--) ele fechará de novo para velho!

Trader7777:

Eu não entendo, se você é preguiçoso demais para me dizer o que está errado, por que você está me impondo uma função que eu não preciso de acordo com meu TS?

Se um pedido com número OrdersTotal() -1 é o mais novo para você e o pedido com número 0 é o mais antigo, eu não tenho mais nada a dizer. Quando os olhos de uma pessoa estão fechados, eles só abrem por sua própria vontade, ninguém pode forçá-la.

for (int i =0; i<OrdersTotal();i++) //i++ кто будет писать, Пушкин? Зачем сочинять химеру FOR + WHILE???

A propósito, que função eu inadvertidamente "impus" a você lá?

 
Bem, a quimera não é crucial, em geral deve funcionar, tenho apenas uma pergunta sobre a contagem, ela é incrementada nas baías e vendida, mas há um controle de quantidade ligado a ela.
 
splxgf:

Por que k e n são comparados com o número total de pedidos fechados?

Onúmero de pedidos será contado apenas para pedidos do tipo otype:
Bem, essa quimera não é crucial, em geral deve funcionar, tenho apenas uma pergunta sobre a contagem, ela é incrementada durante as baías e as vendas, mas há um controle sobre a quantidade vinculada a ela.

O parâmetro do tipo é passado para a função, e para esta chamada em particular a contagem só será contada para ordens de tipo.

 
Mr.Profit:

O parâmetro do tipo é passado para a função, e para esta contagem de chamadas em particular será contado somente para ordens de tipo.


A função pode ser comprimida um par de vezes. Já a implementamos em nosso site e já a registramos em nosso site. (de fato, precisamos de uma função separada para fechar pedidos com RefreshRates e outras coisas).

double n = NormalizeDouble (CTbuy/2,1);

if (count<n) 

Por exemplo, quatro pedidos de CTbuy serão abertos, divididos por dois, eles serão dois. A condição de comparação fechará apenas uma.

P.S. Embora, não, eu não sou. mas a questão do que não nos agrada permanece em aberto.

 
splxgf:

mas a questão do que você não gosta permanece em aberto.


Mesmo a minha opção na página anterior?
 

Pessoal, por que se preocupar com o problema de apagar parte da grade?

Na primeira busca, os valores dos bilhetes são mostrados sem excluir e, em seguida, basta percorrer a matriz e excluir tudo por bilhete - e nada saltará para qualquer lugar e a ordem correta estará lá.

 
Mr.Profit:

Até a minha versão na página anterior?

void CloseHalfOrders(int otype) {
  if (otype!=OP_BUY || otype!=OP_SELL) return;
  int count = CountTrades(otype)/2; 
  for (int i =0; i<OrdersTotal();i++) 
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype){
         if (otype == OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime); 
            else OrderClose(OrderTicket(),OrderLots(),Ask,0,Lime);
         count--; i--;
         if (count<1) return;
         Sleep(1000);
       }
}
Você pode otimizar para sempre.
 
splxgf:

A otimização pode levar uma eternidade.

if (otype!=OP_BUY ||&& otype!=OP_SELL) return;
;-)
 

Boa tarde. Eu sou um novato. Algo estranho aconteceu com a minha conta. Por favor, me ajude com conselhos.

Parar a perda não foi acionado em demonstração. A perda no conjunto SL deve ser de cerca de 50, mas na verdade, ela foi mordida em 158. Como isso aconteceu?

 
moloko:

Boa tarde. Eu sou um novato. Algo estranho aconteceu com a minha conta. Por favor, me ajude com conselhos.

Parar a perda não foi acionado em demonstração. A perda no conjunto SL deve ser de cerca de 50, mas na verdade, ela foi mordida em 158. Como isso aconteceu?

É bom que seja uma demonstração, mas é mais uma questão para a corretora, é mais um fórum de codificação.
Razão: