[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 182

 
hoz:

Eu escrevi um indicador simples. Aqui está o código:

Há apenas um amortecedor nele. Os valores dos indicadores são do tipo duplo.

No Expert Advisor, decidi obter o valor do indicador e aplicá-lo ao comércio como um filtro.

Aqui escrevi uma simples chamada de função deste tampão indicador na última barra formada:

No testador, o valor da inclinação é devolvido incorretamente:

Por quê? O tipo é correto. A chamada também está correta. O indicador funciona de forma adequada. Aqui está o log no testador, e do mercado real atual:

Por que um número2147483647 é devolvidoo tempo todo em vez do número exigido?

Um valor Vazio(EMPTY_VALUE) é devolvido a você, que é 2147483647. Talvez você devesse pressionar Ctrl+D e consultar os dados do próprio indicador?
 
hoz:

Eu escrevi um indicador simples. Aqui está o código:

Tem apenas um buffer. Os valores dos indicadores são do tipo duplo.

No Expert Advisor, decidi obter o valor do indicador e aplicá-lo ao comércio como um filtro.

Aqui escrevi uma simples chamada de função deste tampão indicador na última barra formada:

O valor da inclinação não é correto no testador:

Por quê? O tipo é correto. A chamada também está correta. O indicador funciona de forma adequada. Aqui está o log no testador, e do mercado real atual:

Por que um número2147483647 é devolvidoo tempo todo em vez do número exigido?


Reformulou o indicador

2013.02.26 21:22:39     2011.12.30 23:59  D_Aleks_first_pattern EURUSD,H1: slope = -0.0003
2013.02.26 21:22:39     2011.12.30 23:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0003
2013.02.26 21:22:39     2011.12.30 22:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0006
2013.02.26 21:22:39     2011.12.30 21:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0009
2013.02.26 21:22:39     2011.12.30 20:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0011
2013.02.26 21:22:39     2011.12.30 19:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 18:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 17:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.30 16:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 15:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 14:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 13:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 12:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 11:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 10:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 09:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 08:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 07:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 06:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 05:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0011
2013.02.26 21:22:39     2011.12.30 04:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 03:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 02:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 01:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 00:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 23:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 22:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 21:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0015
2013.02.26 21:22:39     2011.12.29 20:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0017
2013.02.26 21:22:39     2011.12.29 19:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0018
2013.02.26 21:22:39     2011.12.29 18:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0018
2013.02.26 21:22:39     2011.12.29 17:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0017
2013.02.26 21:22:39     2011.12.29 16:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0016
2013.02.26 21:22:39     2011.12.29 15:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0015
2013.02.26 21:22:39     2011.12.29 14:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0015
2013.02.26 21:22:39     2011.12.29 13:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 12:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 11:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 10:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 09:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 08:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 07:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 06:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 05:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 04:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 03:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 02:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 01:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 00:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.28 23:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.28 22:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.001
2013.02.26 21:22:39     2011.12.28 21:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0007
2013.02.26 21:22:39     2011.12.28 20:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0004
2013.02.26 21:22:39     2011.12.28 19:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0002
2013.02.26 21:22:39     2011.12.28 18:00  D_Aleks_first_pattern EURUSD,H1: slope = 0
2013.02.26 21:22:39     2011.12.28 17:00  D_Aleks_first_pattern EURUSD,H1: slope = 0
2013.02.26 21:22:39     2011.12.28 16:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 15:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 14:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 13:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 12:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 11:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0002
2013.02.26 21:22:39     2011.12.28 10:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0002
Arquivos anexados:
 
Vinin:


O problema parece estar com o indicador.


Você está certo... Mas é apenas o número de barras que precisa de ser recalculado. Estranho por que não há maneira de obter o valor correto neste caso.

Se você comentar esta linha, tudo funciona bem e corrige o cálculo a partir da 0ª barra:

int start()
  {
    int i, countedBars = IndicatorCounted();
    int limit = Bars - countedBars - 1;
    //if (limit > 400) limit = 400;
        
    for(i = limit;i > 0;i--)
    {

Mas Na variante anterior, no priming, o valor era adequado. Mas a coruja não é adequada. Por quê?

 
hoz:


Você está certo... Mas é apenas o número de barras a serem recalculadas. Estranho porque, neste caso, não há como obter o valor correto.

Se esta linha for comentada, tudo funciona bem e o cálculo a partir da barra 0 é corrigido:

Mas Na variante anterior, ele estava produzindo um valor adequado. Mas a coruja não é adequada. Por quê?


Parece que você está usando o modo de visualização para verificar
 
Vinin:

Você parece estar usando o modo de visualização para verificar

Sim, e daí?
 

Ajude-me a encontrar um erro, nenhuma ação e nenhum erro. Talvez eu esteja sentindo falta de algumas bibliotecas?

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
#import "kernel32.dll"
   int _lopen  (string path, int of);
   int _lcreat (string path, int attrib);
   int _llseek (int handle, int offset, int origin);
   int _lread  (int handle, string buffer, int bytes);
   int _lwrite (int handle, string buffer, int bytes);
   int _lclose (int handle);
#import


int start()
 {
 string text ="222222";//текст который собираемся записать или перезаписать в файл
 string pach ="D:\FILE.txt";//путь куда записываем файл или перезаписываем
 WriteFile("D:\FILE.txt", text);//выполнение 
 }
//+------------------------------------------------------------------+
//|  записать содержимое буфера по указанному пути                   |
//+------------------------------------------------------------------+
void WriteFile (string path, string buffer) 
 {
  int count=StringLen(buffer); //Возвращает число символов в строке. 
  int result;
  int handle=_lopen (path,1);
  if(handle<0) //если файл еще не создан то создаем
  {
  handle=_lcreat (path,0);
  result=_lclose (handle);
  }
  handle=_lopen (path,1);     //открываем          
  result=_llseek (handle,0,0);    //ставим указатель      
  result=_lwrite (handle,buffer,count); //записываем
  result=_lclose (handle);       //закрываем файл       
 }
//+------------------------------------------------------------------+  

Meu sistema: MT4, Build 451.

Windows 7 Home Base.

 
merkulov.artem:

Ajude-me a encontrar um bug, sem ação e sem erro. Talvez eu esteja sentindo falta de algumas bibliotecas?

Meu sistema: MT4, Build 451.

Windows 7 Home Base.

Sem impressão do cabo e resultado após cada operação, você saberá o que não está funcionando
 
O que há de errado com as funções padrão FileXXXXX?
 
como escolher o menor lote entre todos os comércios abertos?
 
pasha5282:
como escolher o menor lote entre todos os comércios abertos?


int i, ot = OrdersTotal();
double min=0;
int min_ticket=0;
for(i=0;i<ot;i++)
{
   if(!OrderSelect(i,SELECT_BY_POS)) continue;
   if(OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue;
   if(i==0||min> OrderLots()) {min = OrderLots(); min_ticket=OrderTicket();}
}
Razão: