任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 271

 
tiiga:
不,这是我第二次遇到它,上次我只是忘记了它。


如果j没有在所有的函数中被初始化,也没有在任何地方被归零,那么它可能无法工作....。

j=0;

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

 
tiiga:
不,这是我第二次遇到它,上次我只是忘了它。
没有所谓的奇迹。给我看看整个周期。
 
如果你把它从0设置到例如3或更多,它可以工作,但到了1就不工作了,因为某些原因。
 
tiiga:
如果你从0到例如3或更多,它就能工作,但到1时,由于某种原因就不行了。
第二步:展示整个周期。
 

这是经更正的版本,可以使用

 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 );
               }
 

下午好,问题是这样的。让EA在某个时间间隔内进行交易,但它不起作用--它无视它。下面是代码。时间函数返回тру,交易不应该走,但它走了。可能的错误是什么?专家顾问中的数值是。

外部字符串 dark_TimeBegin = "23:30"。

外部字符串 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:

这是一个修订后的版本,可以使用。

是什么阻止了你这样的写作?

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

我选择了自由,这就是我问这个问题的原因。你能不能告诉一个新来的人,你不喜欢的合成材料是什么。
或者把我引到解释你不喜欢他们的那条线。谢谢你)。
使用合成材料的工作有一个微妙的特点。同样的 "机制 "在历史上和直接在实时中会形成不同的蜡烛图:而且TF越高,差异越大(在历史上我们不知道价格在蜡烛图中是如何移动的)。由此可见,对 "历史合成物 "的测试并不适用于 "真实合成物 "的交易。
 
VladislavVG:


"论 "是区域性的,乌克兰不是俄罗斯联邦的一部分。

"1993年,应乌克兰政府的要求, 进入乌克兰的 变种(以及分别 来自乌克兰的 变种本应被承认为规范性 。因此,在乌克兰政府看来,这些建筑 与乌克兰郊区 的词义联系,并不适合它,被打破 。乌克兰仿佛得到了其主权国家地位的语言确认, 因为在俄罗斯传统中,国家而非地区的名称是由介词 in)和 from 构成的 "(Graudina L. K., Itskovich V.A., Katlinskaya L.P. 俄语语音的语法正确性。莫斯科: Nauka, 2001.С.69).

虽然由于惯性,有些人继续着旧的传统。;)

这就是我的意思,在俄语中它是 "on",在乌克兰语中它可以是任何你喜欢的。弗拉迪斯拉夫,这是一种形式 - 它进入/不进入。乌克兰是俄罗斯的本土领土。它的居民都是俄罗斯人。没有必要进行区分,至少在论坛上是这样。无论有民族偏见的乌克兰人如何称呼自己,他们都将是俄罗斯人。根本不需要为此而争吵。有一个国籍--我们是俄罗斯人!有族裔群体(大俄罗斯人、小俄罗斯人、白俄罗斯人)。

VOLDEMAR:


它没有改变,但它是不正确的,我们不说去加拿大、芬兰、印度,我们说去加拿大,在中国,所以它适用于乌克兰......

介词NA在我们的信息中比较常见,如go NA... ))))

我不知道它是从哪里来的。俄语中到处都是 "到乌克兰"。很可能是因为 "乌克兰 "这个词的词源==在边缘。

 
Zhunko:

这就是我要说的,在俄语中是 "on",在乌克兰语中可以是任何你喜欢的。弗拉迪斯拉夫,进入/不进入是一种形式。乌克兰是俄罗斯的本土领土。它的居民都是俄罗斯人。没有必要进行区分,至少在论坛上是这样。无论有民族偏见的乌克兰人不叫自己,他们都将是俄罗斯人。根本不需要为此而争吵。有一个国籍--我们是俄罗斯人!有一些民族(大俄罗斯人、小俄罗斯人、白俄罗斯人)。

我不知道它是从哪里来的。俄语中的每一个地方都是 "到乌克兰"。很可能是因为 "乌克兰 "这个词的词源==在边缘。

所有的大惊小怪是怎么回事?我们都是斯拉夫人。只有乌克兰作为一个国家不愿意承认这一点。他们是他妈的乌克兰人。

而一般来说--这种话题属于刺猬本身。