[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 625

 
evillive:

Posso perguntar por quevocê precisa "normalizar para 4 ou 2 dígitos" (se você tem citações de 5 dígitos)?(se as citações estiverem em 5 dígitos)"? 5 e 3 dígitos também devem funcionar...

Há muitas pequenas lacunas em cotações de 5 dígitos, temo que o preço possa saltar... Não quero perder uma entrada.

A propósito, se eu remover pip do código, as ordens ainda não se abrem :(

 
Quanto custará anexar um alerta a um simples TS de dois indicadores?
 
alsu:
Sua função iTime tira a i-ésima barra de um arquivo (para cada tamframe separadamente) na pasta de história do testador, talvez os arquivos de história para D1 e H1, onde a última barra corresponde a 13 de janeiro, estejam lá deitados de alguma antiga execução.
O que você precisa fazer? Parece que atualizo a história sistematicamente.
 
MarkTrade:

Boa tarde.

Você pode me dizer por que este código não é comercial?

E o alerta não funciona.

O tronco é completamente silencioso...

Na imagem da tela, você pode ver a coincidência das condições.


A captura de tela é um gráfico de cinco dígitos. Com um deslize como o seu

OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,0,CLR_NONE);

o pedido será aberto, mas é preciso esperar que as condições de entrada coincidam e o mais importante - o mercado estará muito calmo.

-----

O alerta será acionado, mas em um nível de cinco dígitos

if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alerta("!!!!!!!!!!!");

você precisa esperar, cerca de dois anos, quando haverá uma correspondência exata - o preço gosta de pular, saltar, e você quer que seja exato até o 5º dígito

 
alsu:
Se estiver usando MQL, então somente dentro da pasta de arquivos de especialistas

Sim, o arquivo a ser copiado está dentro de arquivos de especialistas.

Como pode ser copiado usando a MQL4?

 
zxc:


A captura de tela é um gráfico de cinco dígitos. Em um escorregamento como o seu

OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,CLR_NONE);

o pedido será aberto, mas é preciso esperar que as condições de entrada coincidam e o mais importante - o mercado estará muito calmo.

-----

O alerta será acionado, mas em um nível de cinco dígitos

if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alerta("!!!!!!!!!!!");

você precisa esperar, cerca de dois anos, quando o preço será exato - afinal de contas, o preço gosta de pular, pular, e você quer que seja exato até o 5º dígito.

Para este fim, eu o normalizo para 4 dígitos.

O que isso tem a ver com o escorregamento? Se houvesse solicitações no registro, sim.

Esta captura de tela mostra a correspondência exata e o diário não tentou sequer abrir o pedido.

 
MarkTrade:

É por isso que eu normalizo para quatro dígitos.

O que isso tem a ver com o escorregamento? Se houvesse solicitações no registro, então sim.

A captura de tela mostra a correspondência exata, enquanto o registro não tentou sequer abrir um pedido.

Você está normalizando de forma incorreta. Se você quiser normalizar a 4 dígitos, escreva NormalizeDouble(...,4) - leia novamente o que significa o segundo parâmetro: número de casas decimais. Multiplique 3 ou 5 por 10 como você faz - você receberá 30 ou 50 dígitos, mas não 4.
 
MarkTrade:

É por isso que eu normalizo para quatro dígitos.

O que o escorregamento tem a ver com isso? Se houvesse solicitações no registro, então sim.

A captura de tela mostra a correspondência exata, enquanto o registro não tentou sequer abrir um pedido.


Este tipo de conta permite que os pedidos sejam abertos de uma só vez com paradas?
 
atztek:

Sim, o arquivo a ser copiado está dentro de arquivos de especialistas.

Como pode ser copiado usando as ferramentas MQL4?


Não há função de cópia de arquivo como tal. Mas é possível, por exemplo, desta forma:

//копирует src в dest
void CopyFile(string dest, string src )
{
   int handle1,handle2;
   handle1=FileOpen(src ,FILE_BIN|FILE_WRITE);
   handle2=FileOpen(dest,FILE_BIN|FILE_READ);
   FileSeek(handle1, 0, SEEK_END);
   FileSeek(handle2, 0, SEEK_SET);
   while(true)
   {
      string s=FileReadString(handle2,1);
      if(!FileIsEnding(handle2))
         FileWriteString(handle1,s,1);
      else break;  
   }
   FileClose(handle1);
   FileClose(handle2);
}
 
Fox_RM:
O que você precisa fazer? Parece que atualizo a história sistematicamente.

Na verdade, é algum tipo de bug, não deveria estar no testador...

Tente mexer nos arquivos de história, apague tudo o que está na pasta de história de teste para começar...