[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 756

 
ToLik_SRGV:

Ilya, vou dar uma olhada, mas não entendo bem por que as matrizes têm o tipo de cordas?

é uma variante funcional por enquanto :)

Na verdade, eu gostaria de esclarecer:

Existe uma "estrutura" semelhante em mql como em c.

Preciso armazenar na matriz dada os dados de diferentes tipos - data + hora de formação do extremo, assim como o valor do próprio extremo...

Assim, eu queria esclarecer - existe uma função padrão para converter cordel em data+hora... ou como esta situação pode ser contornada?

 

Pegue esta ZZ e não se preocupe com isso.

Arquivos anexados:
zigzag2_r_.mq4  10 kb
 
Morzh09:

Peço desculpas por me repetir, mas gostaria muito de entender...


O que imediatamente me chamou a atenção, seu array Number_of_extremum[] não é inicializado em nenhum lugar, respectivamente, ele não tem células para armazenar dados, e você está tentando escrever min/max nele (claro, ele sempre termina com 0). Sugiro esta opção - mudar dinamicamente o tamanho do array dependendo da variável K:

        
   }
   
//====================================================  

   ArrayResize(Number_of_extremum, k);
   
   for (int u=0;u<k;u++)//
   {
      if (StrToDouble(TimeSave1[u+1][1])<=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=1;// значит под номером u - нашли min
      }
      else
      if (StrToDouble(TimeSave1[u+1][1])>=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=2;// значит под номером u - нашли max
      }
   }
   
//====================================================   

Parece funcionar, embora eu ache que em algum lugar da lógica ainda seja um bug, às vezes os números começam a sair de seqüência, mas será que pode haver dois máximos consecutivos?

 
ToLik_SRGV:

O que você queria alcançar no final?

Se eu tiver calculado corretamente:
1000*60*(240+1)*1000 = 14 460 000 segundos.

Você quer que o testador faça uma pausa em cada tick por 167 dias?

Sobre a pausa, eu disse há algumas páginas.

Obrigado, é mais ou menos certo - Dormir não funciona no testador. Este atraso impossivelmente longo, que eu estabeleci para verificar se o sono funciona de alguma forma.
 

Hi. Existe uma estratégia de arbitragem, ela é perfeita? Ou seja, é irreal perder com isso ou o preço nem sempre atinge o nível certo?

Obrigado

 
Swetten:

Qual é o número máximo de janelas no MT4?

Eu precisava abrir 3x19 janelas, mas são 54 (acho) e pronto.

Ou seja, a janela é desenhada, mas tem uma captura de tela das janelas anteriores (que estão em segundo plano).

E é isso aí.

Acontece quando não há memória de vídeo suficiente...
 

Por favor, informe qual código deve ser adicionado ao Expert Advisor, para que ele pare no breakeven com lucro de pelo menos 20 pips e não o mova mais

Ficarei muito grato por seu feedback.

 

Colegas, podem me dizer se existe um indicador que consiste em três linhas horizontais paralelas, ou seja, uma espécie de canal. Por exemplo, se você pegar uma linha horizontal, coloque-a em algum nível, e a partir desta linha após um certo (dado) número de pontos está desenhando as outras linhas paralelas a ela. Agradeço antecipadamente.

 

No testador, o Expert Advisor abre 5 ordens durante o período selecionado.

Se alterarmos o OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0",", 0,0,Blue); substituindo 10 por 15, então 4 ordens de 5 serão abertas, e se substituirmos 10 por 20, então apenas 3 serão abertas. Ao mesmo tempo,

apenas as ordens que são fechadas por Stop Loss. Você não vê nenhuma mensagem de erro. Qual é a razão disso, por favor?

E a sensação é que nem sequer entra neste ramo.

if (OrdersTotal()!=0) {
   if (OrderType()==OP_BUY && stochMain0<stochSIGNAL0) CLOSEORDER("Buy");     
   if (OrderType()==OP_SELL && stochMain0>stochSIGNAL0) CLOSEORDER("Sell");  
}
else {
   double MA0 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,0);   
   double MA1 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift);   
   double MA2 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift*2); 
   if (MA0>MA1-razn1 && MA1>MA2-razn1 && MA0<Ask)    
      if(stochMain0>stochSIGNAL0 && stochMain_1>stochSIGNAL_1 && stochMain_4<stochSIGNAL_4) {
         //OPENORDER ("Buy");
         OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue);
      }
   else if (MA0+razn1<MA1 && MA1+razn1<MA2 && MA0>Bid)     
      if(stochMain0<stochSIGNAL0 && stochMain_1<stochSIGNAL_1 && stochMain_4>stochSIGNAL_4)  //   
         {OPENORDER ("Sell");  }
}     
Arquivos anexados:
stoch_1.mq4  7 kb
 
profitinvesting:

Por favor, informe qual código deve ser adicionado ao Expert Advisor, para que ele pare no breakeven após um lucro de pelo menos 20 pips e não o mova mais

Ficarei muito grato por seu feedback.

Você precisa do lucro total de todas as posições abertas ou você quer acabar com cada uma delas quando elas atingirem 20 pontos de lucro?