[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 885

 
Max747:
Ninguém foi capaz de me dar uma resposta... Alguém tem uma pista?

Talvez você precise verificar os tipos PARASTEP e PARAMAX e seus valores.
 
valenok2003:

Esta é a única opção?

1) escrever em um arquivo

2) procure a ordem desejada e leia o bilhete

 

Inesperadamente, deparou-se com o seguinte problema:

Escrevi um EA, cuja uma das funções é abrir ordens pendentes. Mas antes de abrir outro pedido pendente, o programa pesquisa já fez pedidos (preço) e abre um novo somente se não houver um pedido já feito com o mesmo preço. Estou trabalhando no EURUSD.

para (Price=Max_Price-Step*Point; Price>Ask+10*Point; Price=Price-Step*Point) // ir do preço máximo para o preço atual
{
int N=0; // contador de pedidos
para (int i=1; i<=OrdersTotal(); i++) // loop through orders
{
if(OrderSelect(i-1,SELECT_BY_POS)==true) //select order
{ //analyse open order
if (Price===OrderOpenPrice()) //se o preço for o mesmo
{
N=N+1;
}
} //selecione o próximo pedido aberto
}
if(N==0) //se nenhum pedido com o mesmo preço for encontrado
{ //open order
Alert("New BUYSTOP ", Price);
int Ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, 0, Price+TP*Point);
if (GetLastError()>0)
Alert("Error ", GetLastError());
}
} //Come to market

Tudo está bem até que o máximo seja 1,3980, mas assim que eu fixo 1,4000 o programa deixa de ver ordens com o mesmo preço (o contador N permanece nulo) e gera as mesmas ordens.

É interessante que se estabelecermos o preço máximo de 1.5000, então até 1.4000 tudo é normal e a partir de 1.3980 começa a duplicar pedidos com o mesmo preço

O QUE PODERIA SER????????

E a situação se repete na plataforma de outro centro de negociações

Arquivos anexados:
 


Estou correndo no testador, não consigo entender porque este erro pode aparecer: OrderModify error 1 (Nenhum erro, mas o resultado é desconhecido).

Eu uso a função de arrasto, não há mais nada, eu verifico tanto o nível de parada mínima quanto o tamanho do ponto e tudo o que é necessário, o erro nem sempre aparece.

É um erro grosseiro ou é tolerável correr por conta real?

 
Infinity:


Eu tentei no testador, não sei onde pode causar tal erro: OrderModify error 1 (Nenhum erro, mas o resultado é desconhecido).

Eu uso a função de arrasto, não há mais nada, eu verifico o nível mínimo de parada e o tamanho do ponto e tudo o que é necessário, o erro nem sempre aparece.

Eu testei no testador, não consigo entender que tipo de erro é este.


https://docs.mql4.com/ru/trading/OrderModify diz aqui sobre este erro
 

Aqui está a função :

duplo ObFindObjectsByPrefix(string Prefix)
{

string OBJECT_PREFIX="LEVELS";
double price_max;
int L = StringLen(Prefixo);
int i = 0;
int time_min=TimeCurrent();
while(i < ObjectsTotal()-1)
{
string ObjName = ObjectName(i);
if(StringSubstr(ObjName, 0, L) != Prefixo)
{
i++;
continue;
}
double price=ObjectGet(ObjName,OBJPROP_PRICE1);
if (MathAbs(price-Bid)/Point<m)
{
int time1=ObjectGet(ObjName,OBJPROP_TIME1);
if (time1<time_min)
{
time_min=time1; price_max=price;
}
}
}
return(price);
}

o que há de errado com ele, por que não está funcionando?

procurar o segmento mais longo com um prefixo e devolver o valor do preço.

[Deleted]  
https://www.mql5.com/ru/code/8976 você por acaso tem um arquivo .dll normal e funcional para este indicador? Eu não posso compilá-lo sozinho(
[Excluído]  

Pessoal, onde devo escrever para conseguir que o MT5 faça uma tradução decente para o alemão? É uma vergonha... Interrompe para "salvar" (salvar) arquivos em formato CSV, para selecionar sons para diferentes "eventos" (eventos) e para encerrar programas clicando em "Sair" (do edifício, não do programa)

[Excluído]  
valenok2003:

Talvez você precise verificar os tipos PARASTEP e PARAMAX e seus valores.
Eles não mudam porque são tipos externos. Os valores são escolhidos no próprio gráfico com o indicador juntos!
 
YDzh:

Pessoal, onde devo escrever para conseguir que o MT5 faça uma tradução decente para o alemão? É uma vergonha... É quebrar para "salvar" (salvar) arquivos em formato CSV, para escolher sons para diferentes "eventos" (eventos) e para terminar programas pressionando "Sair" (do prédio, não do programa)


Se você não puder escrever no fórum mql5.com, só há uma saída - escrever para a ONU.

PS. Já estamos consertando a interface alemã, postando no fórum mql5.com. Obrigado pela mensagem.