[¡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.
[Eliminado]  
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.
[Deleted]  
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?