新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 368

 
msl271170: 教会如何在新的蜡烛出现时停止专家顾问并启动它。

在终端中有一个 Moving Average.mq4的例子--它有这个。

//--- go trading only for first tiks of new bar
   if(Volume[0]>1) return;

我在另一个人身上看到了它。

datetime LastTime;  // Время начала тика для побарного режима
void OnTick()
{
  if (Time[0] == LastTime) return;
  LastTime = Time[0];
........
}
 
msl271170: 我知道MT5有不同的编程语言。我的代码在那里会不会不起作用?

使用MT4Orders - MetaTrader 5的库

 

我想弄明白CopyTime,但我不明白为什么DayData[]没有填进去(我想看到日期四舍五入到全天)。我在下面添加了一个例子,如果有人发现错误,请指出或纠正。

datetime Data[3]={D'2017.09.22 08:05',D'2017.09.22 10:05',D'2017.09.22 12:05'};
int count=0;
datetime DayData[];
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   count++;
   
   if(count<4)
     {
      int copied=CopyTime(NULL,PERIOD_D1,Data[count-1],1,DayData);
      ArrayResize(DayData,count);
      Print("0 Data[",count-1,"]= ",Data[count-1]," DayData[count-1]= ",DayData[count-1]); // 1 control
     }

   for(int i=0; i<ArraySize(DayData);i++)
      Print("1 Data[",i,"]= ",Data[i]," DayData[i]= ",DayData[i]);  // 2 control

  }
//+------------------------------------------------------------------+
 

一整页的空帖(论坛错误)。不得不删除。

 

祝大家今天愉快


我正在从Evgeniy Zhdanov的书中逐渐学习mql4。

它描述了一个信封的例子,Zigzag的应用。

那里描述了iCustom和iEnvelopes函数来接收信封 和ZigZag指标 数据。

你能建议在哪里找到信息和了解数据吗--比起描述其他指标,你能建议吗?

也许有一个资源链接可以让我了解哪些功能是由哪些指标描述的?

或者这一切都在帮助中?

在此,我真诚地表示感谢!

 
Список функций языка MQL4 - Справочник MQL4
Список функций языка MQL4 - Справочник MQL4
  • docs.mql4.com
Читает из файла типа CSV строку одного из форматов: "YYYY.MM.DD HH:MM:SS", "YYYY.MM.DD" или "HH:MM:SS" - и преобразует ее в значение типа datetime
 
Taras Slobodyanik:

见iRsi和iBands

https://docs.mql4.com/ru/function_indices


非常感谢您!


拿到了我的潜水装备,去潜水了!

 

还有这个问题。

以下是专家顾问的规定

如果ZigZag少于两个Envelopes--打开购买。

如果ZigZag大于两个Envelopes - 打开Sell。

然后,如果EA开了一个订单--用某某止损和某某止损来修改该订单。

编译中没有错误。

问题就在这里,无论我怎么测试,策略测试器 总是打开第一个买入订单,测试器顽固地拒绝修改。此外,所有的订单只为卖出而开,这些订单经过完美的修改,不会造成任何问题。

代码中是否有某种错误?

还是说这是测试器的一个功能?我总是从我选择的任何日期 "使用日期 "开始,而且第一个购买的订单总是不可修改的。然后,我所有的卖出订单都被修改了,而且工作正常。

我还没有找到任何有关这方面的信息。

谢谢您的关注!

 

为什么测试器在以下情况下会产生不同的结果

extern bool Tral =true;

...

void OnTick()

{

    if (Tral)Trailing();....

而如果Tral没有被转移到外部变量,而只是使用相同的函数与相同的变量。

void OnTick()

{

   Trailing();


 
RichLux:

为什么在....,测试器会给出不同的结果

尝试:

input bool Tral =true;

...还是你真的需要extern?