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 860

 

Onde está o erro, eu não sei.

Op.

Arquivos anexados:
5system2.mq4  8 kb
 
CJIeCaPb:

Onde está o erro, eu não sei.

Ope.

Algo está errado no loop while(O===3)

 
CJIeCaPb:

Algo está errado no loop while(O===3)

Phew... É isso aí, já descobri. Após o fechamento, o bilhete é apagado e o pedido tem de ser repetido.
 
Olá! Este é o problema, não consigo abrir o arquivo. Tentou diferentes extensões de arquivo, sem sucesso, apenas deu: erro 5004. O arquivo está na caixa de areia do arquivo. É tudo sobre o cabo, mas não tenho idéia do porquê. Aqui está o código:
   int filehandle=FileOpen("test.txt",FILE_TXT|FILE_WRITE,";");
   if(filehandle<0)
   Alert("ошибка ",GetLastError());                          //Для проверки handle

 
 int filehandle=FileOpen("test.txt",FILE_WRITE|FILE_TXT,";");
 
evillive:
Tentei sem o separador - não adianta.
 
Kapizdo4ka:
Olá, eu tenho este problema, não consigo abrir o arquivo. Tentou diferentes extensões de arquivo, sem uso, apenas dá: erro 5004. O arquivo está na caixa de areia de arquivo. É tudo sobre o cabo, mas não tenho idéia do porquê. Aqui está o código:

Você já tentou especificar que o arquivo está em uma pasta compartilhada?

Arquivar bandeiras abertas

Os valores das bandeiras que definem como o arquivo será tratado. As bandeiras são definidas da seguinte forma:

Identificador

Valor

Descrição

FILE_READ

1

O arquivo está aberto para leitura. Esta bandeira é usada ao abrir um arquivo (FileOpen()). FILE_WRITE e/ou FILE_READ devem ser configurados ao abrir um arquivo.

FILE_WRITE

2

O arquivo é aberto para escrita. Esta bandeira é usada para abrir um arquivo (FileOpen()). Quando um arquivo é aberto, as bandeiras FILE_WRITE e/ou FILE_READ devem ser colocadas.

FILE_BIN

4

Modo binário de leitura-escrita (sem conversão de ou para string). Esta bandeira é usada para abrir arquivos (FileOpen())

FILE_CSV

8

Arquivo do tipo csv (todos os itens escritos são convertidos em uma cadeia do tipo apropriado, unicode ou ansi, e separados por um separador). Esta bandeira é usada ao abrir um arquivo (FileOpen())

FILE_TXT

16

Arquivo de texto simples (igual ao csv, mas sem separador). Esta bandeira é usada quando os arquivos são abertos (FileOpen())

FILE_ANSI

32

Cordas ANSI (caracteres de um-byte). Esta bandeira é usada ao abrir arquivos (FileOpen())

FILE_UNICODE

64

Cordas UNICODE (caracteres de dois bytes). Esta bandeira é usada ao abrir arquivos (FileOpen())

FILE_SHARE_READ

128

Acesso de leitura compartilhado por vários programas. Esta bandeira é usada ao abrir um arquivo (FileOpen()), mas não substitui a necessidade de FILE_WRITE e/ou FILE_READ ao abrir um arquivo.

FILE_SHARE_WRITE

256

Esta bandeira é usada para o compartilhamento de acesso de escrita por vários programas. Esta bandeira é usada para abrir arquivos (FileOpen()), mas não substitui a necessidade de FILE_WRITE e/ou FILE_READ quando se abre um arquivo.

FILE_REWRITE

512

O arquivo pode ser substituído por FileCopy() e FileMove(). O arquivo deve existir ou ser gravável. Caso contrário, o arquivo não será aberto.

FILE_COMMON

4096

Localização do arquivo em pasta compartilhada de todos os terminais do cliente .Arquivos comuns . Esta bandeira é usada ao abrir arquivos (FileOpen()), copiar arquivos (FileCopy(), FileMove()) e verificar a existência de arquivos (FileIsExist())

Uma ou mais bandeiras podem ser especificadas ao abrir um arquivo, esta combinação é chamada de uma combinação de bandeiras. A combinação de bandeiras é escrita usando o sinal lógico de operação OR (|) que é colocado entre as bandeiras que estão sendo enumeradas. Por exemplo, para abrir um arquivo CSV para leitura e escrita ao mesmo tempo, você pode especificar a combinação FILE_READ|FILE_WRITE|FILE_CSV.

 
Vinin:

Você já tentou especificar que o arquivo está em uma pasta compartilhada?

Arquivar bandeiras abertas

Os valores das bandeiras que definem como o arquivo será aberto. As bandeiras são definidas da seguinte forma:

Identificador

Valor

Descrição

FILE_READ

1

O arquivo está aberto para leitura. Esta bandeira é usada ao abrir um arquivo (FileOpen()). FILE_WRITE e/ou FILE_READ devem ser definidos quando o arquivo é aberto.

FILE_WRITE

2

