[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 237

 
Muchas gracias)
 
costy_:

Para estar seguro (algunos DT), primero abra la pose, luego modifique las paradas por separado en el ciclo si la modificación no funciona en el tic.

Puede utilizar este

Error de "bloqueo" 130

o codificar un estudio (hay que ver lo que está escrito allí)).

¡¡¡¡¡MUCHAS GRACIAS!!!!!

Lo probaré el lunes....

 

Señores, ayúdenme en qué he metido la pata))

#property indicator_buffers 1

double Crit[];
bool Crit1;
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0,Crit);
   return(0);
  }
//+--------------------------+
int start(){
  Crit[0]=Crit_div();
   return(Crit1);}
//+--------------------------+
double Crit_div(){
   double MA_5_1=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,0);
   double MA_5_2=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1);
   double MA_5_3=iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,2);   

   double MA_8_1=iMA(NULL,0,8,0,MODE_SMA,PRICE_CLOSE,0);
   double MA_8_2=iMA(NULL,0,8,0,MODE_SMA,PRICE_CLOSE,1);
   double MA_8_3=iMA(NULL,0,8,0,MODE_SMA,PRICE_CLOSE,2);   
   
   
   if(MA_5_1>MA_8_1 && MA_5_2<=MA_8_2 && MA_5_3<=MA_8_3 )
   Crit1=true;

   if(MA_5_1<MA_8_1 && MA_5_2>=MA_8_2 && MA_5_3>=MA_8_3 )
   Crit1=false;

   return(Crit1);}


En el Asesor Experto escribimos:

   double Sign=iCustom(Symbol(),0,"1111",0,0);

Con Comment obtenemos 0 o 1. Lo que queríamos. Además: Como los buffers de 0 a 5 están ocupados en el indicador, hago lo siguiente:

#property indicator_buffers 6

double Crit[];
bool Crit1;
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(5,Crit);
   return(0);
  }
//+--------------------------+
int start(){
  Crit[5]=Crit_div();
   return(Crit1);}
//+--------------------------+
double Crit_div(){
   if(//условие)Crit1=true;
   if(//условие)Crit1=false;
   return(Crit1);}

En el Asesor Experto escribimos:

   double Sign_diver=iCustom(Symbol(),0,"1111",5,0);

A través del comentario obtenemos:2146487826. Aunque esperaba ver 0 o 1((((

 
deyron:

Señores, ayúdenme en qué he metido la pata))

En el Asesor Experto escribimos:

Con Comment obtenemos 0 o 1. Lo que queríamos. Además: Como los buffers de 0 a 5 están ocupados en el indicador, hago lo siguiente:

En el Asesor Experto escribimos:

A través del comentario obtenemos:2146487826. Aunque esperaba ver 0 o 1((((






Necesito el código completo del indicador
 

ayuda con una solución...

hay una orden a 1,1111. ¿cómo puedo comprobar si hay más órdenes abiertas a 5 pips de ella? ((

 
 
Hola
Mi MetaEditor no parece querer funcionar
Presiono compilar y no hace nada
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
Comment("Hello");
//----
   return(0);
  }
//+------------------------------------------------------------------+
No sé si alguien tiene algún problema con ello.
 

Gracias. Lo he visto. Pero es...

Возвращает флаг существования позиции или ордера около рынка

y lo necesito no cerca del mercado sino cerca de un precio específico.

Ejemplo: El mercado está en 1.3262, necesito saber dentro de 5 pips de 1.1111

 
Vinin:

Necesita el código completo del indicador.

Puesto anterior corregido en. No hay criterios (vacíos) para pasar una MA por otra y viceversa.

El mismo hecho de que si un búfer - no hay preguntas, pero el mismo a través de la segunda, tercera o cuarta, no funciona.

 
w_ersoc:

Gracias. Lo he visto. Pero ahí...

No lo necesito cerca del mercado, sino cerca de un precio específico.

Ejemplo: El mercado está en 1.3262 y necesito saber dentro de 5 pips de 1.1111


¿Qué le impide cambiar MODE_ASK aquí a 1,1111 para una orden de compra, por ejemplo? La función está lista - edítala.

if (ot==OP_BUY || ot==OP_BUYLIMIT || ot==OP_BUYSTOP) {
            if (MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())<ds*p) return(True);
          }
          if (ot==OP_SELL || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
            if (MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))<ds*p) return(True);