[¡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 435

 
semiromid:

Ayuda )

1.Detección instantánea de una operación recién abierta (no de órdenes pendientes) (Si el sistema ha detectado una orden que no se ha abierto antes, continúa en el número 2)

2. Cualquier tarea se ejecuta una sola vez, sólo para esta orden.

Después de abrir una orden más, el sistema actúa de nuevo desde el punto 1 al punto 2

¿Necesita encontrar un pedido realizado manualmente desde el exterior?
 
sergeev:

Servicio-Configuración-Internacional

Interesante. y la opción apareció en la configuración. esto no era el caso en las versiones anteriores
 
bercut0077:
Buenas tardes, ¿podríais decirme cómo añadir una flecha (código 241) a una línea de texto y que todo se vea adecuadamente en la pantalla? Por ejemplo -- > trend = StringConcatenate("Dirección de la tendencia: ", ? ? ? ?); ¿Tal vez haya otra manera?


Como alternativa, puede utilizar las "comillas" y _subrayar_.

o

^ arriba

...

 
peshihod:
¿Necesita encontrar un pedido realizado manualmente desde el exterior?


Tanto de forma manual como externa.

1.Моментальное определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника) Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача, всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер, система вновь действует с пункта 1 по пункт 2 .

 

remitido a

semiromid:

if ( OrderSelect (77777, SELECT_BY_TICKET) == true)

¿Cómo puedo seleccionar un teletipo que aún no existe, pero que será el siguiente?

 

se trasladó a

semiromid:

Por favor, ayuda .

¿Cómo puedo añadir una variable a este comentario de "Se ha producido un error"?

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "An error occurred ", 0);


TheXpert:

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "An error occurred "+GetLastError(), 0);

 

Buenas tardes expertos, en el indicador me interesa el valor recibido por el EA

SetIndexBuffer(2, Cur_Trend) которое в зависимости от обстоятельств должно иметь значение 1 или -1, все работает нормально, но по прошествии минут 10-15, значение выходит за 
рамки и становится сразу равно 2147483647, в чем здесь проблема, уже не один день бьюсь... выручайте, заранее спасибо!

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 LightBlue
#property indicator_color2 Magenta

double CrossUp[];
double CrossDown[];
double Cur_Trend[];
int CurrentTrend = 0;
int starttime = 0;

int init()
  {
   IndicatorBuffers(3); 
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, CrossUp);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, CrossDown);
   SetIndexBuffer(2, Cur_Trend);
   starttime = TimeLocal(); 
   
   return(0);
  }


int deinit()
  {
   return(0);
  }


int start() {
   
   int limit, i, counter, loop;
   
   double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
   double Range, AvgRange;
   int counted_bars=IndicatorCounted();

   //---- check for possible errors
   if(counted_bars<0) return(-1);

   //---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;

   loop = 0;
   for(i = 0; i <= limit; i++) {
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;
       
      fasterEMAnow = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i);
      fasterEMAprevious = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
      fasterEMAafter = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

      slowerEMAnow = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i);
      slowerEMAprevious = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i+1);
      slowerEMAafter = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i-1);
      
      if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious) && (fasterEMAafter > slowerEMAafter)) {
         CrossUp[i] = Low[i] - Range*0.5;
         if ((loop == 0) && (CurrentTrend != 1))  {
            CurrentTrend = 1;
            Cur_Trend[0]= CurrentTrend;
            }

         if (loop == 0)  {
            loop = 1;
            }
      }
      else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious) && (fasterEMAafter < slowerEMAafter)) {
            CrossDown[i] = High[i] + Range*0.5;
         if ((loop == 0) && (CurrentTrend != -1))  {
            CurrentTrend = -1;
            Cur_Trend[0]= CurrentTrend;
            }

         if (loop == 0)  {
            loop = 1;
            }
       }
   }
   return(0);
}
 

Hola a todos.

Una persona más ha decidido sumergirse en la programación de EA))

Por favor, aconseje cómo implementar el tiempo de la EA, digamos de 0:00 a 0:15

Gracias de antemano))))

 

Bienvenidos a otra caída en picado...

limitar el tiempo de funcionamiento del asesor site:mql4.com

 
semiromid:


Tanto manualmente como desde el exterior.

1.Моментальное определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника) Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача, всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер, система вновь действует с пункта 1 по пункт 2 .


Es decir, ¿el momento de la apertura no importa si se abrió hace un minuto o dos?

El punto 2 no está claro. Todo es un poco vago.

La hora de apertura puede determinarse mediante OrderOpenTime().