O arquivo é aberto para escrita. Esta bandeira é usada ao abrir um arquivo (FileOpen()). A bandeira FILE_WRITE deve ser colocada e/ou a bandeira FILE_READ deve ser colocada quando um arquivo é aberto.

FILE_BIN

4

Modo de leitura-escrita binária (não convertida de e para string). Esta bandeira é usada para abrir arquivos (FileOpen())

FILE_CSV

8

csv (todos os elementos escritos são convertidos em uma cadeia do tipo apropriado, unicode ou ansi, e separados por um delimitador). Esta bandeira é usada ao abrir arquivos (FileOpen())

FILE_TXT

16

Arquivo de texto simples (mesmo tipo, mas o delimitador é ignorado). Esta bandeira é usada ao abrir um arquivo (FileOpen())

FILE_ANSI

32

Cordão do tipo ANSI (caracteres de um-byte). Esta bandeira é usada ao abrir arquivos (FileOpen())

FILE_UNICODE

64

Cordas UNICODE (caracteres de dois bytes). Esta bandeira é usada ao abrir arquivos (FileOpen())

FILE_SHARE_READ

128

Acesso de leitura compartilhado entre vários programas. Esta bandeira é usada ao abrir um arquivo (FileOpen()), mas não substitui a especificação FILE_WRITE e/ou FILE_READ ao abrir um arquivo.

FILE_SHARE_WRITE

256

Esta bandeira é para acesso de escrita compartilhada por vários programas. Esta bandeira é usada para abrir arquivos (FileOpen()), mas não substitui a necessidade de especificar bandeiras FILE_WRITE e/ou FILE_READ quando se abre um arquivo.

FILE_REWRITE

512

FileCopy( ) e FileMove() podem ser usados para sobrescrever um arquivo. O arquivo deve existir ou ser gravável. Caso contrário, o arquivo não será aberto.

FILE_COMMON

4096

Localização do arquivo em pasta compartilhada de todos os terminais do cliente Arquivos comuns . Esta bandeira é usada ao abrir arquivos (FileOpen()), copiar arquivos (FileCopy(), FileMove()) e verificar a existência de arquivos (FileIsExist())

Ao abrir um arquivo, uma ou mais bandeiras podem ser especificadas, esta combinação é chamada de combinação de bandeiras. Uma combinação de bandeiras é registrada usando o sinal lógico OR (|) colocado entre as bandeiras listadas. Por exemplo, para abrir um arquivo CSV para leitura e escrita ao mesmo tempo, você pode especificar a combinaçãoFILE_READ|FILE_WRITE|FILE_CSV.

Obrigado! No entanto, a resposta acabou sendo muito mais simples. Tudo por causa das mudanças na nova construção. Acontece que a função FileOpen deve agora especificar o tipo uint em vez do tipo int, como na versão anterior:
uint filehandle=FileOpen(filename,FILE_TXT||FILE_WRITE,"\r\n");

E agora, em caso de erro, a função retorna 0 em vez de -1.

 

Traçado de um simples Trailing Stop. bez_Level - Trailing start level em pips. TrallStep - passo de trilha. Magia - número de Magias.

O problema é que, se várias ordens são abertas pelo Consultor Especialista, apenas a primeira ordem é triplicada. E, quando a primeira encomenda é fechada, a segunda começa a trilhar. Eu não recebo nenhuma mensagem de erro. Eu não posso tentar descobrir o que fiz de errado. Obrigado...

int lim=OrdensTotal()-1;

for(int i=lim; i>=0; i--)
{
if(bez_Level>0)
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==OP_SELL)
{
{ if((OrderOpenPrice()-Ask)>(Point*bez_Level))
{
if((OrderStopLoss()>(Ask+Point*bez_Level)+(Point*TrallStep)) ||| (OrderStopLoss()==0)))
{
//--- modificar ordem e saída
if(!OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*bez_Level,OrderTakeProfit(),0))
Print("Trailing error ",GetLastError()));
}
}
}
if(OrderType()==OP_BUY)
{
if((Bid-OrderOpenPrice()>Point*bez_Level))
{
if(OrderStopLoss()<Bid-(Point*bez_Level)-(Point*TrallStep))
{
//--- modificar a ordem
if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*bez_Level,OrderTakeProfit(),0))
Imprimir("Trailing error ",GetLastError())
}
}

}

}
}
}
 

Rapazes, qual é o truque? Por que não está saindo da Inita?

PORQUE NÃO HÁ ENTRADA PARA INICIAR?????????

int init()
 {
   if(init_data()==false)error=true;
   if(error==false)load_data();
   if(error==false)count_data();
   //if(error==true)Print("---------->>>>>>> ERORR!!! <<<<<<<<<--------------");
   setparam();
   Print ("Инит завершён успешно");
   return (0);
 }

int start()
{
  // if(iTime(Symbol(),0,0) == prevtime) return(0);    //ждем нового бара
 //  prevtime = iTime(Symbol(),0,0);                   //если появился новый бар , включаемся    
   Print (" Старт после нового бара"); 
...
      
Razão: