[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 270

 

Hola a todos.

Necesito ayuda - dime cómo hacer esto en EA:

¿Superponer un indicador a otro?

Llamo al primer indicador, toma los valores del gráfico.

¿Cómo llamar al segundo para que tome los valores del primero?

Si es posible, con un ejemplo (apliquemos los muwings al atp).

Gracias de antemano.

 

¿Pueden decirme en qué parte del código hay un error? El Asesor Experto sólo compra... Después de una parada o una toma, espera a que se cierre la barra y vuelve a comprar... Si cambio la compra y la venta en las primeras líneas, sólo se vende... Por favor, dígame qué puede 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:

Hola a todos.

Necesito ayuda - dime cómo hacer esto en EA:

¿Superponer un indicador a otro?

Llamo al primer indicador, toma los valores del gráfico.

¿Cómo llamar al segundo para que tome los valores del primero?

Si es posible, con un ejemplo (apliquemos los muwings al atp).

Gracias de antemano.

En el propio indicador ATR introduzca algunas líneas adicionales.

Un buen ejemplo para resolver el problema sería el indicador MACD del grupo de indicadores personalizados.

Abra el código del indicador MACD y vea cómo se hace.

Es muy sencillo. iMAOnArray().

 
ostrik:

¿Pueden decirme en qué parte del código hay un error? El Asesor Experto sólo compra... Después de una parada o una toma, espera hasta que la barra se cierre y entonces vuelve a comprar... Si cambio la compra y la venta en las primeras líneas, sólo se vende... Por favor, dígame qué puede ser...


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



No, el soporte parece estar bien...
 
ostrik:

No, los paréntesis están bien...

Están insinuando que han proporcionado un código incompleto con una función incompleta.

De hecho, las reglas de impresión o comentario.

 
sergeev:

Están insinuando que han proporcionado un código incompleto con una función incompleta.

En general, las reglas de impresión o comentario.


El caso es que estoy aprendiendo esto tan difícil y nada funciona... Tengo la sensación de que mis manos no están creciendo en el lugar correcto ))

 

Hola, ¿cómo se puede adelantar la línea del indicador una 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);
}

Tengo una idea en lugar de Buffer1[i]=Alto[i]; poner Buffer1[i-1]=Alto[i]; pero por desgracia no dibuja hacia adelante(

 
tmt0086:

Hola, ¿cómo se puede adelantar la línea del indicador una 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);
}

Tengo una idea en lugar de Buffer1[i]=Alto[i]; poner Buffer1[i-1]=Alto[i]; pero desgraciadamente no saca adelante(


lo descubrió
Razón de la queja: