Errores, fallos, preguntas - página 1466

 
Комбинатор:
skype:login_contacto?chat

es mejor decirlo así )

skype:login_contacto?llamada

 
Alexandr Bryzgalov:

es mejor decirlo así )

skype:login_contacto?llamada

Creo que estoy recibiendo llamadas todo el tiempo. Es un marcador automático de mi perfil, mejor cambiarlo al chat
 
El terminal web ha perdido su cuenta. Registré mi cuenta real hace 3-4 días, todo estaba bien. Y entonces miré, no hay cuenta. Ninguna. No pide el nombre de usuario ni la contraseña, nada en la pestaña "Cuentas comerciales" del perfil de usuario del foro MQL...
 

quería encontrar en el indicador estocástico las dos últimas entradas a través de las líneas de niveles de subida y bajada, tres entradas se visualizan normalmente y guardan sus valores y la cuarta no funciona correctamente se pone a cero al salir de la zona inferior dime cual es el error

//--- находим индекс бара вход в верхняя зону
   for(n=0; n<(Bars-1);n++)
     {
       if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)<up_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) >up_level )
    //     break;
      UpLevel_1=n+1;
         
     }
//--- находим индекс бара второго ближайшего входа верхний уровень
  // for(n= UpLevel_1+1; n<(Bars-1);n++)
     {
      if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)<up_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) >up_level )
      //   break;
      UpLevel_2=n+1;
      UpperPrice_2=iHigh(Symbol(),PERIOD_CURRENT,UpLevel_2);
     
     }
//--- находим индекс бара первого ближайшего входа нижний уровень
  for(n=0; n<(Bars-1);n++)
     {
     if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)>dw_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) <dw_level )  
         break;
      DwLevel_1=n+1;
      LowerPrice_1=iLow(Symbol(),PERIOD_CURRENT,DwLevel_1);
     }
//--- находим индекс бара второго ближайшего входа нижний уровень
   for(n=DwLevel_1+1; n<(Bars-1);n++)
     {
       if(iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n)>dw_level && iStochastic(Symbol(),0,5,3,3,MODE_SMA,1,0,n-1) <dw_level )
         break;
      DwLevel_2=n+1;
      LowerPrice_2=iLow(Symbol(),PERIOD_CURRENT,DwLevel_2);
      Comment("вход верхняя зона" + DoubleToStr(UpLevel_1,0)+ "\n" + // работает правельно показания сохраняет
              "предыдущий вход верхняя зона" + DoubleToStr(UpLevel_2,0)+ "\n" + // работает правельно показания сохраняет
              " вход нижняя зона" + DoubleToStr(DwLevel_1,0)+ "\n" +  //работает неправельно обнуляет показания когда выходит из нижней зоны
              " предыдущий вход нижняя зона" + DoubleToStr(DwLevel_2,0)); // работает правельно показания сохраняет
     }
 
Mikhail Lebedev:

Quería encontrar en el indicador estocástico las dos últimas entradas a través de las líneas de nivel hacia arriba y hacia abajo, tres entradas se muestran con normalidad y guardan sus valores y la cuarta no funciona correctamente se pone a cero al salir de la zona inferior dime que pasa

He hecho un script rápido para dar un ejemplo:

