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

 
Aquí,
int X=0;
double S = 0.0000;
extern double       lot=0.1;
extern double       koef=1.5;
extern int       SL=10;
extern int       TP=10;
double dl;
double a;

int init()
  {
  a=lot;
   return(0);
  }

int deinit()
  {

   return(0);
  }


int start()
 {   
               
              
              
                S=Open[0];
                Sleep(1000);
                
             
             if(OrdersTotal() == 0 && X==1)
              { 
              if (Close[0]>dl){lot=a;}
              X=0;
              }
              
              if(OrdersTotal() == 0 && X==2)
              { 
              if (Close[0]<dl){lot=a;}
              X=0;
              }
                
             
             
 
                   if (OrdersTotal() == 0 && Close[0]>S && Close[1]>Open[1]) 
                           {
                            dl=Close[0];
                            OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue); 
                            lot=lot*koef;
                            X=1;            
                           }
                   
                    if(OrdersTotal() == 0 && Close[0]<S && Close[1]<Open[1]) 
                           {
                            dl=Close[0];
                            OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
                            lot=lot*koef;
                            X=2;
                           }

   return(0);
 }
parece haber hecho todo como debe ser.
 
Hola, podrían decirme si es posible utilizar los valores del informe generado al probar las estrategias en el script. Por ejemplo, el beneficio que se muestra en la ficha del informe.
 
ALigarx:
Aquí, creo que he hecho todo como debe ser.
Creo que es suficiente con intercambiar las líneas
OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue);

и

OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red); 
 

Ayuda profesional.

Necesito una función que calcule el promedio de la dispersión, por ejemplo, hace 1 minuto, hace 3 minutos y hace 5 minutos. gracias.

 
T-G:

Ayuda profesional.

Necesito una función que calcule el promedio de la dispersión, por ejemplo, hace 1 minuto, hace 3 minutos y hace 5 minutos. gracias.


Para contarlo, también hay que almacenarlo.
 
Vinin:

Para contarla, también hay que almacenarla.
Para 3-5 min también puedes almacenarlo en variables. puedes contar cada minuto como un promedio del max-min, y luego almacenarlo en un promedio remediado de 1min o en un array.
 
T-G:
Para 3-5 min. también puedes hacerlo en variables. cuenta cada minuto como una media del max-min, y luego guárdalo en una media sobremedida de 1min o en un array.

Esto ha existido durante mucho tiempo. Y fue en el foro
 
Vinin:
Esto ha existido durante mucho tiempo. También ha estado en el foro.
Se puede tomar como base.
Archivos adjuntos:
 

Buenas tardes.

Un consejo para un novato.

Hay un guión de este tipo:

#property indicator_chart_window    // Индик. рисуется в основном окне
#property indicator_buffers 1       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии

double Buf_0[];     // Открытие индикаторных массивов
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
//--------------------------------------------------------------------
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
   double Arr_1[9999], temp_A;
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i];             // Значение 0 буфера на i-ом баре
      Arr_1[i]=Close[i]-Open[i];
      Alert(Arr_1[i]);
      i--;                          // Расчёт индекса следующего бара
     }
   ArraySort(Arr_1,WHOLE_ARRAY,0,MODE_DESCEND);
   temp_A=Arr_1[0];
   Comment(DoubleToStr("temp_A",8)," - ", Counted_bars);
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//--------------------------------------------------------------------

¿Por qué temp_A en Comment() sale como 0.00000000, pero Alert(Arr_1[i]) en el bucle sale como debería?

 

¿Cómo puedo solicitar mediante programación una descarga/actualización de la agenda?