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
Sem conhecer a ea inteira e como você a está usando, estaremos apenas adivinhando o que está errado. Assumindo que está selecionando uma ordem correta para passar esta declaração.
não há como passar:
if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) {
se seu Op_Sell. A menos que você tenha esta coisa em vários gráficos do mesmo Símbolo.
Vendo que você está usando um loop contencioso. Esta é provavelmente alguma forma de Rapid Order Maker.
Meu palpite final. A ordem selecionada muda após a verificação do tipo de ordem :)
Qualquer outra coisa, eu sugiro, como o Raptor, que você utilize uma grande quantidade de declarações impressas.
Imprimi o número do ticket e ele não coincide com o OrderType().
Se a ordem selecionada for do tipo OP_BUY, o correto se será processado, mas então na minha chamada OrderModify(...), eu passo OrderTicket() como o primeiro parâmetro, mas é o ticket de uma outra ordem.
Alguma idéia?
Alguma idéia?
Talvez você esteja tentando Modificar uma ordem que já está fechada ? você não está especificando um pool do qual você está Selecionando seus negócios de .
MODE_TRADES (padrão)- ordem selecionada do pool de negociação (ordens abertas e pendentes),MODE_HISTÓRIA - ordem selecionada a partir do pool histórico (ordem fechada e cancelada).
Talvez você esteja tentando Modificar uma ordem que já está fechada ? você não está especificando um pool do qual você está Selecionando seus negócios de . .
MODE_TRADES (padrão)- ordem selecionada do pool de negociação(ordens abertas e pendentes),MODE_HISTÓRIA - ordem selecionada a partir do pool histórico (ordem fechada e cancelada).
Eu também tentei isso, mas não mudou nada. Parece que tenho que armazenar todos os dados da ordem selecionada que quero utilizar:
int ticket=0;
duplo SL = 0,0;
OrderSelect(cnt, ...);
ticket = OrderTicket();
SL = OrderStoploss();
if (OrderType() == OP_BUY) {
}
...
Por que é assim? Eu não entendo o que está errado em meu código para que OrderTicket() não corresponda à mesma ordem que o OrderType() está se referindo.
Imprimi o número do ticket e ele não coincide com o OrderType().
Se a ordem selecionada for do tipo OP_BUY, o correto se será processado, mas então na minha chamada OrderModify(...), eu passo OrderTicket() como o primeiro parâmetro, mas é o ticket de uma outra ordem.
OrderType = OrderType()
mudar para
int orderType = OrderType(); e excluir a declaração original.
OrderType = OrderType()
mudar para
int orderType = OrderType(); e excluir a declaração original.
OrderType está ok. É o OrderTicket() que não é o bilhete da ordem correta.
Eu o encorajaria a descobrir o que está causando seu problema em vez de codificar em torno dele ...
A engenharia de software tem tudo a ver com resolução de problemas, é como aprendemos e melhoramos. Estou na minha terceira tentativa desde sábado de codificar um problema específico relacionado a Fibs, estou quase lá. . o uso cuidadoso da função Print() ajuda muito . .
OrderType está ok. É o OrderTicket() que não é o bilhete da ordem correta.
int OrderType = OrderType() não está bem, um pode estar escondendo o outro (as declarações locais escondem os globos sem nenhum erro).
int orderType = OrderType()