//+------------------------------------------------------------------+
//|                                         FindStochasticSignal.mq4 |
//|              Copyright 2015, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int      PeriodK=5;                       // Period %K Stochastic
int periodK=(PeriodK<1)?1:PeriodK;
input int      PeriodD=3;                       // Period %D Stochastic
int periodD=(PeriodD<1)?1:PeriodD;
input int      SlowingStc=3;                    // Slowing Stochastic
int slowingStc=(SlowingStc<1)?1:SlowingStc;
input ENUM_MA_METHOD MA_Method=MODE_SMA;        // MA Method Stochastic
input ENUM_STO_PRICE AppledPrice=STO_LOWHIGH;   // Appled Price Stochastic
input double LevelUP=70.0;                      // Up level Stochastic
input double LevelDN=30.0;                      // Down level Stochastic
input int      NumberCross=4;       // Number of Cross stochastics level
int numberCross=(NumberCross<1)?1:NumberCross;
//--- Arrays
double MassiveCrossUP[][2];
double MassiveCrossDN[][2];
MqlRates rates[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int bars=iBars(Symbol(),Period());
   if(CopyRates(Symbol(),PERIOD_CURRENT,1,bars-1,rates)>0) {
      ArraySetAsSeries(rates,true);
      int nup=0, ndn=0;
      ArrayResize(MassiveCrossUP,nup,numberCross);
      ArrayResize(MassiveCrossDN,ndn,numberCross);
      for(int i=1; i<Bars; i++) {
         double StochMain0=GetDataSTO(Symbol(),Period(),periodK,periodD,slowingStc,MA_Method,AppledPrice,MODE_MAIN,i);
         double StochMain1=GetDataSTO(Symbol(),Period(),periodK,periodD,slowingStc,MA_Method,AppledPrice,MODE_MAIN,i+1);
         if(nup>numberCross && ndn>numberCross) break;
         if(StochMain0<LevelUP && StochMain1>=LevelUP) {
            nup++;
            if(nup<=numberCross) {
               ArrayResize(MassiveCrossUP,nup);
               MassiveCrossUP[nup-1][0]=int(rates[i].time);
               MassiveCrossUP[nup-1][1]=rates[i].high;
               }
            }
         if(StochMain0>LevelDN && StochMain1<=LevelDN) {
            ndn++;
            if(ndn<=numberCross) {
               ArrayResize(MassiveCrossDN,ndn);
               MassiveCrossDN[ndn-1][0]=int(rates[i].time);
               MassiveCrossDN[ndn-1][1]=rates[i].low;
               }
            }
         }
      }
   //---
   string text_up_crossing="Пересечения сверху-вниз:\n", text_dn_crossing="Пересечения снизу-вверх:\n";
   for(int i=0; i<ArrayRange(MassiveCrossUP,0); i++) {
      string date_cross=TimeToString(int(MassiveCrossUP[i][0]));
      string value_cross=DoubleToString(MassiveCrossUP[i][1],Digits());
      string txt_i="\n"+IntegerToString(i+1)+"-е пересечение уровня "+DoubleToString(LevelUP,1)+", время бара "+date_cross+", цена High свечи: "+value_cross;
      text_up_crossing+=txt_i;
      }
   text_up_crossing+="\n====================\n";
   for(int i=0; i<ArrayRange(MassiveCrossDN,0); i++) {
      string date_cross=TimeToString(int(MassiveCrossDN[i][0]));
      string value_cross=DoubleToString(MassiveCrossDN[i][1],Digits());
      string txt_i="\n"+IntegerToString(i+1)+"-е пересечение уровня "+DoubleToString(LevelDN,1)+", время бара "+date_cross+", цена Low свечи: "+value_cross;
      text_dn_crossing+=txt_i;
      }
   Comment(text_up_crossing+text_dn_crossing);
  }
//+------------------------------------------------------------------+
double GetDataSTO(string sy, int timeframe, int k_period, int d_period, int slowing, ENUM_MA_METHOD ma_method, ENUM_STO_PRICE price_field, int mode, int pos) {
   return(iStochastic(sy,timeframe,k_period,d_period,slowing,ma_method,price_field,mode,pos));
}
//+------------------------------------------------------------------+
 
Gracias por el script hasta ahora parece matemáticas superiores para un niño de primer grado aún no he aprendido a trabajar con arrays. Encontré un error en mi código tuve que insertar otros datos de la barra en el bucle y todo funcionó como debería
for(n=1; n<(Bars-2);n++)
 

No consigo que la nueva ventana del gráfico se abra al menos hasta la mitad. Cuando hago clic con el botón derecho del ratón en cualquier instrumento de la ventana de Market Watch y selecciono el comando "Ventana de gráfico", el gráfico se abre de forma incompleta:

Gráfico a medio tamaño

¿Cómo puedo superar esto?

 
Karputov Vladimir:

No consigo que la nueva ventana del gráfico se abra al menos hasta la mitad.

Estoy seguro de que los desarrolladores lo arreglarán.

Mientras tanto, es necesario tener otro gráfico de cualquier instrumento en estado de colapso. Es decir, abre el USDJPY, lo expande manualmente y luego lo minimiza manualmente. Después de eso, puede abrir cualquier gráfico deseado y estará en la ventana completa.

Probablemente ya lo sepa.

 

En las últimas versiones de MT4 cuando se utiliza el modo portátil no hay posibilidad de iniciar MetaEditor - escribí al servicio técnico, pero no hubo una respuesta comprensible.

Si se ejecuta el propio exe en la carpeta con MT4, MetaEditor se carga con el entorno en la carpeta AppData para Windows, si se pulsa "cambiar experto" en el terminal, sucede lo mismo, y antes se cargaba desde la carpeta, donde se lanzaba el terminal en el modo portátil.

 

Registro de una sola ejecución de un Asesor Experto vacío en el probador de MT4 utilizando precios de apertura:

112972 tick events (113071 bars, 225205 bar states) processed in 0:00:00.016 (total time 0:00:05.039)

Puedes ver en el registro que el propio EA pasa el historial en tiempo cero. Tarda cinco segundos en preparar los datos históricos (algo más de 100K barras). Esto no ha ocurrido nunca antes.

Funciona el 100% de las veces. MT4 build 950, Windows7 SP1 x64.

¿Puede usted aconsejar que la construcción extrema no sufre de esta dolencia. Se requiere DOWNGRADE.

Razón de la queja: