Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 271

 
tiiga:
No, es la segunda vez que me lo encuentro, la última vez me olvidé de ello.


Puede que no funcione si j no se inicializa en todas las funciones y no se pone a cero en ningún sitio .... prueba esto

j=0;

for(j=0; j<=1; j++)

 
tiiga:
No, es la segunda vez que me lo encuentro, la última vez me olvidé de él.
Los milagros no existen. Muéstrame el ciclo completo.
 
Si lo ajustas de 0 a, por ejemplo, 3 o más, funciona, pero hasta 1 no lo hace por alguna razón
 
tiiga:
Si haces 0 hasta, por ejemplo, 3 o más, funciona, pero hasta 1 no lo hace por alguna razón.
Toma dos: muestra el ciclo completo.
 

esta es la versión corregida que funcionó

 if (true)
               { //Alert("добавляем стаки покупки",totalstack );
               for(int g=0; g<=genofond; g++)
                //  for(j=0; j<=1; j++)
                    {  
                     if (check[g]==1){
                     if (stacked[g][1]!=1)//
                      {  
                    //    if (j==1)
                   //     {
                           totalstack+=1;
                           if (totalstack<=maxstack)
                              {
                                 for(i=1; i<=maxstack; i++)
                                    {
                                       if (istackstart[i][1]==0)
                                          {
                                             break;
                                          }
                                    }
                              }
                            else
                              {
                                maxstack+=1;
                                i=maxstack;
                              }  
                           ArrayResize(istackstart, maxstack+1);
                           ArrayResize(pstackstart, maxstack+1);
                           
                           istackstart[i][1]=del[g];
                           istackstart[i][2]=g;
                           istackstart[i][3]=j;
                          
                           pstackstart[i][1]=Bid;
                           pstackstart[i][2]=1;   //buy
                           stacked[g][j]=1;
                           Print("добавляем стаки покупки ",totalstack,"  ",maxstack );
                           }
                     //   }
                  //      else
                    //       {
                    if (stacked[g][0]!=1)//
                      {  
                           totalstack+=1;
                            if (totalstack<=maxstack)
                              {
                                 for(i=1; i<=maxstack; i++)
                                    {
                                       if (istackstart[i][1]==0)
                                          {
                                             break;
                                          }
                                    }
                              }
                            else
                              {
                                maxstack+=1;
                                i=maxstack;
                              } 
                        ArrayResize(istackstart, maxstack+1);
                        ArrayResize(pstackstart, maxstack+1);
                       istackstart[i][1]=del[g];
                        istackstart[i][2]=g;
                       istackstart[i][3]=j;
                      
                        pstackstart[i][1]=Bid;
                        pstackstart[i][2]=-1; //sell
                        stacked[g][j]=1;
                        Print("добавляем стаки покупки ",totalstack,"  ",maxstack );
                          
                     }//скобка отпроверки стка
                    }//скобка от чека
                   }//скобка от двойного цикла 
                   //  Alert("добавили стаки покупки",totalstack );
               }
а вот это не рабочий вариант
   
    if (true)
               { //Alert("добавляем стаки покупки",totalstack );
               for(int g=0; g<=genofond; g++)
                  for(j=0; j<=1; j++)
                    {  
                     if (check[g]==1){
                     if (stacked[g][j]!=1)//
                      {  
                        if (j==1)
                        {
                           totalstack+=1;
                           if (totalstack<=maxstack)
                              {
                                 for(i=1; i<=maxstack; i++)
                                    {
                                       if (istackstart[i][1]==0)
                                          {
                                             break;
                                          }
                                    }
                              }
                            else
                              {
                                maxstack+=1;
                                i=maxstack;
                              }  
                           ArrayResize(istackstart, maxstack+1);
                           ArrayResize(pstackstart, maxstack+1);
                           
                           istackstart[i][1]=del[g];
                           istackstart[i][2]=g;
                           istackstart[i][3]=j;
                          
                           pstackstart[i][1]=Bid;
                           pstackstart[i][2]=1;   //buy
                           stacked[g][j]=1;
                           Print("добавляем стаки покупки ",totalstack,"  ",maxstack );
                        }
                        else
                           {
                           totalstack+=1;
                            if (totalstack<=maxstack)
                              {
                                 for(i=1; i<=maxstack; i++)
                                    {
                                       if (istackstart[i][1]==0)
                                          {
                                             break;
                                          }
                                    }
                              }
                            else
                              {
                                maxstack+=1;
                                i=maxstack;
                              } 
                        ArrayResize(istackstart, maxstack+1);
                        ArrayResize(pstackstart, maxstack+1);
                       istackstart[i][1]=del[g];
                        istackstart[i][2]=g;
                       istackstart[i][3]=j;
                      
                        pstackstart[i][1]=Bid;
                        pstackstart[i][2]=-1; //sell
                        stacked[g][j]=1;
                        Print("добавляем стаки покупки ",totalstack,"  ",maxstack );
                           }
                     }//скобка отпроверки стка
                    }//скобка от чека
                   }//скобка от двойного цикла 
                   //  Alert("добавили стаки покупки",totalstack );
               }
 

Buenas tardes, este es el problema. Hice el EA para operar en un determinado intervalo de tiempo, pero no funciona - lo ignora. Aquí está el código. La función de tiempo devuelve tru, y el comercio no debería ir, pero lo hace. ¿Cuál puede ser el error? Los valores en el Asesor Experto son:

