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 785

 
001:
Não consigo descobrir como codificar. Eu preciso que a EA espere um certo tempo se a última pose não foi lucrativa. Você tem alguma idéia?
Tenha um tempo para fechar uma posição não lucrativa OrderCloseTime(). A partir dele, você pode ler o tempo através de TimeCurrent() - OrderCloseTime(). Ou em barras usando iBarShift (NULL, 0, OrderCloseTime()).
 
AlexeyVik:

Será simples se você definir a profundidade a ser pesquisada. Você pode usar CopyLow e ArrayMinimum() em vez de iLowest



Obrigado! Mas esse é o problema, que ao fixarmos a profundidade encontramos o ponto médio, mas na verdade poderia haver várias formações ABC.
 
Forexman77:
Obrigado! Esse é apenas o problema, que ao definirmos a profundidade, encontramos o ponto médio, mas na verdade pode haver várias formações de ABC.

Qual foi a pergunta, foi a resposta.

Se você não encontra o que deseja, não está procurando dessa forma. Mude sua abordagem para o problema.

Infelizmente, não entendo de seu texto o que você está procurando e o que você encontra.

 

Eu fiz um indicador: encontre o máximo, verifique se há uma diminuição de um certo número de pontos em relação ao máximo.

A questão é como voltar após o evento e colocar a seta no máximo.

#property indicator_chart_window
#property indicator_buffers 3
#property  indicator_color1 Magenta
#property  indicator_color2 Aqua
#property  indicator_color3 Lime
//--- input parameters
extern int       Period_=5;
extern double       Rmax=0.005;
//--- buffers
double Max[];
double Min[];
double RazmahMax[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(3);
   SetIndexBuffer(1,Max);
   SetIndexBuffer(2,Min);
   SetIndexBuffer(0,RazmahMax);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,226);
   SetIndexEmptyValue(0,0.0);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),limit, i;
    double minimum,maximum,spuskMax;
   if(counted_bars>0)
      counted_bars--;  
   limit=Bars-counted_bars;
   for(i=0;i<limit;i++)
   {
      maximum=High[iHighest(NULL,0,MODE_HIGH,Period_,i)];//ЗДЕСЬ НУЖНА СТРЕЛКА, ЕСЛИ СРАБОТАЛО СОБЫТИЕ НА ВТОРОМ ЦИКЛЕ
      minimum=Low[iLowest(NULL,0,MODE_LOW,Period_,i)];
      Max[i]=maximum;
      Min[i]=minimum;
   }
   for(i=0;i<limit;i++)
   {
   spuskMax=Max[i]-Low[i];
   if (spuskMax > Rmax && Close[i] < Open[i])RazmahMax[i]=High[i];//падение от max на определенное кол-во пунктов
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
AlexeyVik:

Qual foi a pergunta, foi a resposta.

Se você não encontra o que deseja, não está procurando dessa forma. Mude sua abordagem para o problema.

Infelizmente, não entendo de seu texto o que você está procurando e o que você encontra.


Estamos procurando a formação ABC entre o máximo e o mínimo e não esqueçamos que pode haver mais de uma dentro destas formações .

Assim, depois de encontrar os extremos:

1. Devemos nos certificar de que haja três ondas ou várias delas (a mais incerta é como identificar as formações)

2.Se houver vários movimentos, devemos restringir a busca.

P.S. Então eu pergunto, em que direção mudar a abordagem? E sobre compreensão. Eu não conheço muito bem o inglês, mas sempre tenho um bom entendimento em um fórum estrangeiro.

Este é frequentemente o clássico "você é um tolo").

 
Forexman77:

Procuramos uma formação ABC entre um máximo e um mínimo, tendo em mente que pode haver mais de uma dentro destas formações .

Assim, depois de encontrar os extremos:

1. Devemos nos certificar de que haja três ondas ou várias delas (o mais obscuro aqui é como identificar formações)

2.Se houver vários movimentos, devemos restringir a busca.

P.S. Então eu pergunto, em que direção mudar a abordagem? E sobre compreensão. Eu não conheço muito bem o inglês, mas sempre tenho um bom entendimento em um fórum estrangeiro.

Este é frequentemente o clássico "você é um tolo").

Talvez eu o entendesse, mas não conheço nenhum inglês. Eu não sei inglês, exceto por algumas palavras aplicáveis à programação.

Bem, se eles o entendem nessa língua, por que não resolveram o problema? Talvez porque a compreensão teórica seja diferente da compreensão matemática? Para que serve entender a formação do ABC se ela deve ser descrita por preços e barras em vez de tais palavras? Se eu pessoalmente nunca fiz análise de ondas e não estou interessado nela, então para entendê-lo tenho que estudar estas ondas primeiro e depois imaginar como descrever tudo isso. Não seria melhor para você descrever mais concreta e brevemente o que não está funcionando? Não quero falar sobre todos ou pelo menos sobre a maioria deles, mas pessoalmente não quero procurar erros no código de outras pessoas. Ler 7-10 linhas é uma coisa, e 70-100 é outra bem diferente.

Não se desculpe, não tem nada a ver com o clássico "você é um tolo".

 

Confesso que eu mesmo não sou um defensor da análise das ondas. O que eu estou tentando identificar agora são formações com 3 ou 4 extremos.

Em duas imagens o principal problema é detectar MAX1 e MIN2 nelas programmaticamente. Alguma idéia, variantes, como pode ser feito?

 
 

Por favor, informe!!! como corrigir o erro de apresentação da declaração.htm em myfxbook.com

Exemplo de erro:

2014.11.21 15:01:41.020 Editora: failed

2014.11.21 15:01:41.020 FTP: não pode abrir arquivo [C:\Program Files\MetaTrader 4 - RoboForexprofiles\statement.htm]

2014.11.21 15:01:40.270 Editora: erro ao abrir o arquivo

2014.11.21 15:01:40.270 Editora: início

No início, pensei que era um problema de servidor e corretor. Mas quando eu baixei os terminais de outros corretores, o mesmo erro começou a aparecer!

O que fazer?

 
Forexman77:

Confesso que eu mesmo não sou um adepto da análise das ondas. O que eu estou tentando identificar agora são formações com 3 ou 4 extremos.

Em duas imagens o principal problema é detectar MAX1 e MIN2 nelas programmaticamente. Alguma idéia, variantes, como fazer isso?

Há outro problema. Não há nenhuma ambiguidade em seus desenhos. Entre MIN2 na primeira foto e MIN2 na segunda foto eu vejo pelo menos cinco mínimos similares. Como você explica que esses mínimos tenham que ser ignorados?

Caso contrário, como sugeri na primeira CopyLow e da matriz resultante ArrayMinimum e ArrayMaximum. Em seguida, mudar de qual barra e quanto copiar e novamente procurar pelo máximo e mínimo.