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

 
最大的滑移值是多少?
 
joo:
尝试了不同的项目--同样的问题。
添加一个.def文件。在这方面,MT5和MT4有很多区别,而且是更好的区别。
 
TheXpert:
添加一个.def文件。在这方面,MT5和MT4有很多区别,而且是更好的区别。

添加了它,没有帮助。

 

大家好。你能告诉我如何将int变量转换为字符串,使字符串的长度总是相同的--2个字符(只是我有不同的两位数和一位数,这很烦人)。建议从哪些方面入手,我不要求具体的解决方案:)提前感谢。


PS:原则上,你可以做(如果x<10)并在左边加一个零,但也许有一些内置的数据转换 功能?

 
joo:

添加了它,没有帮助。

可能是没有正确添加。
 

朋友们,告诉我我的逻辑是什么?

一句话。

 bool signal_MACD() 
  { 
    bool signal_MACD = false; //изначально сигнал стоит false
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); //это текущий бар MACD
    for(int i=1;i<=7;i++) //цикл for первый
    { 
      for(int j=2;j<=7;j++) //цикл for второй (я подозреваю, что именно в for у меня ошибка)
      {
            if((iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,j)*tmp)>0.0) //если текущий бар MACD находится по одну сторону с одним из баров MACD, сдвинутых на 2 назад
            { 
              if((iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp)<0.0) //если текущий бар MACD находится по разные стороны с одним из баров MACD, сдвинутых на 1 назад

              {
            
                 signal_MACD = true; 
                 break; 
            
              }   
            } 
      }      
    } 
    return(signal_MACD);
  } 

即MACD曾在0的一边,然后在另一边结束,又回来了。MACD算是突破了零线,回来了...但在策略测试器中,它甚至不接近......问题是...为什么?

 
nadya:
最大的滑移值是多少?

你需要多少钱?


Pyro

大家好。你能不能建议如何将int变量转换为字符串,使字符串的长度总是相同的--2个字符(只是她我有不同的发生和两位数和单值,而且很烦人)。 建议从什么运行,我不要求具体的解决方案:)提前感谢。


PS:基本上,你可以做(如果x<10),然后在左边加一个零,但也许有一些内置的数据转换功能?

我总是这样做。
 
nemo811:
我不是在笑...

只是在一天中的不同时间和不同日子里的价差可能非常不同。因此,这不是一件可笑的事情。
 
prorab:

我对可编辑的文件<indicator.mq4>做了一些处理,要么把它移到某个地方,要么把它复制到一个不同的名字下,但在编译后,在终端的指标列表中,这个名字变成了灰色,不活跃。

然而,该指标可以通过 "列表树 "左侧窗口栏中的侧面菜单获得,并被拖到图表上。

如果你遇到过这种情况,请告知如何补救?

真诚的。

你不会相信的!

原因很平庸--<指标>文件夹里有太多的指标!

一旦我把不必要的*.mq4移到<Arxiv>,把文件夹中的指标数量减少2/3,一切都能正常工作。

谁会想到呢?

 
CLAIN:

朋友们,告诉我我的逻辑是什么?

一句话。

即MACD曾在0的一边,然后在另一边结束,又回来了。MACD算是突破了零线,回来了...但策略测试器甚至没有接近......问题是...为什么?

for(int i=1;i<=7;i++) //цикл for первый
    { 
      for(int j=2;j<=7;j++) //цикл for второй (я подозреваю, что именно в for у меня ошибка)

之后,打印i和j的值,看看会发生什么。

我假设我们需要将第二个循环修正为

for(int j=i+1;j<=7;j++)