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

 

Olá a todos.

Preciso de ajuda - diga-me como fazer isso na EA:

Sobrepor um indicador em outro?

Eu chamo o primeiro indicador, ele tira valores do gráfico.

Como chamar o segundo, de modo que ele tire valores do primeiro?

Se possível, com um exemplo (vamos aplicar os muwings ao atp).

Agradecemos antecipadamente.

 

Vocês podem me dizer, por favor, onde no código há um erro? O Consultor Especialista só compra... Após uma parada ou uma tomada, ele espera até que o bar feche e compre novamente. Se eu trocar compra e vende nas primeiras linhas, só vende... Por favor, diga-me o que pode ser...

if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 }

return(0);
}


int OrderOp(int ord,double lot)  
{
   int ticket1;
   string ccm="";
   double l;
   bool SLTP;
   
   
   if (ord==OP_BUY) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: BUY";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l-StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l+TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
      } 
   }           
   
   if (ord==OP_SELL) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_BID), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: SELL";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l+StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l-TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
 
Mihoi:

Olá a todos.

Preciso de ajuda - diga-me como fazer isso na EA:

Sobrepor um indicador em outro?

Eu chamo o primeiro indicador, ele tira valores do gráfico.

Como chamar o segundo, de modo que ele tire valores do primeiro?

Se possível, com um exemplo (vamos aplicar os muwings ao atp).

Agradecemos antecipadamente.

No próprio indicador ATR, insira algumas linhas extras.

Um bom exemplo para resolver o problema seria o indicador MACD do grupo de indicadores personalizados.

Abra o código indicador MACD e veja como ele é feito.

É muito simples. iMAOnArray().

 
ostrik:

Vocês podem me dizer, por favor, onde no código há um erro? O Consultor Especialista só compra... Após uma parada ou uma tomada, ele espera até que o bar feche e compre novamente. Se eu trocar compra e vende nas primeiras linhas, só vende... Por favor, diga-me o que pode ser...


if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 } --- может, эта скобка лишняя???
 
Obrigado, eu vou tentar!
 
DhP:



Não, o suporte parece bom...
 
ostrik:

Não, os parênteses estão bem...

Vocês estão meio que insinuando que forneceram um código incompleto com uma função incompleta.

De fato, Imprimir ou Comentar regras.

 
sergeev:

Vocês estão meio que insinuando que forneceram um código incompleto com uma função incompleta.

Em geral, imprimir ou comentar as regras.


A questão é que estou aprendendo essas coisas difíceis e nada funciona... Tenho a sensação de que minhas mãos não estão no lugar certo ))

 

Olá, como mover a linha indicadora para frente por uma barra?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

Tenho uma idéia em vez de Buffer1[i]=Alto[i]; coloque Buffer1[i-1]=Alto[i]; mas, infelizmente, ela não avança(

 
tmt0086:

Olá, como mover a linha indicadora para frente por uma barra?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

Tenho uma idéia em vez de Buffer1[i]=Alto[i]; coloque Buffer1[i-1]=Alto[i]; mas, infelizmente, ela não avança(


descobriu