[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 148

 
eddy:

então eu quero criar um objeto em azul)

sergeev, entãoindicador_color1 é uma variável de cor?

int init() {
   IndicatorBuffers(2);
   SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID, 3);
   SetIndexArrow(0, 108);
   SetIndexBuffer(0, g_ibuf_96);
   SetIndexBuffer(1, g_ibuf_100);
   SetIndexEmptyValue(0, 0.0);
   ArraySetAsSeries(g_ibuf_96, TRUE);
   ArraySetAsSeries(g_ibuf_100, TRUE);
   IndicatorShortName("ZigZag(" + ExtDepth + "," + ExtDeviation + "," + ExtBackstep + ")");
   return (0);
}
aqui estão os círculos
 
alsu:

nãooooooo.

Suponha que tenhamos um indicador que traça uma linha. Suponha que queiramos desenhar um círculo com este indicador. Mas queremos torná-la verde se a linha indicadora for verde, e vermelha se for vermelha.

:) então qual é o problema?
 
NÃO ignore o pedido!!! Por favor.
 
Luteciy:
NÃO ignore o pedido!!! Por favor.
me pareceu que seu pedido não tem nada a ver com este fio condutor. Se você quiser que outra pessoa escreva o código no TOR especificado em vez de você, então vá para https://www.mql5.com/ru/job
 
Obrigado
 

Boa gente!

Sei que a situação é idiota, mas não posso evitá-la. Não posso fazer amizade com a função "OrderSelect".

Meu TCP requer apenas um pedido em aberto. Por favor, passe-me o algoritmo de fechamento do pedido no seguinte caso:

Se o número de ordens de mercado = 1, é uma ordem de compra e a condição 1 é cumprida (eu mesmo a inserirei), então

fechá-lo ao preço atual.

e se for uma ordem de venda e a condição 2 for cumprida (eu próprio também a inserirei) então

fechamos ao preço atual.

Novamente, o programa pode abrir apenas um pedido - não temos que procurá-lo entre milhares de pedidos!

Obrigado.

 
encontrar um roteiro ou função para fechar o(s) pedido(s) e inserir suas condições
 
Você pode criar funções com parâmetros opcionais, pode fazer uma função que retorna a soma dos valores passados para ela, de modo que seu número seja ilimitado, ou pelo menos limitado, mas grande)
 
//+------------------------------------------------------------------+
//|// Проверка смены тренда                                            |
//+------------------------------------------------------------------+
bool TrendChange(int Period_MAb,int Period_MAm,int shPer)
{
  int i;
bool TrendCh[i];
  for (int i=0; i<shPer; i++) {       
         double MAbSh[i]=iMA(NULL,0,Period_MAb,0,MODE_EMA,PRICE_WEIGHTED,i); // 
         double MAmSh[i]=iMA(NULL,0,Period_MAm,0,MODE_EMA,PRICE_WEIGHTED,i); 
   if ((MAbSh[0]>MAmSh[0] && MAbSh[i]>MAmSh[i]) ||(MAbSh[0]<MAmSh[0] && MAbSh[i]<MAmSh[i]))
      TrendCh[i]=true; 
   else TrendCh[i]=false;
//   if TrendCh[i-1]==TrendCh[i]
   return (true);
return (false);   
}
//+------------------------------------------------------------------+

Alguém já encontrou o problema das duas bandeiras de mudança de tendência da MA? Chegamos a este ponto e ficamos presos...

Quaisquer dicas, pls! A idéia é escrever verdadeiro em [bar shift] array quando MA1> MA2 estiver feito. então se todo array for verdadeiro - então a bandeira é verdadeira.

 
100yan:

Alguém já encontrou o problema das duas bandeiras de mudança de tendência da MA? Chegamos a este ponto e ficamos presos...

Quaisquer dicas, pls! A idéia é escrever verdadeiro quando MA1> MA2 é feito na matriz [bar shift] . então se a matriz inteira é verdadeira - então a bandeira é verdadeira.


bool TrendChange(string smb, int tf, int Period_MAb, int Period_MAm, int nB)
{
  for (int i=0; i<nB; i++) 
  {
     double maB=iMA(smb, tf, Period_MAb, 0, MODE_EMA, PRICE_WEIGHTED, i);
     double maM=iMA(smb, tf, Period_MAm, 0, MODE_EMA, PRICE_WEIGHTED, i); 
     if (maA<maB) return(false);
  }
  return(true);   
}


// aprender como formar o código