cadena externa dark_TimeBegin = "23:30";

cadena externa dark_TimeEnd = "01:00";
bool isTradeTimeString(string tb = "00:00", string te = "00:00") 
{
  datetime dtBegin, dtEnd;        // Время начала и окончания работы
  int      hc, he;                // Часы текущего времени и окончания работы

  dtBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+tb);
  dtEnd  =StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+te);
  hc     =TimeHour(TimeCurrent());
  he     =TimeHour(dtEnd);
  if (dtBegin>=dtEnd) 
  {
    if (hc>=he) dtEnd+=24*60*60; else dtBegin-=24*60*60;
  }

  if (TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd) return(True);
  else return(False);
}
   if(isTradeTimeString(dark_TimeBegin, dark_TimeEnd) == true)
   {  if(((CountBuy() > 0) || (CountSell() > 0)) && (NormalizeDouble(MarketInfo(Symbol(), 13) ,0) <= trade_spread))
      {
      dark_Close_Sell();
      dark_Close_Buy();
      //Order_limit();
      }
   }
      if(isTradeTimeString(dark_TimeBegin, dark_TimeEnd) == false)
         {
            if((isTrade(time_start_last_new, time_end_last_new) == false) && ((CountBuy() > 0) || (CountSell() > 0)) && (NormalizeDouble(MarketInfo(Symbol(), 13) ,0) <= trade_spread))
            {
               Close_Sell();
               Close_Buy(); 
               //Order_limit();
            }
            if((isTrade(time_start_last_new, time_end_last_new) == true) && (NormalizeDouble(MarketInfo(Symbol(), 13) ,0) <= trade_spread))
            {
               Order_send();
               Close_Sell();
               Close_Buy();               
            }
         }

      Order_limit();
 
tiiga:

es una versión revisada que funciona.

¿Qué le impide escribir así?

for(int g=0; g<=genofond; g++)
   Print("Перед циклом j = "+j);
   for(j=0; j<=1; j++) {  
      Print("В цикле j = "+j);
      if (check[g]==1) {
 
Elleremo:

He elegido la libertad y por eso he hecho la pregunta. Serías tan amable de decirle a un recién llegado cuál es tu aversión a los sintéticos,
o remítame al hilo que explica su aversión a ellos. Gracias).
Hay una sutileza en el trabajo con sintéticos. El mismo "mecanismo" en el historial y directamente en tiempo real construirá velas diferentes: y cuanto mayor sea el TF, mayor será la divergencia (en el historial no sabemos cómo se ha movido el precio dentro de la vela). De ello se desprende que las pruebas sobre "sintéticos históricos" no son aplicables a la negociación sobre "sintéticos reales".
 
VladislavVG:


"On" es regional, y Ucrania no forma parte de la Federación Rusa.

"En 1993, a petición del Gobierno de Ucrania, las variantes hacia Ucrania (y respectivamente desde Ucrania) deberían haber sido reconocidas como normativas . Así, en opinión del Gobierno de Ucrania, se rompió la conexión etimológica de las construcciones con Ucrania y conlas afueras, que no le convenían . Ucrania como si recibiera la confirmación lingüística de su condición de estado soberano, porque los nombres de los estados y no de las regiones se forman en la tradición rusa con las preposiciones en (en) y de..."(Graudina L. K., Itskovich V. A., Katlinskaya L. P. Corrección gramatical del discurso ruso. Moscú: Nauka, 2001. С. 69).

Mientras que por inercia algunos continúan la vieja tradición. ;)

A esto me refiero, que en ruso es "on", en ucraniano puede ser lo que quieras. Vladislav, es una formalidad - entra / no entra. Ucrania es un territorio nativo de Rusia. Está poblada por rusos. No es necesario hacer una distinción, al menos en el foro. Los ucranianos de tendencia nacional, se llamen como se llamen, seguirán siendo rusos. No hay ninguna necesidad de discutir al respecto. Hay una nacionalidad: ¡somos rusos! Hay etnias (grandes rusos, pequeños rusos, rusos blancos).

VOLDEMAR:


No ha cambiado, pero no es correcto, no decimos ir a CANADÁ, FINLANDIA, INDIA, decimos ir a CANADÁ, EN CHINA, por lo que se aplica a Ucrania ...

La preposición NA es más común en nuestros mensajes como go NA... ))))

No sé de dónde salió. En todas partes en el idioma ruso es "a Ucrania". Lo más probable es que se deba a la etimología de la palabra "Ucrania" == en el borde.

 
Zhunko:

Eso es lo que digo, que en ruso es "on", en ucraniano puede ser lo que quieras. Vladislav, es una formalidad entrar/no entrar. Ucrania es un territorio nativo de Rusia. Está poblada por rusos. No es necesario hacer una distinción, al menos en el foro. Los ucranianos de tendencia nacional, se llamen como se llamen, seguirán siendo rusos. No hay ninguna necesidad de discutir al respecto. Hay una nacionalidad: ¡somos rusos! Hay etnias (los grandes rusos, los pequeños rusos, los rusos blancos).

No sé de dónde salió. En todas partes en el idioma ruso es "a Ucrania". Lo más probable es que se deba a la etimología de la palabra "Ucrania" == en el borde.

¿A qué se debe todo este alboroto? Todos somos eslavos. Sólo que Ucrania, como Estado, no quiere admitirlo. Son malditos ucranianos.

Y en general, estos temas pertenecen al propio erizo.