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

 
palesandr:

A questão é a média de velas abertas e fechadas sobre n velas

apenas traça uma linha de apontamento para baixo

o que está errado ?

1) corrigir o laço interno

k não de 1, mas de i

2) logo nos primeiros passos, vá além da história

 
granit77:
Gostaria também de ver um exemplo, como fazê-lo corretamente.

O que poderia ser mais complicado do que isso?

#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5];

void PutStack (double p_Price)
{
  int nCounter;
  
  for (nCounter = 4; nCounter > 0; nCounter--)
    aPrices [nCounter] = aPrices [nCounter - 1];
    
  aPrices [0] = p_Price;
}

int start()
{
  int nCounter;
  
  PutStack (Bid);
  
  for (nCounter = 0; nCounter < 5; nCounter++)
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits));
}

O 0º elemento da matriz terá o preço do último tick, o 1º elemento terá o preço 1 tick atrás, o 2º elemento terá o preço 2 ticks atrás, etc.

Ou talvez eu tenha entendido mal alguma coisa e tenha sentido outra coisa?

 
palesandr:

A questão é a média de velas abertas e fechadas sobre n velas

apenas traça uma linha de apontamento para baixo

o que está errado ?


#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red 

extern double n = 50;
double Buf_0[];

int init()
  {
 SetIndexBuffer(0,Buf_0);
 SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);    
    
   return(0);
  }

int start()
  {
   int    Counted_bars=IndicatorCounted();
      
   double v;
  int i=Bars-Counted_bars-1;
 
  while(i>=0)  
  {  v=0; 
          for(int k=i;k<i+n;k++)
        {
      
        v=v+MathAbs(Open[k]-Close[k]);
       
        
      }
       Buf_0[i] = v/n;
       
       i--;
       }
 return;
 }
 
Bicus:

O que poderia ser mais complicado do que isso?

O 0º elemento da matriz terá o preço do último tick, o 1º elemento terá o preço 1 tick atrás, o 2º elemento terá o preço 2 ticks atrás, etc.

Ou eu entendi mal alguma coisa e quis dizer algo mais?

Obrigado, é exatamente isso que eu preciso. Não parece complicado, mas as pessoas que não conhecem o básico da programação às vezes levam muito tempo para fazer coisas simples. Eles têm que inventar tudo a partir do zero.
Por exemplo, para você "classificar bolhas" é um elemento do alfabeto, enquanto eu só ouvi falar dele, e não tendo um exemplo na minha frente, eu escreveria tudo de novo :))
 
Alguém tem uma função "Pular Próximo Bar" já pronta? :)
 
Olá a todos e lucro. Eu queria perguntar se alguém tem um indicador semelhante ao RSI, mas que nunca divergiria. Obrigado.
 
ikatsko:
Alguém já tem uma função de saltar na próxima barra? :)

if(iTime(Symbol(),period_bar,number_of_ bars_to_skip)>OrderOpenTime()

Skip_bar_to_skip

0 - pular a corrente um, 1 - corrente um e próximo etc.

 

yosuf:
Li recentemente neste fórum que se abrirmos 2 ordens dirigidas de forma diferente com o mesmo SL ao mesmo tempo, então, após o fechamento de uma delas, podemos tentar obter um lucro. Alguém verificou esta idéia ou não? Talvez haja uma EA semelhante?
160777:

Grade de especialistas v.2.

"Copyright©2008 EAfactory.com e Expert-4x.com - "Revisão: 264".

Abre posições em ambos os sentidos e fecha ambos se a diferença estiver no lado positivo.

Esclareça-me, como é possível estar do lado positivo se os pedidos são iguais em termos de tamanho de lote? A posição total será sempre menos o spread duplo.

Outra coisa é se as ordens têm lotes diferentes: então o stop loss do menor não é o mesmo, mas o stop loss do maior é igual ao take profit. Então seu fechamento simultâneo leva, se você sabe como calcular, a um lucro.

 

Olá a todos, como posso salvar um relatório Statement.htm usando MQL? Alguém sabe?

 

Não consigo descobrir como fazer as linhas serem exibidas, seja através deste roteiro ou afastando-me deste roteiro, ou talvez eu esteja errado:

   //---------------------------------
  
        double PriceBid = Bid;
        double PriceAsk = Ask;
        double be = GetWeightedBELevel();

        if(be != -1)
        {
                double BuyLots = GetBuyLotsSum();
                double SellLots = GetSellLotsSum();
                
                double Swap = GetSwap();
                //string str = be + " ";
                if(Swap < 0)
                {
                        double diff = BuyLots - SellLots;
                        //str = str + MarketInfo(Symbol(), MODE_TICKVALUE) * diff + " " + (-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point) + " ";
                        be += ND(-Swap / (MarketInfo(Symbol(), MODE_TICKVALUE) * diff) * Point + diff / MathAbs(diff) * 1 * Point);
                }
                //str = str + Swap + " " + be;
                //Comment(str);
                        
                if((BuyLots > SellLots && ND(PrevPriceBid) < ND(be + TakeProfitBuy * Point) && ND(PriceBid) >= ND(be + TakeProfitBuy * Point)) ||
                        (BuyLots < SellLots && ND(PrevPriceAsk) > ND(be - TakeProfitSell * Point) && ND(PriceAsk) <= ND(be - TakeProfitSell * Point)))
                {
                        CloseAllBuy();
                        CloseAllSell();
                }               
                
        }
        //---------------------

isto é, quando este preço atinge este nível, as ordens são fechadas, e eu quero ver este preço no gráfico na forma de uma linha ou uma pequena entrada em um quadrado e com um traço.

me guie na direção certa
Razão: