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

 
ILL:
Todos los sitios web ((((
Lo siento, me he confundido - deberías poner 1 ahí, entonces será correcto. Me refiero a que el precio de Cierre/Close en el gráfico coincidirá con el precio en la función.
 
khorosh:
Lo siento, me he confundido - tienes que poner el 1 ahí, entonces será correcto. Me refiero a que el precio de Cierre/Close en el gráfico coincidirá con el precio en la función.

¡HOORAY! ¡¡¡¡Está trabajando!!!!

¡Muchas gracias!

 

Compruébalo.

//+------------------------------------------------------------------+
//| скорость.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern double razniza=20;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
double HIGH;double LOW;
int start()
{ HIGH=iHigh( NULL, PERIOD_M1, 0) ;
LOW=iLow( NULL, PERIOD_M1, 0);if (HIGH-LOW>razniza*Point || LOW-HIGH<0-razniza*Point)
Alert("Движение!!!",Symbol() );



// PERIOD_M1;PRICE_HIGH;PRICE_LOW;double High[];iHigh( NULL, PERIOD_M1, 0) ; iLow( string symbol, int timeframe, int shift) ;

//----

//----
return(0);
}
//+------------------------------------------------------------------+
 
Dimka-novitsek:

Compruébalo.

¡Vaya!
 
¡¡¡¡¡Gracias!!!!!
 
Zhunko:

Bueno, ¡por fin! Léalo aquí. Sólo en el Asesor Experto y en las funciones de inicio de los scripts con espera. En todos los demás lugares está estrictamente prohibido.

Su código no se ajusta a los estándares de MQL4. Además, en alguna parte se ha escrito que el tiempo de espera en las funciones ininit y deinit durante una llamada al sistema está limitado a 2,5 segundos. Entonces, la función se termina forzosamente.

Todo funciona. Aquí está el código del minisistema en tiempo real. Fuera de la función start(). Aunque por supuesto no es principal ponerlo en init().

A continuación se muestra el código comprobado en el terminal de trabajo; la orden se abre y todas las alertas se escriben en la ventana de mensajes. La función Sleep() también

La función Sleep() también funciona bien. Lo he comprobado con un tiempo de espera de 30 segundos - Sleep(30000). Aunque esta espera es absolutamente innecesaria, 50 ms son suficientes.

//--- input parameters
  extern int       int10 = 10; // вызов процедуры каждые 10 сек.
  extern int       int30 = 30; // вызов процедуры каждые 30 сек.
  extern int       int60 = 60; // вызов процедуры каждые 60 сек.                

  int  orders; // кол-во открытых ордеров

int init()
  {
   bool end = 1; // для завершения работы установить в false
   
   bool f_int10 = 1; // флаг разрешающий прерывание int10
   bool f_int30 = 1; // флаг разрешающий прерывание int30
   bool f_int60 = 1; // флаг разрешающий прерывание int60
   
   
   int  St_Time_10; // стартовое время отсчета 10 сек;
   int  St_Time_30; // стартовое время отсчета 30 сек;
   int  St_Time_60; // стартовое время отсчета 60 сек;
   
   St_Time_10 = TimeLocal();
   St_Time_30 = TimeLocal();
   St_Time_60 = TimeLocal();
   
   

//-----------------------------основной цикл программы--------------------------------
   while(end)
     {
       Sleep (50);
       if ((TimeLocal()==(St_Time_10 + int10))&&f_int10) {St_Time_10 = TimeLocal(); Call_int10();}
       if ((TimeLocal()==(St_Time_30 + int30))&&f_int30) {St_Time_30 = TimeLocal(); Call_int30();}
       if ((TimeLocal()==(St_Time_60 + int60))&&f_int60) {St_Time_60 = TimeLocal(); Call_int60();}
       RefreshRates();
      }  
   return(0);
  }
//-----------------------------конец основного цикла----------------------------------
//--------------------процедура вызываемая по прерыванию int10------------------------
  void Call_int10()
        {
          Alert ("Прерывание = 10 сек. Котировка >>>>", Close[0]);
        }
//------------------------------------------------------------------------------------
//--------------------процедура вызываемая по прерыванию int30------------------------
  void Call_int30()
        {
        Alert ("Прерывание === 30 сек.  В резерве.");
        }
//------------------------------------------------------------------------------------
//--------------------процедура вызываемая по прерыванию int60------------------------
  void Call_int60()
 {
        Alert ("Прерывание ===== 60 сек");
        if (orders!=0) return;
        if (OrdersTotal( ) == 0) {
            OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
            int ticket = OrderSend(Symbol(), OP_BUY, 0.01, Ask, 3, 0, 0, "from init()",123,Blue);
                              if (ticket<0)
                                       {
                                         Alert("OrderOpen BUY failed, with error #",GetLastError()); return;
                                       }      
        Alert (" Открытие ордера BUY из init() прошло успешно");                 
        orders++;              
                                  }
 }
//------------------------------------------------------------------------------------
//---------------------------эти функции не используются------------------------------
int start()  {return(0);}
//--------------------------------------------
int deinit() {return(0);}
//--------------------------------------------
 

Pregunta sobre las matrices.

Hay tres matrices unidimensionales:

1. закрытие бара

Close[i]={Close_1,Close_2,...,Close_i};

2. открытие бара

Open[i]={Open_1,Open_2,...,Open_i};

3. его индекс

Index[i]={1, 2, ..., i};

Задача: необходимо организовать двумерный массив mas[i,2], отвечающий условиям

mas[i,0]= |Close_i-Open_i|;

mas[i,1]=i;

Как это правильно сделать?

Por favor, ayúdenme con esta pregunta.
 
Tengo el siguiente problema, ayer me registré en MT4, empecé a familiarizarme y a experimentar en demo. Decidí seguir estudiando MT4 en la mañana, pero el gráfico se detuvo a la hora del 6 de mayo 23:57, no intenté reiniciar la computadora o reinstalar el programa, ¿qué hacer?
 

Arthibald:
1. У меня такая проблема, вчера зарегистрировался на МТ 4, начал ознакамливатся и эксперементировать на демо. С утра решил продолжить изучать МТ4, но графики остановились на отметке времени 6 мая 23:57, ни помогает ни перезагрузка компа, не переутановка программы,...

2.... ¿qué hacer?


1. El mundo se ha derrumbado, el mercado ha subido - mira el día de la semana... :-)) TODA LA GENTE NORMAL TIENE EL FIN DE SEMANA LIBRE... :-)))

2. descansar... :-)))

 
Roman.:


1. El mundo se ha derrumbado, el mercado ha subido - mira el día de la semana...:-)) TODA LA GENTE NORMAL TIENE EL FIN DE SEMANA LIBRE... :-)))

2. descansar...:-)))

Gracias :-) Supongo que me he librado, pero es lo que hay).