Necessidade de ajuda para detectar algum pequeno erro . - página 3

 

A condição longa && e || e | , eu dividi a parte para muitos encadeados se declaração . Também tentei usar MarketInfo(OrderSymbol() , MODE_ASK/BID) em vez de OrderClosePrice() .

Esta parte ainda funcionou algumas vezes e não o tempo todo , também tentei aquelas sugestões que todos vocês me deram mas mesmo assim acabou igual .

Não tenho certeza se é isso que causa' o problema ou se é outra coisa . Mas fora dessas tentativas e erros, é isso que eu percebo.

Parece que sempre a parte mais inferior da ordem aberta não quis mover a parada de perda EVEN se a condição for atendida ( A condição longa && e || e os muitos encadeados se declaração , eu tentei ambos ) .

As configurações da EA :

Conta 1 antes de :


Conta 1 depois de :

Para esta conta 1 , 1ª e 2ª ordem não cumpriu a condição se + &&& e || condição , então pare a perda não é movida ( o que é correto ) .

A 3ª ordem, no entanto, já cumpriu a condição e deve seguir até a 10ª ordem, mas a parada de perda só foi movida UMA VEZ . ( errado errado errado errado )

Deveria ter se movido mais de uma vez ( deveria ser 50,0 pips pela minha contagem, não 5,0 pips ) .

Conta 2 antes de :

Conta 2 depois de :

Para esta conta 2 , somente a 1ª encomenda não cumpriu a condição, portanto, mais uma vez, nenhuma parada de perda é movida ( o que é correto ) . A 2ª e 3ª ordem preencheram a condição e AQUI É A TERCEIRA PARTE .

O rastro da 2ª ordem exatamente até a 10ª ordem, a parada de perda foi movida exatamente 10 vezes . O stop loss foi movido para 50,0 pips a partir do preço aberto daquele pedido individual ( o que está correto ) .

A 3ª ordem, entretanto, também atendeu a condição e deve seguir até a 3ª, mas novamente a parada de perda foi movida apenas UMA VEZ . ( errada novamente :( )

Todos vocês notaram que ambas as contas onde a parte móvel não funciona corretamente estão na última encomenda?

Se o USDJPY pode funcionar, ele deve poder ser aplicado a todos os outros pares. Não tenho certeza do que fazer com ele .

Eu uso uma contagem de volta para o loop que eu li onde o RaptorUK ensinou deveria ser bom, no entanto . A contagem para trás também não deve ser o problema .

A guia Especialistas também não mostrou nenhum erro ....

@.@ T_T

 
Você tem certeza de que o preço não voltou atrás e parou depois do primeiro trilho?
 
Perdoe-me, não entendo bem o que quer dizer... A que preço você se refere? Parar com isso depois do primeiro trilho?
 
Entendo o que você quer dizer agora, eu não li os resultados comerciais corretamente na primeira vez
 
SDC:
Entendo o que você quer dizer agora, eu não li os resultados comerciais corretamente na primeira vez
Eu ainda não tenho idéia do que há de errado com isso .... Você tem alguma idéia de onde eu estava errado?
 
      if ( ( OrderStopLoss() == 0 ) || (OrderStopLoss() != 0 && OrderStopLoss() <= OrderOpenPrice() ) || ( OrderStopLoss() < ( OrderOpenPrice() + ( TrailingStop * Figure ) ) ) )
                              {
 

Eu tentei, ainda o mesmo ffoorr ....

Eu tentei muitas vezes, ainda é sempre o último pedido que não foi modificado corretamente .... Contagem regressiva para loop cause este problema... Acho que não, mas não sei por que não está funcionando corretamente...

 

juniorlcq:

A contagem regressiva para o loop causa este problema ?


não importa se você faz a contagem para cima ou para baixo (triiling stoploss)

apagar ou fechar uma negociação que você deve contar para baixo

 

Eu também tentei contar para cima, o mesmo problema ainda.

É o segundo para loop já modificou a ordem e eu tive que re-selecionar novamente?

No primeiro eu selecionei o pedido e no segundo para laço a condição preenchida modificou esse pedido. Preciso selecionar de novo ?

 

OrderSelect

A função OrderSelect() copia os dados do pedido para o ambiente do programa e todas as outras chamadas de OrderClosePrice(), OrderCloseTime(), OrderComment(), OrderComission(), OrderExpiration(), OrderLots(), OrderMagicNumber(), OrderOpenPrice(), OrderOpenTime(), OrderPrint(), OrderProfit(), OrderStopLoss(), OrderSwap(), OrderSymbol(), OrderTakeProfit(), OrderTicket(), OrderType() devolvem os dados, copiados anteriormente. Isso significa que em alguns casos os detalhes do pedido (preço aberto, níveis SL/TP ou data de vencimento) podem mudar e os dados se tornam não reais. É altamente recomendável chamar a função OrderSelect() antes de solicitar os dados do pedido.

Razão: