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

 
fxsaber:

谢谢你,虽然我不明白这里的一切。

特别是,实际从文件中读取的是什么?

还有,为什么文档中描述的可以处理csv文件的函数实际上并不能处理它们?

 
MakarFX:

在这种情况下,警报窗口并没有打开。

这不是真的。我最近刚向鼓手问了一个问题......而他利用他的官职,因为我问了这个问题而禁止我一周。你想让我问你同样的问题吗?

因为我用黑色的俄文写道:"ps:我检查了一切"。 谁又禁止你在发表这种言论之前进行检查?

 
Yurixx:

谢谢你,虽然我不明白这里的一切。

特别是,实际从文件中读取的是什么?

还有,为什么文档中描述的可以处理csv文件的函数实际上并不能处理它们?

据我所知,它们可以工作,但在文件中移动指针时有问题。

 

Alexey Viktorov:

因为我用黑色的俄文写道:"ps:我已经检查了一切"。 谁又禁止你在发表这种言论之前进行检查?

你是上帝!决定是如此简单,你什么都没说。

谢谢你。

 
Alexey Viktorov:

据我所知,它可以工作,但在文件中移动指针时有问题。

事实证明,MQL5比MQL4要严格得多。

FileOpen()中的分隔符参数必须是短类型的,并且只能用单引号 来指定其值。

此外,函数标志必须包含对FILE_ANSI或FILE_UNICODE文件类型的引用。

否则,像我的情况一样,该函数将把整个csv文件存储在一个标量变量中。

 

谁对这个问题有更多的发言权https://www.mql5.com/ru/forum/160683/page1054#comment_14760155 。 据我所知,你不能把局部结构传入函数,它们在整个函数中总是可见的https://www.mql5.com/ru/forum/160683/page1060#comment_14768305。 我想做的是

int OnInit()
  {
     {
      struct MyPoint// локально объявил структуру внутри функции
        {
         int         x[5];
         int         y;
        };
      MyPoint qw1;
      EqualPointsP(qw1);// передал структуру в функцию EqualPointsP

     }
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason) {}

bool EqualPointsP(MyPoint & qw)
  {
   Print("EqualPointsP ");
   bool f = true;
   return f;
  }

有可能做到这一点吗?

 
Seric29:

谁对这个问题有更多的发言权https://www.mql5.com/ru/forum/160683/page1054#comment_14760155 。 据我所知,你不能把局部结构传入函数,它们在整个函数中总是可见的https://www.mql5.com/ru/forum/160683/page1060#comment_14768305。 我想做的是

有可能做到这一点吗?

使用代码样式器(Ctrl + <)--无法分辨你的括号放在哪里和如何放置--所有东西都是歪的。出于这个原因,我个人没有看。我试过了,但我的眼睛说放下它,所以我就放下了......。

 
MakarFX:

你是上帝!这个决定是如此简单,而你却保持沉默。

谢谢你。

我没有保持沉默,我表达了我十年来的记忆。但一段时间后,发生了变化,我的知识变得过时了。为了教你一些东西,我不得不写代码,用不同的变体进行检查。而这一切本可以也应该由你来检查。

这是为未来准备的。好运。

 
Artyom Trishkin:

使用代码样式器(Ctrl + <)--不可能从飞行中确定你的括号在哪里以及如何放置--所有东西都是歪的。由于这个原因,我个人还没有看。我试过了,但我的眼睛说--放下它--我就放下了......。

嗯,基本上没有什么风格化的东西,你可以复制粘贴到MT4中,我基本上就是这样写的,只是更简洁。好吧,我已经改正了。这种结构到底能不能通过?

 
Seric29:

嗯,基本上没有什么风格化的东西,你可以复制粘贴到MT4中,我基本上就是这样写的,只是更简洁。好吧,我已经改正了。 这种结构到底能不能转让?

但我可以亲自检查吗?这很难吗?而我为什么要写不必要的东西呢?

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   struct MyPoint// локально объявил структуру внутри функции
     {
      int         x[5];
      int         y;
     } qw1;

   EqualPointsP(qw1);// передал структуру в функцию EqualPointsP
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool EqualPointsP(MyPoint &qw)
  {
   Print("EqualPointsP ");
   return true;
  }

我还没有检查。是什么阻止了你?

原因: