[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 56

 
first_may:


是的,我同意,我念错了。在阅读帮助后,我决定这样写。

// 专家顾问可以在会议的每一天下订单
//在10-45岁至18-30岁期间
如果(Hour()>=10 && Minute()>=45 && Hour()<=18 && Minute()<=30)
{
...
}

这是检查时间的正确条件吗?


不,你根本不会用这个条件进行交易,因为Minute()>=45 &&Minute()<=30原则上是不可能的。

 
sergeev:

不,在这个条件下你根本不会交易,因为Minute()>=45 &&Minute()<=30原则上是不可能的。


所以,你不能把小时和分钟分开比较?因此,例如11-55对应于第一个条件,因为11>=10和55>=45,但不对应于第二个条件,因为11<=18和55<=30。虽然在现实生活中,11-55只是在10-45到18-30的时间间隔内。
 
first_may:

事实证明,我们不能把小时和分钟分开比较?例如,11-55适合第一个条件,因为11>=10,55>=45,但不适合第二个条件,因为11<=18,55<=30。虽然在现实生活中,11-55只是在10-45到18-30的时间间隔内。

你必须用例如StrToTime创建你的开始和结束时间。
 
sergeev:

你必须创建你自己的开始和结束时间,例如,StrToTime


在这里,使用最后已知的服务器时间,写道:
if (TimeCurrent()>=StrToTime("10:45") &&TimeCurrent()<=StrToTime("18:30")
{
...
}

现在11-55将落入10-45至18:30的区间?

 
first_may:

11-55岁的人现在会不会落在10-45岁和18-30岁之间?

是的。
 
sergeev:
是的。


非常感谢您!:)
 

人们,有了这些全局和局部变量,我就要开始赤脚跑来跑去吹麻雀了。伙计,我不明白为什么在这荒无人烟的地方会有这么多令人头疼的事情!?

int Orders=0;                          // Объявление глобальной еременной суммы ордеров
int start()                            // Спец. функция start
  {
     if (MA2_2<MA1_2 && MA2_1>MA1_1)  //Сигнал на пересечении МА
        {
          if (OrdersTotal()>= 1) 
              return(0);               //Если ордеров больше 1, уходим.
   
          SL = 30;                     // Стоп лосс
          TP = 12;                     // Тейк профит
          S_Price = Low[1] - 1* Point; // Уровень установки SELLSTOP
          if (OrderSend (Symbol(), OP_SELLSTOP, Lots, S_Price, 0, SL, TP, "My order", Magic)>0) // Установка
//ордера SELLSTOP. Если OrderSend возвращает больше 0, то выполняем следующее.
            {
               Orders++;               //Увеличить величину Orders на 1. 
               Alert ("Ордер выставлен.Orders = ",Orders ); //Вывод нового значения Orders.
            }
        }    
   return(0);                             // Выход из start()
  }
据我在MQL4教程中所知,现在全局变量 Orders的新值 应该等于1。下一次迭代应该是2,然后是3。然后4。以此类推,直到专家顾问下挂单。但我不明白为什么EA不下挂单!?在放置另一个待定的SELLSTOP订单后,每次我都只看到一条信息:订单=1!原因是什么呢?会不会是因为MetaEditor的原因?
 
vovan-gogan:

人们,有了这些全局和局部变量,我就要开始赤脚跑来跑去吹麻雀了。伙计,我不明白为什么在这荒无人烟的地方会有这么多令人头疼的事情!?

据我在MQL4教程中所知,现在全局变量Orders的新值应该等于1。下一次迭代应该是2,然后是3。然后4。以此类推,直到专家顾问下挂单。但我不明白为什么EA不下挂单!?在放置另一个待定的SELLSTOP订单后,每次我都只看到一条信息:订单=1!原因是什么呢?会不会是因为MetaEditor的原因?

原因是你在这个交易账户 上开了更多的市场订单。
 
Roman.:

原因是,你在这个交易账户上有更多的市场订单开立。

最可悲的是,这种情况发生在测试器中。EA下的是挂单,订单总是等于1。
 
vovan-gogan:

最可悲的是,这种情况发生在测试者身上。 专家顾问下的是挂单,订单总是等于1。

我猜你的问题措辞不正确。